WhatsApp · Coexistence Setup
For a phone number that's already sending/receiving on the WhatsApp Business mobile app today. Coexistence adds this CRM on top without disconnecting the phone or losing any existing chat history.
Not sure this is the right option? See the App vs Cloud API vs Coexistence comparison first.
The number keeps working on the phone exactly as before — staff keep using the app, existing chat history stays put. Coexistence mirrors messages both ways: customer messages reach this CRM's lead pipeline, and anything staff send from the app is logged here too (but never treated as a new customer message). This is not a way to import old chat history into the software's lead records — see "What this can't do" below.
The number must already be actively running on the WhatsApp Business App right now. There's no retrofit path for a number that's already Cloud-API-only with no app history — Meta's onboarding flow explicitly skips phone-number registration because it expects the number to already be registered there. If the number isn't on the app today, use the plain WhatsApp Cloud API card instead (no Coexistence needed).
At developers.facebook.com — the client's own App if they created one from scratch, or the platform's shared App otherwise.
Pick the "WhatsApp Embedded Signup Configuration With 60 Expiration Token" template. Copy the resulting config_id.
Either platform-wide at Admin → Platform Settings → Coexistence embedded-signup config_id (one config covers every hotel on that Meta App), or on the hotel's own Settings page if this hotel uses its own config — ask before assuming which applies.
| Check | Why |
|---|---|
| WhatsApp Business App is version 2.24.17 or newer | Older versions don't support Coexistence at all. |
| Country is supported | Meta expanded this through 2025–2026; confirm against Meta's live "Coexistence supported countries" list right before connecting if this is a new country for us. |
| Phone stays online during connect | If chat-history sharing is approved, the sync can take up to 24 hours and the phone/app should stay active for it to complete. |
From the hotel's edit page, the "Connect WhatsApp Business App (Coexistence)" card has a Connect button once a config_id resolves. Clicking it opens Meta's own embedded-signup flow (Facebook Login for Business) — log in as the number's owner and follow the prompts. On completion, this app exchanges the returned code for a token, then independently re-fetches the WhatsApp Business Account ID and phone number from Meta's API rather than trusting anything the browser reported directly, and subscribes the webhook automatically. No manual credential pasting needed for this path — it's the one case in this app's WhatsApp setup that isn't copy/paste.
Full research notes: docs/whatsapp-coexistence-research.md. Two gaps worth double-checking
the first time a real hotel goes through this: whether the extra webhook fields need an explicit
subscription call (this app always sends one, so it's harmless either way), and the exact "history sync
complete" signal in a real payload (this app currently treats any chunk with progress: "complete"
as done — confirm that's actually what Meta sends once real data is seen).