Chatwoot api
Use Chatwoot REST API, webhooks, and WebSocket for custom integrations. Use when building custom workflows, automating Chatwoot programmatically, or integrating with external systems via API.From its SKILL.md
npx -y skills add fxckcode/chatwoot-skills --skill chatwoot-apiAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.0 KB, 721 tokens by cl100k_base, as published. Nobody here has run it
Chatwoot API
Integrate with Chatwoot via REST API, webhooks, and WebSocket.
Authentication
Use a Personal Access Token or Account Token:
curl -H "api_access_token: YOUR_TOKEN" \
https://app.chatwoot.com/api/v1/
Generate tokens: Settings → Profile → Access Token
See articles/how-to/how-to-find-your-personal-access-token-in-chatwoot.md.
Key Endpoints
| Endpoint | Purpose |
|---|---|
GET /api/v1/accounts/{id}/inboxes | List inboxes |
POST /api/v1/accounts/{id}/inboxes | Create inbox |
GET /api/v1/accounts/{id}/conversations | List conversations |
POST /api/v1/accounts/{id}/conversations | Create conversation |
POST /api/v1/accounts/{id}/conversations/{id}/messages | Send message |
GET /api/v1/accounts/{id}/contacts | List contacts |
POST /api/v1/accounts/{id}/contacts | Create contact |
GET /api/v1/accounts/{id}/webhooks | List webhooks |
POST /api/v1/accounts/{id}/webhooks | Create webhook |
Full API reference: references/self-hosted/api-reference-introduction.md
API Inbox Pattern
Send messages via API channel:
curl -X POST https://app.chatwoot.com/api/v1/accounts/{id}/conversations/{id}/messages \
-H "api_access_token: YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"content": "Hello from API!", "message_type": "outgoing"}'
See articles/other-channels/how-to-create-an-api-channel-inbox.md.
Webhooks
Configure Chatwoot to POST events to your URL:
# Settings → Integrations → Webhook
# Events arrive as JSON POST to your webhook URL
Events
conversation_created,conversation_updatedmessage_created,message_updatedcontact_created,contact_updated
See articles/apps-integrations/how-to-use-webhooks.md.
WebSocket
Subscribe to real-time events:
const socket = new WebSocket('wss://app.chatwoot.com/cable');
// Channels:
// - Room::ConversationInboxChannel (inbox-scoped)
// - Room::AccountChannel (account-wide)
See articles/advanced-features/how-to-setup-a-web_socket-connection.md.
Integrations
| Integration | Article |
|---|---|
| Slack | articles/apps-integrations/how-to-answer-conversations-from-slack.md |
| Dialogflow | articles/apps-integrations/how-to-integrate-your-dialogflow-chatbot-with-chatwoot.md |
| OpenAI | articles/apps-integrations/openai.md |
| Google Translate | articles/apps-integrations/how-to-translate-your-messages-with-google-translate.md |
| Dyte Video | articles/apps-integrations/how-to-enable-video-calls-with-dyte-integration.md |
| Linear | articles/apps-integrations/how-to-track-issues-and-features-with-linear-integration.md |
| Cloudflare Video | articles/apps-integrations/how-to-enable-video-calls-with-cloudflare-realtime_kit.md |
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.