Skip to main content
RyzeAPI integrates natively with Chatwoot. When you activate it, RyzeAPI creates an inbox in Chatwoot and keeps the realtime connection: messages received on WhatsApp show up in Chatwoot, and the agent’s replies in Chatwoot flow back to WhatsApp.
When the Chatwoot module is not enabled on the server, all module endpoints return 503 with the message integration gateway not configured.

How it works

  1. You activate the integration with POST /api/chatwoot/set/:instance (or inline, when creating the instance).
  2. RyzeAPI creates the inbox in Chatwoot and starts delivering the WhatsApp messages it receives there.
  3. The replies sent by the agent in Chatwoot flow back to RyzeAPI and are delivered to WhatsApp.

Management endpoints

Activate

POST /api/chatwoot/set/:instance, provisions the integration and creates the inbox.

Status / Info

GET /api/chatwoot/list/:instance, returns the current state of the integration.

Deactivate

DELETE /api/chatwoot/delete/:instance, removes the integration (the Chatwoot inbox is preserved).

Inline activation when creating the instance

The integration can be activated together with instance creation, without a separate set call. Just include the chatwoot* block in the body of POST /api/instance/new:
{
  "name": "suporte",
  "chatwootEnabled": true,
  "chatwootBaseUrl": "https://chatwoot.example.com",
  "chatwootAccountId": 5,
  "chatwootApiToken": "sk_live_abc123...",
  "chatwootInboxName": "WhatsApp - Orion"
}
If activation fails (wrong token or unreachable host), the instance is still created, the chatwoot object comes back with status: "error" and error: "<message>". You can then call POST /api/chatwoot/set/:instance to fix the credentials without recreating the instance.

Detect whether the module is enabled

curl -s -o /dev/null -w "%{http_code}\n" \
  "https://ryzeapi.cloud/api/chatwoot/list/anything" \
  -H "token: $Token_Account"

# 503 → Chatwoot module not enabled on the server
# 404 → module enabled, but instance/integration does not exist
# 200 → module enabled and integration configured

Data model

The server persists each integration in the chatwoot_integrations table. The chatwootApiToken is encrypted at rest with AES-256-GCM and is returned in plaintext by GET /api/chatwoot/list/:instance.
FieldDescription
bridge_integration_idInternal integration ID.
chatwoot_base_urlURL of the Chatwoot installation.
chatwoot_account_idNumeric ID of the Chatwoot account.
chatwoot_inbox_id / chatwoot_inbox_nameInbox created in Chatwoot.
statusactive / paused / error.
last_errorLast error message from the integration.

Next steps

Activate integration

Provision the integration with POST /api/chatwoot/set/:instance.

Chatwoot errors

Mapping table of the integration’s HTTP status codes and messages.