Coexistence lets one phone number run in the WhatsApp Business app and on the Cloud API at the same time. You keep replying by hand from your phone; a platform adds automations, broadcasts and a shared inbox on the same number; WhatsApp keeps the history in sync between the two. Meta’s documentation files it under onboarding WhatsApp Business app users.
That solves the objection that used to end most WhatsApp API conversations. The classic migration takes the number out of the app on your phone. For a business where the owner answers half the messages personally, that trade was rarely worth it.
The catch is that Coexistence is not a switch you flip. Meta decides whether your number qualifies, and it will refuse numbers without telling you why in any actionable detail.
What Meta requires before you start
Two prerequisites are documented, and both sit outside your control panel:
- The business must run WhatsApp Business app version 2.24.17 or higher.
- The onboarding must be run by a Solution Partner or Tech Provider — the mode is not available to a business connecting a number on its own.
The provider side has requirements too. Meta requires the partner to subscribe to three additional webhook fields: history for past messages, smb_app_state_sync for contacts and their changes, and smb_message_echoes for new messages sent from the WhatsApp Business app.
That last one is the important one, and it is worth understanding as a buyer. smb_message_echoes is how the platform learns that you just answered someone from your phone. Without it, an AI agent sees only the customer’s incoming message, concludes nobody replied, and answers a second time.
So if you are evaluating a provider, ask whether they process message echoes. It is the difference between one voice in the chat and two.
What you give up on the phone
Meta lists the app features that change once a number is onboarded. None of them touch everyday messaging, but two catch people out.
| In the WhatsApp Business app | After Coexistence |
|---|---|
| Normal 1:1 chats, media, voice notes | Unchanged |
| Broadcast lists | Disabled; existing lists become read-only |
| Disappearing messages | Disabled |
| View once messages | Disabled |
| Live location | Disabled |
| Group chats | Not synchronised to the Cloud API |
| Linked companion devices | Unlinked at onboarding; Windows and WearOS unsupported afterwards |
Broadcast lists are the one to check before you commit. If your current process is a weekly broadcast to a hand-maintained list in the app, that habit ends here — you move it to template messages, which is a better process but a different one, with opt-in and approval rules attached.
There is also a throughput ceiling. Meta’s documentation is explicit: business phone numbers in use with both the app and the Cloud API “have a fixed throughput of 20 mps”. Twenty messages per second is plenty for conversations and small campaigns. It is a real constraint for a large one-shot broadcast.
What it costs
Nothing extra for the mode itself, and the split is clean.
Messages you send by hand from the WhatsApp Business app remain free. Messages sent through the Cloud API are billed at normal Cloud API pricing. Meta’s documentation adds a detail that matters for anyone modelling costs: messages sent from the app do not create or affect Cloud API conversation windows. Your manual replies do not quietly open a billable window, and they do not extend one either.
If you are budgeting, the thing to read next is not the Coexistence page but the pricing change that lands on 1 October 2026 — the free 24-hour service window ends then, which shifts the economics for everyone regardless of Coexistence. We covered that in the 2026 pricing changes and in how the 24-hour window actually works.
Why Meta refuses a number
This is the part no documentation prepares you for. You pick the Coexistence path, the Meta popup opens, you select your business — and it stops:
Your phone number is not eligible to link with WhatsApp Business Platform. More activity in the WhatsApp Business app is required to determine whether the phone number qualifies.
That is the text Meta returned in our own onboardings, carrying error code 3441045. Worth saying plainly: the code appears in neither Meta’s published error reference nor the onboarding documentation, so treat it as an observation from the field rather than a documented behaviour. Other providers describe the same wording.
Two honest observations about it.
First, it is Meta’s judgement about your number, not about your provider or your setup. Nothing in a platform’s configuration changes the outcome, and no support ticket to your provider will move it.
Second, Meta does not publish the threshold. The onboarding documentation lists the app version and the partner requirement, and stops there — there is no documented minimum age, message count or usage period for a number. Third-party help pages circulate specific numbers, commonly “seven days of activity”; we could not confirm any of them against Meta’s own material, so treat them as folklore rather than a rule you can plan around.
The wording points at activity, which suggests a number with a real history as a business number stands a better chance than one registered last week for the purpose. That is inference from an error string Meta does not publish, not a rule — so plan for the possibility of a refusal rather than trying to engineer your way past it.
One related failure is documented. If the business previously worked with another partner and still shares that partner’s credit line, Meta returns an error when switching — a separate problem with a separate fix, but easy to mistake for the eligibility refusal.
If your number is refused, the fallback is not “wait and hope”. A full migration onto the Cloud API works on the same number today; you simply give up the app on the phone. That is the same trade everyone made before Coexistence existed, and for a business that answers mostly from a desktop it is often the better one anyway.
The 24-hour clock nobody mentions
If onboarding succeeds, a timer starts that has nothing to do with the customer service window.
Meta gives the partner 24 hours to synchronise the messaging history, “otherwise they must be offboarded and they must complete the flow again”. History arrives in three phases — day 0 to 1, day 1 to 90, then day 90 to 180 — covering up to 180 days, and media asset IDs are only provided for messages from the last 14 days.
Practically: do not start a Coexistence onboarding on your way out of the office. If the import does not run, the customer repeats the entire flow, QR code included.
It also means you should ask your provider a direct question: do they import history at all, and when do they start? A provider that requests the sync days later has already missed the window. And ask what happens to attachments — Meta only hands out media asset IDs for messages from the last 14 days, so an older photo arrives as a note rather than the file itself, no matter who built the importer.
Getting out again
Offboarding is the customer’s, not the provider’s. In the WhatsApp Business app under Settings → Account → Business Platform, there is a Disconnect Account button. Meta then sends the partner an account_update webhook carrying the PARTNER_REMOVED event, optionally with a disconnection_info object describing the reason and whether a user or the system initiated it.
Worth verifying that your provider handles it. A platform that ignores PARTNER_REMOVED will keep showing the number as connected long after Meta cut the link, and every send will fail against a dead token.
What this means for you
If you are choosing between Coexistence and a full migration, the decision comes down to four questions:
- Does someone answer customers by hand on a phone every day? If yes, Coexistence is worth the feature trade. If everything already happens on a desktop, migrate fully and skip the limits.
- Has the number been in real use in the WhatsApp Business app? If it is new, expect the eligibility refusal and plan for the migration path instead.
- Do you rely on broadcast lists in the app? That habit ends; budget the time to rebuild it as approved templates.
- Does your provider process message echoes and
PARTNER_REMOVED? Ask before you connect, not after your AI agent double-answers a customer.
Nybero supports both routes — you choose at connect time, and the choice is spelled out with its trade-offs rather than buried. You can see what the connected number gets on the features page, and what it costs on pricing. If you would rather ask a person first, message us on WhatsApp — which is, appropriately enough, a number running on the same platform this article is about.