Package Information
Documentation
@fedcairo/n8n-nodes-chatwoot
Community node for N8N that provides deep integration with Chatwoot customer support platform.
Features
๐ฏ Two Powerful Nodes
1. Chatwoot - Action Node
Control conversations and messages across WhatsApp, Instagram, and Facebook Messenger:
Message Operations:
- โ๏ธ Send text messages
- ๐ Send media (images, videos, audio, documents)
- ๐ Send private notes (internal team communication)
Conversation Operations:
- โ Mark as read
- โจ๏ธ Toggle typing indicator (realistic UX)
- ๐ Change conversation status (open/resolved/pending/snoozed)
2. Chatwoot Trigger - Webhook Node
Clean, parsed webhooks that eliminate Chatwoot's verbose payload:
Features:
- ๐งน Clean Data: Only essential information (90% smaller payload)
- ๐ Smart Filtering: By event type and channel
- ๐ฏ Channel Detection: Auto-identifies WhatsApp, Instagram, Facebook, Email, Website
- ๐ฆ Simplified Attachments: Direct URLs and types
Clean Output Example:
{
"event": "message_created",
"accountId": 1,
"conversationId": 123,
"messageId": 456,
"channel": {
"type": "Channel::Whatsapp",
"name": "WhatsApp Support",
"inboxId": 789
},
"message": {
"content": "Hello!",
"contentType": "text",
"messageType": "incoming",
"attachments": [
{
"type": "image",
"url": "https://...",
"extension": "jpg"
}
]
},
"contact": {
"id": 999,
"name": "John Doe",
"phone": "+1234567890"
}
}
Installation
In N8N Cloud or Self-Hosted:
# From N8N UI: Settings โ Community Nodes โ Install
@fedcairo/n8n-nodes-chatwoot
In Docker N8N:
docker exec -it <n8n-container> sh
cd ~/.n8n/nodes
npm install @fedcairo/n8n-nodes-chatwoot
exit
docker restart <n8n-container>
Manual Installation:
cd ~/.n8n/nodes
npm install @fedcairo/n8n-nodes-chatwoot
# Restart N8N
Configuration
1. Create Chatwoot API Credentials
- Go to User Settings โ Profile Settings
- Generate Access Token
- Copy the token
2. Configure in N8N
- Add Chatwoot API credential
- Enter your Chatwoot URL (e.g.,
https://app.chatwoot.comor self-hosted) - Paste your API Access Token
- Test connection
3. Configure Webhook (for Trigger Node)
- In Chatwoot: Settings โ Integrations โ Webhooks
- Add webhook URL from N8N Chatwoot Trigger node
- Select events:
message_created,conversation_status_changed, etc.
Usage Examples
Example 1: AI Customer Support Bot
Chatwoot Trigger (incoming message)
โ
AI Agent (Groq/OpenAI) - Generate response
โ
Chatwoot (Toggle Typing: ON)
โ
Wait (realistic delay based on message length)
โ
Chatwoot (Send Text) - Send AI response
โ
Chatwoot (Mark as Read)
โ
Chatwoot (Toggle Typing: OFF)
Example 2: Send Property Images (Real Estate)
Webhook Trigger (property inquiry)
โ
Search Properties API
โ
Chatwoot (Toggle Typing: ON)
โ
Chatwoot (Send Media) - Property image
โ
Chatwoot (Send Text) - Property details
โ
Chatwoot (Mark as Read)
Example 3: Auto-Close Resolved Conversations
Chatwoot Trigger (filter: conversation_status_changed)
โ
IF (status = "resolved")
โ
Wait 24 hours
โ
Chatwoot (Change Status: snoozed)
API Reference
Chatwoot Node
Required Fields:
Account ID: Your Chatwoot account ID (found in URL)Conversation ID: The conversation ID to act upon
Operations:
| Resource | Operation | Description |
|---|---|---|
| Message | Send Text | Send text message to conversation |
| Message | Send Media | Send image/video/audio/document |
| Conversation | Mark as Read | Mark conversation as read |
| Conversation | Toggle Typing | Show/hide typing indicator |
| Conversation | Change Status | Update conversation status |
Chatwoot Trigger Node
Configuration:
| Field | Type | Description |
|---|---|---|
| Event Type | Dropdown | Filter by specific events or "All Events" |
| Filter Channels | Multi-select | Only trigger for WhatsApp, Facebook, Instagram, etc. |
| Include Message Data | Boolean | Include detailed message content |
| Include Contact Data | Boolean | Include contact information |
Supported Events:
message_createdmessage_updatedconversation_createdconversation_status_changed
Supported Channels:
- WhatsApp (
Channel::Whatsapp) - Facebook Messenger (
Channel::FacebookPage) - Instagram Direct Messages (auto-detected)
- Email (
Channel::Email) - Website (
Channel::WebWidget) - API (
Channel::Api)
Benefits Over HTTP Request Nodes
โ
Simpler: No need to construct URLs or headers manually
โ
Validated: Built-in parameter validation
โ
Typed: Autocomplete for all operations
โ
Clean Data: Trigger node eliminates 90% of unnecessary payload
โ
Error Handling: Better error messages and debugging
โ
Future-Proof: Auto-updates when Chatwoot API changes
Compatibility
- N8N Version: 1.0.0+
- Chatwoot Version: v4.1.0+ (tested up to v4.7.0)
- Channels: WhatsApp, Instagram, Facebook Messenger, Email, Website, API
Support
- Issues: GitHub Issues
- NPM: @fedcairo/n8n-nodes-chatwoot
- Author: Federico Aivence (federico@aivence.com)
License
MIT License - see LICENSE file for details
Credits
Created by Federico Aivence for the N8N and Chatwoot communities.
Special thanks to:
- N8N team for the amazing automation platform
- Chatwoot team for the open-source customer support platform
Made with โค๏ธ for the automation community

