WhatsApp hybrid inbox: Coexistence (Cloud) + WhatsApp Web on one number

Conversa Labs

Conversa Labs

Last updated on Aug 26, 2026

Overview

The hybrid inbox joins, in a single conversation, a Coexistence (Cloud) inbox and a WhatsApp Web inbox that share the same physical number. Instead of two separate inboxes for the same contact, you work in one place and the platform automatically chooses which transport to send with.

  • Cloud (Coexistence) is authoritative for inbound: conversations live in the Cloud inbox.
  • WhatsApp Web is a send + fallback transport: used, for example, outside the 24h window to send a free session message instead of paying for a template.
  • Both inboxes still exist — pairing is a link, never a merge.

Every outgoing message gets a transport badge ("via Coexistência (Cloud)" or "via WhatsApp Web", with a fallback marker when applicable), so you always know which transport delivered it.

The connection order matters, and there is only one that works. Connect the Coexistence (Cloud) inbox first, wait for Meta's synchronization (it can take up to ~24 hours), and only then connect/pair the WhatsApp Web inbox. Activating Coexistence unlinks every companion device from the WhatsApp Business app — including a WhatsApp Web inbox that was already paired on that number.

Prerequisites

  • The Hybrid inbox feature enabled on the account (ask your platform operator).
  • A Coexistence (Cloud) inbox connected through Embedded Signup on the number — this is always the first connection.
  • Meta's synchronization completed for that number (it can take up to ~24 hours after activation).
  • The WhatsApp Business app installed on the number's phone, with internet, to scan the WhatsApp Web QR after the synchronization.
  • An administrator profile to create inboxes, pair/unpair and change routing.

Do not connect WhatsApp Web before Coexistence. If a WhatsApp Web inbox already exists on that number, it will be logged out when Coexistence is activated and must be paired again (scan a new QR). Re-pairing loses nothing: the same inbox is reused — phone number, conversations, contacts and message history all stay. Only the gateway session is rebuilt.

Step by step

1. Connect Coexistence (Cloud) — always first

  1. In Settings → Inboxes, create a WhatsApp inbox and choose the WhatsApp Cloud provider with Embedded Signup.
  2. In Meta's flow, select the number already used in WhatsApp Business and complete the coexistence activation for that number.
  3. On activation, Meta unlinks every companion device from WhatsApp Business. This is expected — it is exactly why WhatsApp Web comes afterwards.

2. Wait for Meta's synchronization

  1. Meta syncs the number's history and contacts into the Cloud inbox. This can take up to ~24 hours.
  2. Do not move on until the Cloud inbox is receiving and sending messages normally.

3. Connect (or re-pair) the WhatsApp Web inbox

  1. Only now create the WhatsApp Web inbox with the same number — or, if it already existed, open the inbox and generate a new QR on its connection screen.
  2. On the phone: WhatsApp → Linked devicesLink a device and point the camera at the QR.
  3. Wait for the Web inbox to reach the connected state.

4. Pair the two inboxes

  1. Open Inbox settings for the Cloud (Coexistence) inbox and go to the Híbrido (Hybrid) tab.
  2. Under WhatsApp Web inbox to pair, select the Web inbox with the same number.
  3. Click Pair inboxes. The platform validates it (same account, same number, one Cloud + one Web) and creates the link. Required bots, flows, automations and memberships are mirrored additively to Cloud without removing their Web bindings. Web campaigns stay active on their original inbox, and Web HistorySync stays enabled for groups, newsletters and other surfaces Coexistence does not deliver. Only duplicable 1:1 history is filtered.
  4. On the Web inbox, the Hybrid tab becomes a read-only mirror ("configure on the Cloud inbox").

Settings & options

On the Híbrido tab (on the Cloud inbox) you set the routing:

  • Receives (inbound authority): which transport owns inbound (v1: Cloud/Coexistence).
  • Default send transport: inside the 24h window (default: Cloud).
  • Out-of-window send transport: when the window closes (default: WhatsApp Web — free session).
  • Automatic fallback: if the chosen transport fails, retry once on the sibling transport.
  • Allow composer override: agents pick the transport per conversation (Auto / Cloud / Web).

Approved templates, Meta-native interactive messages, WhatsApp Flows and catalog go through Cloud. WazMeow-only interactive messages and group/newsletter conversations continue through Web.

Single operational inbox (optional)

When the operator also enables Single operational inbox, an administrator can activate it on the Hybrid tab:

  • Cloud becomes the single entry in day-to-day operational lists and pickers;
  • the physical Web inbox is not deleted, merged or disabled and remains available in settings, reporting and audit;
  • groups, newsletters, calls, HistorySync, ignore rules, campaigns and Web-only sends continue using Web;
  • old 1:1 Web conversations are resolved and cross-linked to the Cloud conversation; their messages and calls remain on their original rows;
  • before freezing any conversation, the platform tries to reconcile on its own that conversation's Maestro control state (human stand-down, the specific Robot, and the autonomy set only there) onto the Cloud conversation. Only a pending human approval needs a decision from you;
  • activation reports progress and automatically returns to the visible two-inbox mode if it fails.

On deactivation, the Web inbox returns to operational lists. Existing links and resolved history remain intact; there is no destructive rollback or automatic history merge.

What each transport covers

Surface Coexistence (Cloud) WhatsApp Web
1:1 conversations Yes (authoritative) Send transport / fallback
Templates, interactive, flows, catalog Yes No
Groups, communities, channels, status, broadcast lists No Yes
Native WhatsApp Web calls No Yes

Cost and currency

On the same tab, the Custos (Cost) section shows real message cost (Meta pricing analytics) by category, in the WABA billing currency and in your display currency (FX conversion). Coexistence accounts cannot migrate their Meta billing currency — so display-currency conversion is the answer, and a link to Meta's official documentation is shown.

Use cases

  • Cut out-of-window cost: reply after 24h via a free WhatsApp Web session instead of a paid template.
  • Continuity: if one transport goes down, fallback delivers via the other.
  • Groups, communities, channels and status: keep everything Coexistence does not cover working on the same number, through the Web inbox.
  • WhatsApp Web calls: keep native WhatsApp Web calls working on the number, even with Coexistence active (see below).

Tips, limits & best practices

  • The order is mandatory: Coexistence (Cloud) → Meta synchronization (~24h) → WhatsApp Web → pairing. Reversing it gets the Web inbox logged out the moment Coexistence is activated.
  • Open the WhatsApp Business app at least once every ~14 days on the number's phone. Without that, Coexistence loses health and may stop syncing.
  • Every hybrid call uses WhatsApp Web signaling and media, even when its bubble is attached to the Cloud conversation in single-inbox mode. Pairing does not change calling configuration.
  • Outbound calls continue through Web. For inbound 1:1 calls, the dashboard can ring only when Meta/the gateway delivers a CallOffer to the companion device. On some Coexistence numbers Meta rings only the phone; no local retry can reconstruct an offer that never arrived.
  • WhatsApp Web groups, communities, channels and status remain their own Web conversations.
  • Do not remove Web bot, flow, automation or campaign bindings: groups, newsletters and Web-only features still need them. Pairing mirrors only what Cloud also needs.
  • v1 runs in Cloud-primary mode (Coexistence is the authoritative receiver).

Troubleshooting

  • The WhatsApp Web inbox went to "logged out" after activating Coexistence: this is the expected behavior — activation unlinks every companion device from WhatsApp Business. The Web inbox reports the cause (logged out from another device — the normal case here —, primary device was logged out, or unknown reason); in all three the fix is the same. Open the Web inbox, generate a new QR on its connection screen and pair again. Nothing is lost: phone number, conversations, contacts and history all stay on the same inbox; only the gateway session is rebuilt.

  • The inbox says it paired but nothing arrives: the number may be stuck on a pending placeholder because another inbox already holds that number — in the same account (same provider) or in another account. The Híbrido tab and the pairing screen show the reason. Release or remove the inbox holding the number, then pair again.

  • No inbox to pair: check the order — Coexistence (Cloud) first, Meta synchronization completed, and only then the WhatsApp Web inbox connected on the same number.

  • Single-inbox activation stopped because of a configuration conflict: the platform now refuses on the click itself, with 422, naming which configuration conflicts between the Cloud and Web inboxes (assignment policy, routing, CSAT, bot, inbox integration, ads conversion, among others). Previously the request was accepted, queued, and only failed minutes later. Resolve the conflict on the named inbox and activate again.

  • Single-inbox activation stopped because of Maestro state: having Maestro configured does not block activation. Before freezing any history, the platform tries to reconcile the Web conversation's control state onto the Cloud conversation that will take over, then reads it back. Only what genuinely did not move still blocks:

    • Resolves by itself, with no operator action: the human stand-down (the robot was told to stay quiet on that conversation), the specific Robot routed to that conversation (re-applied by name), and that conversation's autonomy (autopilot, copilot or hybrid set only there). All three are re-applied on the Cloud conversation and stop showing up as blockers.
    • Needs a decision from you: a pending human approval — an action parked waiting for someone to approve or reject it. It is not moved, because approving re-runs the parked action and re-running it against another conversation is not verifiable. The Web conversation is preserved exactly for this: open the conversation named on screen, approve or reject the pending item, and activate again.
    • The state could not be READ (Maestro unreachable or turned off): this is a communication failure, not control state. The message asks you to check Maestro connectivity; there is no point hunting for a pending approval, because the platform never managed to ask. The check stops at the first conversation, so the counter no longer repeats the same block dozens of times.

    When something still blocks, the screen names the exact conversations, with a link to open each one, and offers to activate anyway. That confirmation covers only the conversations listed at that moment — if a new blocker appears afterwards, it blocks again. There is no blanket override. On any block, both inboxes remain visible and no history in that batch is changed.

  • Progress shows "0 · 0 · 0" while conversations are blocked: fixed. The progress line now has separate segments for frozen and linked, already linked, safely skipped and — highlighted — blocked, with how many conversations were checked. Blocked is not the same as safely skipped.

  • This number already has another WhatsApp inbox: if the Web inbox comes up on a number that already has a Cloud inbox in the same account with no pair between them, the connection screen shows a notice. This is allowed, but both inboxes receive the same conversations independently and the history ends up split. The notice disappears on its own once you pair them on the Híbrido tab. It is a notice, not a block.

  • Duplicate message after a Web send: confirm the inboxes remain paired. Reconciliation uses the Web identifier embedded in the wamid; do not remove the transport stamp or recreate the message manually.

  • Zero cost: sync runs periodically; use Sync now in the Cost section.

  • An inbound call does not ring in the dashboard: check the Web connection/engine and CallOffer logs. If no offer reaches the gateway, the limitation is upstream and the call may ring only on the phone. An outbound call in the same session helps confirm that local Web signaling is healthy.

See also