## 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

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

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

6. 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.
7. On the phone: WhatsApp → **Linked devices** → **Link a device** and point the camera at the QR.
8. Wait for the Web inbox to reach the **connected** state.

### 4. Pair the two inboxes

9. Open **Inbox settings** for the **Cloud (Coexistence)** inbox and go to the **Híbrido** (Hybrid) tab.
10. Under **WhatsApp Web inbox to pair**, select the Web inbox with the same number.
11. 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.
12. 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

- [WhatsApp Cloud Coexistence](/hc/ajuda/articles/inboxes-channels-whatsapp-coexistence-en)
- [WhatsApp Cloud with Embedded Signup](/hc/ajuda/articles/inboxes-channels-whatsapp-cloud-embedded-signup-en)
- [WhatsApp Web](/hc/ajuda/articles/inboxes-channels-whatsapp-web-wazmeow-en)
- [WhatsApp Hub: groups, communities, channels and status](/hc/ajuda/articles/inboxes-channels-whatsapp-hub-grupos-comunidades-canais-status-en)