Integrate with Chatwoot to list and manage conversations, send messages, manage contacts, assign agents, and apply labels. Works with self-hosted and cloud Chatwoot instances.
List conversations from a Chatwoot account with optional status and assignee filters
| Parameter | Type | Required | Description |
|---|
baseUrl | string | Yes | Chatwoot instance URL (e.g., https://app.chatwoot.com) |
apiAccessToken | string | Yes | Chatwoot API access token |
accountId | string | Yes | Chatwoot account ID |
status | string | No | Filter by status: open, resolved, pending, snoozed, all |
assignee_type | string | No | Filter by assignee type: me, unassigned, all, assigned |
page | number | No | Page number for pagination (starts at 1) |
| Parameter | Type | Description |
|---|
conversations | array | Array of conversation objects |
↳ id | number | Conversation ID |
↳ account_id | number | Account ID |
↳ inbox_id | number | Inbox ID |
↳ status | string | Conversation status (open, resolved, pending, snoozed) |
↳ agent_last_seen_at | string | Timestamp when the agent last viewed |
↳ contact_last_seen_at | string | Timestamp when the contact last viewed |
↳ created_at | string | Conversation creation timestamp |
↳ updated_at | string | Conversation last updated timestamp |
↳ priority | string | Priority (nil, urgent, high, medium, low) |
↳ unread_count | number | Number of unread messages |
↳ labels | array | Labels assigned to the conversation |
↳ meta | object | Conversation metadata (sender, assignee, team, etc.) |
↳ messages | array | Recent messages in the conversation |
↳ id | number | Message ID |
↳ content | string | Message content |
↳ message_type | string | Message type (incoming, outgoing, activity) |
↳ created_at | number | Unix timestamp of message creation |
↳ private | boolean | Whether the message is private (internal note) |
meta | object | Pagination and filter metadata |
success | boolean | Operation success status |
Get details of a specific conversation by ID from Chatwoot
| Parameter | Type | Required | Description |
|---|
baseUrl | string | Yes | Chatwoot instance URL (e.g., https://app.chatwoot.com) |
apiAccessToken | string | Yes | Chatwoot API access token |
accountId | string | Yes | Chatwoot account ID |
conversationId | string | Yes | The conversation ID to retrieve |
| Parameter | Type | Description |
|---|
conversation | object | Conversation details |
↳ id | number | Conversation ID |
↳ account_id | number | Account ID |
↳ inbox_id | number | Inbox ID |
↳ status | string | Conversation status (open, resolved, pending, snoozed) |
↳ agent_last_seen_at | string | Timestamp when the agent last viewed |
↳ contact_last_seen_at | string | Timestamp when the contact last viewed |
↳ created_at | string | Conversation creation timestamp |
↳ updated_at | string | Conversation last updated timestamp |
↳ priority | string | Priority (nil, urgent, high, medium, low) |
↳ unread_count | number | Number of unread messages |
↳ labels | array | Labels assigned to the conversation |
↳ meta | object | Conversation metadata (sender, assignee, team, etc.) |
↳ messages | array | Recent messages in the conversation |
↳ id | number | Message ID |
↳ content | string | Message content |
↳ message_type | string | Message type (incoming, outgoing, activity) |
↳ created_at | number | Unix timestamp of message creation |
↳ private | boolean | Whether the message is private (internal note) |
success | boolean | Operation success status |
Send a message in a Chatwoot conversation
| Parameter | Type | Required | Description |
|---|
baseUrl | string | Yes | Chatwoot instance URL (e.g., https://app.chatwoot.com) |
apiAccessToken | string | Yes | Chatwoot API access token |
accountId | string | Yes | Chatwoot account ID |
conversationId | string | Yes | The conversation ID to send the message to |
content | string | Yes | The message content to send |
message_type | string | No | Message type: outgoing (default) or incoming |
private | boolean | No | Whether the message is a private note (internal) |
| Parameter | Type | Description |
|---|
message | object | The sent message object |
↳ id | number | Message ID |
↳ content | string | Message content |
↳ message_type | string | Message type: incoming (0), outgoing (1), activity (2) |
↳ content_type | string | Content type (text, input_select, etc.) |
↳ content_attributes | object | Additional content attributes |
↳ created_at | number | Unix timestamp of message creation |
↳ private | boolean | Whether the message is private (internal note) |
↳ sender | object | Message sender details |
↳ id | number | Sender ID |
↳ name | string | Sender name |
↳ email | string | Sender email |
↳ phone_number | string | Sender phone number |
↳ thumbnail | string | Sender avatar URL |
↳ type | string | Sender type (contact) |
↳ conversation_id | number | Conversation this message belongs to |
↳ account_id | number | Account ID |
messageId | number | ID of the sent message |
success | boolean | Operation success status |
Send a WhatsApp template message in a Chatwoot conversation. Requires a pre-approved template name and its parameters.
| Parameter | Type | Required | Description |
|---|
baseUrl | string | Yes | Chatwoot instance URL (e.g., https://app.chatwoot.com) |
apiAccessToken | string | Yes | Chatwoot API access token |
accountId | string | Yes | Chatwoot account ID |
conversationId | string | Yes | The conversation ID to send the template message to |
content | string | Yes | The rendered message text (fallback shown if template fails) |
templateName | string | Yes | The WhatsApp-approved template name (e.g., "technician_visit") |
templateLanguage | string | Yes | Template language code (e.g., "en_US", "en", "es") |
templateCategory | string | No | Template category: UTILITY, MARKETING, or AUTHENTICATION |
processedParams | string | No | JSON object with template variable substitutions. Supports body params (e.g., {"body": {"1": "John", "2": "Dubai"}}) and header media (e.g., {"body": {...}, "header": {"media_url": "https://...", "media_type": "image"}}) |
| Parameter | Type | Description |
|---|
message | object | The sent template message object |
↳ id | number | Message ID |
↳ content | string | Message content |
↳ message_type | string | Message type: incoming (0), outgoing (1), activity (2) |
↳ content_type | string | Content type (text, input_select, etc.) |
↳ content_attributes | object | Additional content attributes |
↳ created_at | number | Unix timestamp of message creation |
↳ private | boolean | Whether the message is private (internal note) |
↳ sender | object | Message sender details |
↳ id | number | Sender ID |
↳ name | string | Sender name |
↳ email | string | Sender email |
↳ phone_number | string | Sender phone number |
↳ thumbnail | string | Sender avatar URL |
↳ type | string | Sender type (contact) |
↳ conversation_id | number | Conversation this message belongs to |
↳ account_id | number | Account ID |
messageId | number | ID of the sent message |
success | boolean | Operation success status |
Send a message with a file attachment in a Chatwoot conversation. Supports uploaded files or external URLs.
| Parameter | Type | Required | Description |
|---|
baseUrl | string | Yes | Chatwoot instance URL (e.g., https://app.chatwoot.com) |
apiAccessToken | string | Yes | Chatwoot API access token |
accountId | string | Yes | Chatwoot account ID |
conversationId | string | Yes | The conversation ID to send the attachment to |
content | string | No | Optional text caption for the attachment |
message_type | string | No | Message type: outgoing (default) or incoming |
file | file | No | File to attach (from upload or another block) |
attachmentUrl | string | No | URL of the file to attach (alternative to file upload) |
file_type | string | No | Type of file: image, audio, video, or file (auto-detected if omitted) |
| Parameter | Type | Description |
|---|
message | object | The sent message with attachment object |
↳ id | number | Message ID |
↳ content | string | Message content |
↳ message_type | string | Message type: incoming (0), outgoing (1), activity (2) |
↳ content_type | string | Content type (text, input_select, etc.) |
↳ content_attributes | object | Additional content attributes |
↳ created_at | number | Unix timestamp of message creation |
↳ private | boolean | Whether the message is private (internal note) |
↳ sender | object | Message sender details |
↳ id | number | Sender ID |
↳ name | string | Sender name |
↳ email | string | Sender email |
↳ phone_number | string | Sender phone number |
↳ thumbnail | string | Sender avatar URL |
↳ type | string | Sender type (contact) |
↳ conversation_id | number | Conversation this message belongs to |
↳ account_id | number | Account ID |
messageId | number | ID of the sent message |
success | boolean | Operation success status |
Change the status of a Chatwoot conversation (open, resolved, pending, snoozed)
| Parameter | Type | Required | Description |
|---|
baseUrl | string | Yes | Chatwoot instance URL (e.g., https://app.chatwoot.com) |
apiAccessToken | string | Yes | Chatwoot API access token |
accountId | string | Yes | Chatwoot account ID |
conversationId | string | Yes | The conversation ID to update |
status | string | Yes | Target status: open, resolved, pending, or snoozed |
snoozed_until | string | No | Unix timestamp until when to snooze (required when status is snoozed) |
| Parameter | Type | Description |
|---|
current_status | string | The new status of the conversation |
conversation_id | number | Conversation ID |
success | boolean | Operation success status |
Assign a Chatwoot conversation to an agent or team
| Parameter | Type | Required | Description |
|---|
baseUrl | string | Yes | Chatwoot instance URL (e.g., https://app.chatwoot.com) |
apiAccessToken | string | Yes | Chatwoot API access token |
accountId | string | Yes | Chatwoot account ID |
conversationId | string | Yes | The conversation ID to assign |
assignee_id | string | No | Agent ID to assign the conversation to |
team_id | string | No | Team ID to assign the conversation to |
| Parameter | Type | Description |
|---|
assignee_id | number | Assigned agent ID |
team_id | number | Assigned team ID |
success | boolean | Operation success status |
Add labels to a Chatwoot conversation (replaces existing labels)
| Parameter | Type | Required | Description |
|---|
baseUrl | string | Yes | Chatwoot instance URL (e.g., https://app.chatwoot.com) |
apiAccessToken | string | Yes | Chatwoot API access token |
accountId | string | Yes | Chatwoot account ID |
conversationId | string | Yes | The conversation ID to add labels to |
labels | json | Yes | JSON array of label names to set on the conversation (e.g., ["support", "urgent"]) |
| Parameter | Type | Description |
|---|
labels | array | Labels now set on the conversation |
success | boolean | Operation success status |
List all contacts from a Chatwoot account with pagination support
| Parameter | Type | Required | Description |
|---|
baseUrl | string | Yes | Chatwoot instance URL (e.g., https://app.chatwoot.com) |
apiAccessToken | string | Yes | Chatwoot API access token |
accountId | string | Yes | Chatwoot account ID |
page | number | No | Page number for pagination (starts at 1) |
| Parameter | Type | Description |
|---|
contacts | array | Array of contact objects |
↳ id | number | Contact ID |
↳ name | string | Contact name |
↳ email | string | Contact email |
↳ phone_number | string | Contact phone number |
↳ thumbnail | string | Contact avatar URL |
↳ identifier | string | External identifier |
↳ custom_attributes | object | Custom attributes on the contact |
↳ created_at | string | Contact creation timestamp |
↳ updated_at | string | Contact last updated timestamp |
↳ availability_status | string | Availability (online, offline) |
↳ last_activity_at | string | Last activity timestamp |
meta | object | Pagination metadata |
success | boolean | Operation success status |
Get details of a specific contact by ID from Chatwoot
| Parameter | Type | Required | Description |
|---|
baseUrl | string | Yes | Chatwoot instance URL (e.g., https://app.chatwoot.com) |
apiAccessToken | string | Yes | Chatwoot API access token |
accountId | string | Yes | Chatwoot account ID |
contactId | string | Yes | The contact ID to retrieve |
| Parameter | Type | Description |
|---|
contact | object | Contact details |
↳ id | number | Contact ID |
↳ name | string | Contact name |
↳ email | string | Contact email |
↳ phone_number | string | Contact phone number |
↳ thumbnail | string | Contact avatar URL |
↳ identifier | string | External identifier |
↳ custom_attributes | object | Custom attributes on the contact |
↳ created_at | string | Contact creation timestamp |
↳ updated_at | string | Contact last updated timestamp |
↳ availability_status | string | Availability (online, offline) |
↳ last_activity_at | string | Last activity timestamp |
success | boolean | Operation success status |
Create a new contact in Chatwoot
| Parameter | Type | Required | Description |
|---|
baseUrl | string | Yes | Chatwoot instance URL (e.g., https://app.chatwoot.com) |
apiAccessToken | string | Yes | Chatwoot API access token |
accountId | string | Yes | Chatwoot account ID |
name | string | No | Contact name |
email | string | No | Contact email address |
phone_number | string | No | Contact phone number (with country code, e.g., +1234567890) |
inbox_id | string | No | Inbox ID to associate the contact with |
identifier | string | No | External unique identifier for the contact |
custom_attributes | json | No | Custom attributes as a JSON object |
| Parameter | Type | Description |
|---|
contact | object | Created contact details |
↳ id | number | Contact ID |
↳ name | string | Contact name |
↳ email | string | Contact email |
↳ phone_number | string | Contact phone number |
↳ thumbnail | string | Contact avatar URL |
↳ identifier | string | External identifier |
↳ custom_attributes | object | Custom attributes on the contact |
↳ created_at | string | Contact creation timestamp |
↳ updated_at | string | Contact last updated timestamp |
↳ availability_status | string | Availability (online, offline) |
↳ last_activity_at | string | Last activity timestamp |
contactId | number | ID of the created contact |
success | boolean | Operation success status |
Update an existing contact in Chatwoot
| Parameter | Type | Required | Description |
|---|
baseUrl | string | Yes | Chatwoot instance URL (e.g., https://app.chatwoot.com) |
apiAccessToken | string | Yes | Chatwoot API access token |
accountId | string | Yes | Chatwoot account ID |
contactId | string | Yes | The contact ID to update |
name | string | No | Updated contact name |
email | string | No | Updated contact email |
phone_number | string | No | Updated phone number |
identifier | string | No | Updated external identifier |
custom_attributes | json | No | Custom attributes to update as a JSON object |
| Parameter | Type | Description |
|---|
contact | object | Updated contact details |
↳ id | number | Contact ID |
↳ name | string | Contact name |
↳ email | string | Contact email |
↳ phone_number | string | Contact phone number |
↳ thumbnail | string | Contact avatar URL |
↳ identifier | string | External identifier |
↳ custom_attributes | object | Custom attributes on the contact |
↳ created_at | string | Contact creation timestamp |
↳ updated_at | string | Contact last updated timestamp |
↳ availability_status | string | Availability (online, offline) |
↳ last_activity_at | string | Last activity timestamp |
success | boolean | Operation success status |
Search contacts in Chatwoot by name, email, phone number, or identifier
| Parameter | Type | Required | Description |
|---|
baseUrl | string | Yes | Chatwoot instance URL (e.g., https://app.chatwoot.com) |
apiAccessToken | string | Yes | Chatwoot API access token |
accountId | string | Yes | Chatwoot account ID |
q | string | Yes | Search query (searches name, email, phone, identifier) |
page | number | No | Page number for pagination |
| Parameter | Type | Description |
|---|
contacts | array | Array of matching contact objects |
↳ id | number | Contact ID |
↳ name | string | Contact name |
↳ email | string | Contact email |
↳ phone_number | string | Contact phone number |
↳ thumbnail | string | Contact avatar URL |
↳ identifier | string | External identifier |
↳ custom_attributes | object | Custom attributes on the contact |
↳ created_at | string | Contact creation timestamp |
↳ updated_at | string | Contact last updated timestamp |
↳ availability_status | string | Availability (online, offline) |
↳ last_activity_at | string | Last activity timestamp |
meta | object | Pagination metadata |
success | boolean | Operation success status |
List all labels in a Chatwoot account
| Parameter | Type | Required | Description |
|---|
baseUrl | string | Yes | Chatwoot instance URL (e.g., https://app.chatwoot.com) |
apiAccessToken | string | Yes | Chatwoot API access token |
accountId | string | Yes | Chatwoot account ID |
| Parameter | Type | Description |
|---|
labels | array | Array of label objects |
↳ id | number | Label ID |
↳ title | string | Label title |
↳ description | string | Label description |
↳ color | string | Label color hex code |
↳ show_on_sidebar | boolean | Whether shown on sidebar |
success | boolean | Operation success status |
List all agents in a Chatwoot account
| Parameter | Type | Required | Description |
|---|
baseUrl | string | Yes | Chatwoot instance URL (e.g., https://app.chatwoot.com) |
apiAccessToken | string | Yes | Chatwoot API access token |
accountId | string | Yes | Chatwoot account ID |
| Parameter | Type | Description |
|---|
agents | array | Array of agent objects |
↳ id | number | Agent ID |
↳ name | string | Agent name |
↳ email | string | Agent email |
↳ role | string | Agent role (agent, administrator) |
↳ availability_status | string | Availability (online, busy, offline) |
↳ thumbnail | string | Agent avatar URL |
success | boolean | Operation success status |
List all inboxes in a Chatwoot account
| Parameter | Type | Required | Description |
|---|
baseUrl | string | Yes | Chatwoot instance URL (e.g., https://app.chatwoot.com) |
apiAccessToken | string | Yes | Chatwoot API access token |
accountId | string | Yes | Chatwoot account ID |
| Parameter | Type | Description |
|---|
inboxes | array | Array of inbox objects |
↳ id | number | Inbox ID |
↳ name | string | Inbox name |
↳ channel_type | string | Channel type (e.g., web_widget, api) |
↳ greeting_enabled | boolean | Whether greeting is enabled |
↳ greeting_message | string | Greeting message text |
success | boolean | Operation success status |
Retrieve available WhatsApp message templates from a Chatwoot inbox. Useful for listing approved templates before sending template messages.
| Parameter | Type | Required | Description |
|---|
baseUrl | string | Yes | Chatwoot instance URL (e.g., https://app.chatwoot.com) |
apiAccessToken | string | Yes | Chatwoot API access token |
accountId | string | Yes | Chatwoot account ID |
inboxId | string | Yes | The inbox ID to retrieve templates from (must be a WhatsApp inbox) |
| Parameter | Type | Description |
|---|
templates | array | List of available WhatsApp templates |
count | number | Number of templates found |
success | boolean | Operation success status |