Back to Nodes

ChatWoot Application

Last updated Oct 19, 2026

n8n node to connect with ChatWoot

47 Weekly Downloads
167 Monthly Downloads

Included Nodes

ChatWoot Application
ChatWoot Platform
ChatWoot Client
ChatWoot Trigger

Description

@rjsebening/n8n-nodes-chatwoot

!n8n Community Node
!Version
!License

n8n Integration for Chatwoot – the open-source customer engagement platform

Automate conversations, contacts, agents, and inbox workflows, react to real-time webhook events, and keep your support pipeline moving β€” without manual work.

🧭 Overview

This community node connects Chatwoot seamlessly with your n8n workflows.
From contact management and conversation routing to platform-level administration and real-time triggers β€” automate every key support process end-to-end.

It covers all three Chatwoot API surfaces (Application, Platform, Client) plus a webhook trigger β€” so whether you’re running a self-hosted instance or Chatwoot Cloud, you can wire it into any n8n automation.

—

πŸ“¦ Installation

Requirements

  • n8n version 2.0.0 or higher
  • A running Chatwoot instance (self-hosted or Cloud) with a valid API access token
  • Chatwoot 4.13 or newer for signed webhooks (tested with Chatwoot 4.18.0 and n8n 2.44.4)
  • Community Node Installation

    1. Open n8n β†’ Settings β†’ Community Nodes β†’ Install
    2. Enter package name:

    @rjsebening/n8n-nodes-chatwoot
    

    3. Restart n8n – the nodes will now appear in the node panel.

    —

    πŸ”Œ Included Nodes

    | Node | Purpose |
    | ———————– | ————————————————————————————— |
    | Chatwoot Application | Access the Application API (v1) β€” contacts, conversations, messages, agents, inboxes, teams, labels, automations, reports, and more |
    | Chatwoot Platform | Access the Platform API β€” manage accounts, account users, agent bots, and users across an instance |
    | Chatwoot Client | Access the Client API β€” contact-facing endpoints (inbox, conversations, messages, CSAT) using the identifier / source_id model |
    | Chatwoot Trigger | Receive real-time events from Chatwoot webhooks (new messages, conversation updates, contact changes, etc.) |

    πŸ” Credentials

    Three credential types are provided, matching the three API surfaces:

  • Chatwoot Application API β€” uses a user access token (apiaccesstoken)
  • Chatwoot Platform API β€” uses a platform app access token
  • Chatwoot Client API β€” uses an inbox identifier + contact source/identifier for customer-facing flows
  • Chatwoot Webhook Secret β€” the webhook secret of an agent bot or API channel inbox, used by the trigger to verify signed deliveries
  • Each credential stores the base URL of your Chatwoot instance (e.g. https://app.chatwoot.com or your self-hosted URL).

    —

    🧩 Supported Resources

    Application API: Account, Account Agent Bots, Agents, Audit Logs, Automation Rules, Canned Responses, Contacts, Contact Labels, Conversations, Conversation Assignments, Custom Attributes, Custom Filters, Help Center, Inboxes, Integrations, Labels, Messages, Profile, Reports, Teams, Webhooks.

    Platform API: Accounts, Account Users, Agent Bots, Users.

    Client API: Contacts, Conversations, Inbox, Messages, CSAT Survey Page.

    —

    ⚑ Chatwoot Trigger

    Trigger modes

    | Mode | Use it for | Setup |
    | —- | ———- | —– |
    | Account Webhook (default) | Account-wide events | n8n registers the webhook on activation and removes it on deactivation. Uses the Chatwoot Application API credential. |
    | Agent Bot or API Inbox | Bots that answer conversations, API channel inboxes | Paste the node’s Production URL into the bot’s or inbox’s webhook URL yourself. Store its secret in the Chatwoot Webhook Secret credential. |

    Security

    Since Chatwoot 4.13, account webhooks, agent bots and API channel inboxes sign every delivery with their own secret:
    X-Chatwoot-Signature: sha256=HMAC-SHA256(secret, "{X-Chatwoot-Timestamp}.{raw body}").

  • Signature verification (on by default). The trigger checks the signature against the raw request body with a constant-time comparison and answers invalid deliveries with 401 without starting an execution. In Account Webhook mode the secret comes from Chatwoot when the webhook is registered and is stored in the workflow’s static data. If Chatwoot returns no secret (older than 4.13), activation fails with a clear error instead of running unprotected.
  • Replay protection. Deliveries whose timestamp is more than 300 seconds away from the current time are rejected (Max Timestamp Age, 0 turns it off). The timestamp is part of the signed string.
  • Echo loop protection. By default only incoming messages trigger the workflow and messages sent by an agent bot are ignored, so a bot workflow never reacts to its own replies.
  • Private notes. Internal agent notes are excluded by default (Include, Exclude or Only Private Notes).
  • Events you did not select are acknowledged with 200 and do not start an execution.
  • Chatwoot itself only lets you choose which events a webhook receives; it has no message filters. The message filters above run inside the trigger, before an execution starts, and only appear when messagecreated or messageupdated is selected.

    > Existing workflows: Trigger nodes added before version 1.1 keep their previous behaviour (no signature check, no message filters). Turn on Verify Signature and the filters in the node, or replace the node to get the secure defaults.

    —

    πŸ€– Using the Nodes as AI Agent Tools

    The Application, Platform and Client nodes can be used as tools by the n8n AI Agent (on self-hosted n8n this needs N8NCOMMUNITYPACKAGESALLOWTOOL_USAGE=true).

  • Restrict each tool node to one resource and operation. Give the agent separate tool nodes for exactly the operations it needs, and avoid the Platform node as a tool: its token works across all accounts of the instance.
  • Secrets are redacted for tools. With Redact Secrets set to When Used as AI Tool (default), tokens, passwords and signing secrets in Chatwoot responses (e.g. accesstoken, hmactoken, secret, providerconfig, pubsubtoken) are replaced with [REDACTED] before they reach the model. Set it to Always to redact them in regular workflows too.
  • —

    πŸ“¬ About the Author

    I’m Rezk JΓΆrg Sebening – Automation & Systems Expert (DACH).
    I build n8n nodes and process automation systems that help agencies, coaches, and service providers scale without manual work.

    πŸ‘‰ Follow me on GitHub for new DACH integrations and automation templates.

    βš–οΈ Legal Disclaimer

    This community node is not affiliated with Chatwoot Inc. (no partnership, no sponsorship, no official endorsement).
    It simply connects to publicly available Chatwoot API endpoints.

  • Community developed & maintained
  • For API-related issues β†’ contact Chatwoot Support or consult the Chatwoot API docs
  • All trademarks & logos belong to their respective owners

πŸ“„ License

MIT License
Contributions and pull requests are welcome!

From our network Other tools and sites we build