Use a Coexistence number as a Chatwoot WhatsApp Cloud inbox
Chatwoot's WhatsApp Cloud inbox asks for three values: the WhatsApp Business Account id, the phone number id and an access token. A Coexistence number exposes all three. Create the inbox with them, then set the number's webhook destination to Chatwoot's webhook URL with the same verify token, and the team can answer from Chatwoot and from the phone.
WABA id, phone number id and an access token: what Chatwoot's manual WhatsApp Cloud setup asks for.
Chatwoot handles this Coexistence event, so replies sent from the WhatsApp Business app appear in the conversation.
Meta lets a business phone number carry its own webhook callback URL, overriding the app's default.
How do you connect a Coexistence number to Chatwoot?
In two places, in this order.
In Chatwoot, add an inbox, choose WhatsApp, and pick the WhatsApp Cloud provider with the manual setup. Enter the number, the phone number id, the WhatsApp Business Account id and the access token, all of which the EasyCoexistence dashboard shows for the connection, or get_api_credentials returns to an assistant. Chatwoot then shows a webhook URL and a webhook verify token for the inbox.
In EasyCoexistence, set the number's webhook destination to that URL and enter the same verify token. Meta sends its verification request to Chatwoot, Chatwoot answers it, and from then on every message to the number arrives in the inbox. Nothing runs in between, so there is no workflow to keep alive.
Do replies sent from the phone show up in Chatwoot?
Yes. On a Coexistence number, a reply typed in the WhatsApp Business app is reported by Meta as an smb_message_echoes event, and Chatwoot's webhook job recognises that field and records the message as outgoing in the right conversation. Its source code describes the case directly: businesses responding from both Chatwoot and the app, with messages synced to Chatwoot.
That makes the split work in practice. The owner can keep answering regulars from the phone, the team can work the shared inbox at a desk, and each sees what the other sent without anyone forwarding screenshots.
Messages sent from Chatwoot go out through the Cloud API on the same number, so they appear on the phone as well.
Why should the Chatwoot inbox have no app secret?
Because the deliveries are signed with a secret you do not have. Meta signs each webhook with the app secret of the app that owns the subscription, which is the EasyCoexistence app, and that secret is never shared.
In Chatwoot's current source, it only checks the X-Hub-Signature-256 header on a manually configured WhatsApp Cloud channel when an app secret has been stored on it, or when the channel was created through Chatwoot's own embedded signup. A manual inbox with no app secret accepts the deliveries; one with any app secret filled in rejects every one as unauthorised.
The verify token is the protection that applies here. Pick a long random value, since it is what lets Chatwoot tell Meta's verification request from anyone else's.
What can Chatwoot not do on this number?
Receive webhooks at a second place at the same time. Meta routes a number's webhooks to one destination, so while Chatwoot holds it, an n8n workflow will not receive the same events. If you need both, point the destination at a small relay of your own that forwards each delivery to Chatwoot and to the workflow.
The Coexistence limits apply as they do anywhere: the API sends at up to 20 messages per second, free text only goes out within 24 hours of the customer's last message, and templates cover everything after that.
The WhatsApp Business app still needs opening at least once every 14 days, which EasyCoexistence watches for.
Common mistakes
- Filling in an app secret on the Chatwoot inbox. Deliveries are signed with the EasyCoexistence app's secret, so Chatwoot rejects every one as unauthorised.
- Using a different verify token in EasyCoexistence than the one Chatwoot shows. Meta's verification fails and the inbox never receives a message.
- Choosing Chatwoot's embedded signup instead of the manual flow. That connects the number through Chatwoot's own Meta app, a separate connection.
Connect the number at easycoexistence.com, copy its credentials into a Chatwoot WhatsApp Cloud inbox, and set the webhook destination to Chatwoot. From US$ 9 per number per month, falling to US$ 1 as you add numbers, with the first 3 days free.
Frequently asked questions
Does this work on self-hosted Chatwoot?
Yes. The webhook URL uses your own Chatwoot domain instead of app.chatwoot.com, and the rest of the setup is the same.
Do I need my own Meta app for Chatwoot?
No. The number is connected through EasyCoexistence, which supplies the credentials and routes the webhooks. Chatwoot's guide describes creating a Meta app only because it assumes you have none.
Can several numbers go into Chatwoot?
Yes. Create one WhatsApp Cloud inbox per number, and set each number's webhook destination to its own inbox's URL and verify token.
Does EasyCoexistence see the conversations?
No. Meta delivers the webhooks straight to Chatwoot, and EasyCoexistence never stores conversation content.
Keep reading
Ready to get started?
Set up WhatsApp Coexistence in minutes, not months. The app keeps working on the phone.
Start Free TrialVerified on