@renatoascencio/n8n-nodes-chatwoot
v0.4.3
Published
n8n community node for Chatwoot - customer engagement platform for managing conversations, messages, and contacts
Downloads
710
Maintainers
Readme
n8n-nodes-chatwoot
A comprehensive n8n community node for Chatwoot - the open-source customer engagement platform. Automate your customer support workflows with full access to conversations, messages, contacts, agents, teams, and more.
n8n is a fair-code licensed workflow automation platform.
Highlights
- 27 Resources - Comprehensive coverage of Application, Platform, and Public APIs
- 130+ Operations - Complete CRUD operations for all resources
- 3 API Types - Application API, Platform API, and Public API support
- Trigger Node - Real-time webhook events from Chatwoot
- Dynamic Dropdowns - Auto-populated lists for agents, teams, inboxes, and labels
- Smart Pagination - Automatic handling with "Return All" option
- Reports & Analytics - Access conversation and agent statistics
- Help Center - Manage portals, categories, and articles
- Detailed Error Messages - Clear feedback for troubleshooting
Table of Contents
- Installation
- Configuration
- Nodes
- Resources & Operations
- Usage Examples
- Troubleshooting
- Contributing
- License
Installation
Community Nodes (Recommended)
- Go to Settings > Community Nodes in your n8n instance
- Select Install
- Enter
@renatoascencio/n8n-nodes-chatwoot - Accept the risks and select Install
Manual Installation
# For self-hosted n8n
cd ~/.n8n/nodes
npm install @renatoascencio/n8n-nodes-chatwoot
# Restart n8nDocker
Add to your docker-compose.yml:
environment:
- N8N_CUSTOM_EXTENSIONS=@renatoascencio/n8n-nodes-chatwootOr install in a running container:
docker exec -it n8n npm install -g @renatoascencio/n8n-nodes-chatwoot
docker restart n8nConfiguration
This node supports three types of credentials for different API access levels:
1. Chatwoot API (Application API)
Used for most operations - managing conversations, contacts, messages, teams, etc.
- In n8n, go to Credentials > Add Credential
- Search for Chatwoot API
- Fill in the required fields:
| Field | Description | Example |
|-------|-------------|---------|
| Base URL | Your Chatwoot instance URL | https://app.chatwoot.com or https://chatwoot.yourdomain.com |
| Account ID | Your Chatwoot account ID | Found in URL: /app/accounts/1/... |
| API Access Token | Your personal API token | Found in Profile Settings |
Getting Your API Access Token:
- Log in to Chatwoot
- Click your profile icon (bottom left)
- Go to Profile Settings
- Scroll to Access Token
- Copy or regenerate your token
2. Chatwoot Platform API
Used for platform-level operations - managing accounts, platform users, and account agent bots. Requires super admin access.
| Field | Description | Example |
|-------|-------------|---------|
| Base URL | Your Chatwoot instance URL | https://app.chatwoot.com |
| Platform API Token | Super admin platform token | Found in Super Admin settings |
3. Chatwoot Public API
Used for client-side/widget operations - creating contacts and conversations from external sources.
| Field | Description | Example |
|-------|-------------|---------|
| Base URL | Your Chatwoot instance URL | https://app.chatwoot.com |
| Inbox Identifier | The unique identifier for your inbox | Found in inbox settings (e.g., abc123xyz) |
Note: Keep your API tokens secure. They provide access to your Chatwoot account.
Nodes
Chatwoot Node
The main node for interacting with Chatwoot APIs. Supports 27 resources across three API types:
- Application API (20 resources) - Core operations for conversations, contacts, messages, etc.
- Platform API (4 resources) - Admin operations for accounts, users, and agent bots
- Public API (3 resources) - Client-side operations for widgets and external integrations
Chatwoot Trigger
Webhook-based trigger that starts workflows when events occur in Chatwoot. Automatically registers and manages webhooks in your Chatwoot account.
Supported Events:
conversation_created- New conversation startedconversation_status_changed- Status changed (open/resolved/pending/snoozed)conversation_updated- Conversation modifiedmessage_created- New message sent or receivedmessage_updated- Message editedcontact_created- New contact addedcontact_updated- Contact information changedwebwidget_triggered- Web widget interaction
Resources & Operations
Account
Manage your Chatwoot account settings.
| Operation | Description | |-----------|-------------| | Get | Get account information | | Update | Update account settings (name, locale, support email, auto-resolve duration) |
Agent
Manage team members and their settings.
| Operation | Description | |-----------|-------------| | Get Many | List all agents in the account | | Create | Add a new agent (requires email, name, role) | | Update | Modify agent settings (role, availability, auto-offline) | | Delete | Remove an agent from the account |
Canned Response
Manage pre-saved response templates.
| Operation | Description | |-----------|-------------| | Get Many | List all canned responses | | Create | Create a new canned response (short code + content) | | Update | Modify an existing canned response | | Delete | Remove a canned response |
Contact
Full contact management with search and merge capabilities.
| Operation | Description | |-----------|-------------| | Create | Create a new contact (requires inbox_id) | | Get | Retrieve a contact by ID | | Get Many | List all contacts with pagination | | Update | Modify contact details | | Delete | Remove a contact | | Search | Find contacts by name, email, phone, or identifier | | Get Conversations | List all conversations for a contact | | Merge | Merge two contacts into one | | Filter | Filter contacts with advanced criteria | | Add Labels | Add labels to a contact | | List Labels | Get all labels for a contact |
Conversation
Manage customer conversations with assignment and labeling.
| Operation | Description | |-----------|-------------| | Get | Get a single conversation with full details | | Get Many | List conversations with filters (status, inbox, team, labels, search) | | Create | Create a new conversation | | Update Status | Change status to open, resolved, pending, or snoozed | | Update | Update conversation (custom attributes, team, etc.) | | Assign | Assign to an agent or team (with dynamic dropdowns) | | Add Labels | Set labels on a conversation | | List Labels | Get all labels for a conversation | | Toggle Priority | Set conversation priority (urgent, high, medium, low, none) | | Filter | Filter conversations with advanced criteria | | Update Custom Attributes | Set custom attributes on conversation | | Get Meta | Get conversation metadata |
Custom Attribute
Manage custom fields for contacts and conversations.
| Operation | Description | |-----------|-------------| | Get Many | List all custom attributes | | Get | Get a specific attribute by key | | Create | Create a new custom attribute | | Update | Modify an existing attribute | | Delete | Remove a custom attribute |
Inbox
Manage communication channels.
| Operation | Description | |-----------|-------------| | Get Many | List all inboxes | | Get | Get inbox details | | Create | Create a new inbox | | Update | Modify inbox settings (name, greeting, auto-assignment, etc.) | | Add Agent | Add an agent to an inbox | | Delete Agent | Remove an agent from an inbox | | Get Members | List inbox members | | Get Agent Bot | Get associated agent bot | | Set Agent Bot | Associate an agent bot with inbox |
Label
Organize conversations and contacts with labels.
| Operation | Description | |-----------|-------------| | Get Many | List all labels | | Create | Create a new label (title, color, description) | | Update | Modify label properties | | Delete | Remove a label |
Message
Send and retrieve messages in conversations.
| Operation | Description | |-----------|-------------| | Create | Send a message (supports private notes) | | Get Many | Retrieve message history with cursor-based pagination | | Update | Update an existing message | | Delete | Delete a message |
Team
Manage agent teams for conversation routing.
| Operation | Description | |-----------|-------------| | Get Many | List all teams | | Get | Get team details | | Create | Create a new team | | Update | Modify team settings | | Delete | Remove a team | | Add Agent | Add an agent to a team | | Delete Agent | Remove an agent from a team | | Get Members | List team members | | Update Agents | Update team agent memberships |
Webhook
Manage webhook subscriptions programmatically.
| Operation | Description | |-----------|-------------| | Get Many | List all webhooks | | Create | Register a new webhook URL with event subscriptions | | Update | Modify webhook URL or subscriptions | | Delete | Remove a webhook |
Agent Bot
Manage AI agent bots.
| Operation | Description | |-----------|-------------| | Get Many | List all agent bots | | Get | Retrieve an agent bot by ID | | Create | Create a new agent bot | | Update | Modify agent bot settings | | Delete | Remove an agent bot |
Automation Rule
Manage automation rules for conversations.
| Operation | Description | |-----------|-------------| | Get Many | List all automation rules | | Get | Retrieve an automation rule by ID | | Create | Create a new automation rule | | Update | Modify automation rule settings | | Delete | Remove an automation rule |
Custom Filter
Manage saved filters for conversations and contacts.
| Operation | Description | |-----------|-------------| | Get Many | List all custom filters | | Get | Retrieve a custom filter by ID | | Create | Create a new custom filter | | Update | Modify filter settings | | Delete | Remove a custom filter |
Report
Access analytics and reporting data.
| Operation | Description | |-----------|-------------| | Account Summary | Get account-level report summary | | Agent Statistics | Get agent conversation metrics | | Conversation Counts | Get conversation counts by status | | Conversation Statistics | Get statistics grouped by agent, inbox, team, or channel |
Profile
Manage user profile.
| Operation | Description | |-----------|-------------| | Fetch | Get the authenticated user's profile |
Help Center
Manage knowledge base content.
| Operation | Description | |-----------|-------------| | Create Portal | Create a new help center portal | | Get Portal | Retrieve portal details by slug | | Update Portal | Modify portal settings | | Create Category | Add a category to a portal | | Create Article | Add an article to a portal |
Integration
Manage integrations (Dialogflow, Slack, etc.).
| Operation | Description | |-----------|-------------| | Get Many | List all integrations | | Create Hook | Create an integration hook | | Update Hook | Modify hook settings | | Delete Hook | Remove an integration hook |
Audit Log
Access account activity logs.
| Operation | Description | |-----------|-------------| | Get Many | Retrieve account audit logs |
CSAT Survey
Access customer satisfaction surveys.
| Operation | Description | |-----------|-------------| | Get | Get CSAT survey for a conversation |
Platform API Resources
These resources require the Chatwoot Platform API credential.
Platform Account
Manage accounts at the platform level.
| Operation | Description | |-----------|-------------| | Create | Create a new account | | Get | Retrieve account details | | Update | Modify account settings | | Delete | Remove an account |
Platform User
Manage users at the platform level.
| Operation | Description | |-----------|-------------| | Create | Create a new platform user | | Get | Retrieve user details | | Update | Modify user settings | | Delete | Remove a user | | Get SSO URL | Generate SSO login URL |
Account User
Manage users within a specific account.
| Operation | Description | |-----------|-------------| | Get Many | List all users in an account | | Create | Add a user to an account | | Delete | Remove a user from an account |
Account Agent Bot
Manage agent bots at the account level.
| Operation | Description | |-----------|-------------| | Get Many | List all account agent bots | | Get | Retrieve an agent bot by ID | | Create | Create a new account agent bot | | Update | Modify agent bot settings | | Delete | Remove an account agent bot |
Public API Resources
These resources require the Chatwoot Public API credential.
Public Contact
Manage contacts via the public API.
| Operation | Description | |-----------|-------------| | Create | Create a contact via public API | | Get | Retrieve contact details | | Update | Update contact information |
Public Conversation
Manage conversations via the public API.
| Operation | Description | |-----------|-------------| | Create | Create a conversation via public API | | Get | Retrieve a conversation | | Get Many | List all conversations for a contact | | Resolve | Resolve/toggle conversation status | | Toggle Typing | Show typing indicator | | Update Last Seen | Mark messages as seen |
Public Message
Manage messages via the public API.
| Operation | Description | |-----------|-------------| | Create | Send a message via public API | | Get Many | List messages in a conversation | | Update | Update a message |
Usage Examples
Auto-Reply to New Conversations
Chatwoot Trigger (conversation_created)
→ Chatwoot (Create Message)Automatically send a welcome message when a new conversation is created.
Sync Contacts from Your CRM
CRM Trigger (new lead)
→ Chatwoot (Create Contact)Keep your Chatwoot contacts in sync with your CRM.
Close Stale Conversations
Schedule Trigger (daily)
→ Chatwoot (Get Many Conversations: status=pending)
→ Filter (older than 7 days)
→ Chatwoot (Update Status: resolved)Automatically resolve conversations that have been inactive.
Route Conversations by Label
Chatwoot Trigger (conversation_updated)
→ IF (label = "urgent")
→ Chatwoot (Assign to specific team)
→ ELSE
→ Chatwoot (Assign to general team)Auto-assign conversations based on labels.
Daily Agent Performance Report
Schedule Trigger (daily)
→ Chatwoot (Get Many Conversations: resolved today)
→ Aggregate by agent
→ Email (send report)Generate daily performance metrics.
Contact Merge Deduplication
Webhook (CRM update)
→ Chatwoot (Search Contact by email)
→ IF (multiple found)
→ Chatwoot (Merge Contacts)Automatically merge duplicate contacts.
Troubleshooting
Common Errors
| Error | Cause | Solution | |-------|-------|----------| | 401 Unauthorized | Invalid API token | Regenerate your API Access Token | | 403 Forbidden | Insufficient permissions | Use an Administrator account or check inbox access | | 404 Not Found | Resource doesn't exist | Verify the ID is correct | | 422 Unprocessable Entity | Invalid data format | Check required fields and data types | | 429 Rate Limited | Too many requests | Wait 60 seconds (limit: 60 req/min) |
Base URL Configuration
| Instance Type | Base URL |
|--------------|----------|
| Chatwoot Cloud | https://app.chatwoot.com |
| Self-hosted | https://your-domain.com |
Important: Do not include
/api/v1or trailing slashes.
Permission Levels
| Role | Access | |------|--------| | Administrator | All resources, all inboxes | | Agent | Only assigned inboxes, limited operations |
Webhook Issues
If the Chatwoot Trigger isn't receiving events:
- Check that your n8n instance is publicly accessible
- Verify the webhook was created in Chatwoot (Settings > Integrations > Webhooks)
- Ensure the selected events match what Chatwoot is sending
- Check n8n's execution log for incoming requests
API Reference
This node uses three Chatwoot APIs:
- Application API - Core API for managing conversations, contacts, messages, etc.
- Platform API - Admin API for managing accounts, users, and agent bots (requires super admin access)
- Public API - Client-side API for widgets and external integrations
API Documentation
- Chatwoot Application API Reference
- Chatwoot Platform API Reference
- Chatwoot Public API Reference
- Webhooks Documentation
- API Authentication
Contributing
Contributions are welcome! See CLAUDE.md for development guidelines.
# Clone and setup
git clone https://github.com/RenatoAscencio/n8n-nodes-chatwoot.git
cd n8n-nodes-chatwoot
npm install
# Development
npm run build # Compile TypeScript
npm run lint # Check code style
npm run lint:fix # Auto-fix issues
npm test # Run tests
npm run format # Format with Prettier
# Link for local testing
npm link
cd ~/.n8n/nodes && npm link @renatoascencio/n8n-nodes-chatwootChangelog
See CHANGELOG.md for release history.
License
MIT - See LICENSE file for details.
Support
- Issues: GitHub Issues
- Chatwoot Docs: chatwoot.com/developers
- n8n Community: community.n8n.io
