Compatibility
Dualhook does not reveal its customer-scoped Meta authorization tokens. Current Chatwoot manual WhatsApp Cloud API inboxes expect a Meta access token and normally send to a fixed graph.facebook.com endpoint. A native Chatwoot inbox is therefore not directly compatible with a Dualhook connection unless your Chatwoot deployment supports both a custom API base URL and a custom bearer key.
Do not paste a Dualhook dh_live_... key into a field that will send it to graph.facebook.com. Meta will reject it, and the key should be used only with api.dualhook.com.
Inbound Webhooks
Meta can still deliver inbound message-path webhooks directly to a Chatwoot callback URL through Dualhook's Webhook Override. Chatwoot then stores the conversation content under its own retention and security controls. Verify the exact behavior of your Chatwoot version, including its callback verification and X-Hub-Signature-256 requirements, before using it in production.
Outbound Requirement
Outbound requests for a Dualhook-managed connection must use:
POST https://api.dualhook.com/v25.0/<PHONE_NUMBER_ID>/messages
Authorization: Bearer dh_live_...
The Dualhook runtime supports the standard /messages payload shapes but is not an arbitrary Graph API gateway. Chatwoot must be configurable to use that endpoint and key for native replies to work.
Supported Options
Choose one of these architectures:
- Use a Chatwoot version or maintained provider adapter that lets you set
api.dualhook.comas the outbound base URL while keeping Meta's inbound callback direct. - Put a customer-controlled adapter in front of Chatwoot that translates its outbound request into the allowlisted Dualhook runtime call without storing message content.
- Connect Chatwoot through its own Meta app and customer-owned credentials instead of using Dualhook for that connection.
Dualhook cannot provide a Meta token as a compatibility workaround. For a custom adapter, see Runtime API Authentication, Messaging Overview, and Messaging Webhook.