WhatsApp Coexistence
WhatsApp Coexistence connects a phone number that is already active in the WhatsApp Business app to the Telnyx WhatsApp API. The business can continue its manual conversations in the app while an integration sends automated and template messages through Telnyx. The Business app and Cloud API share the phone number, but they do not share billing or customer service window state.Prerequisites
Before starting:- Update the WhatsApp Business app to version 2.24.17 or later.
- Keep the phone number registered in the WhatsApp Business app.
- Confirm that the person completing signup has administrator access to the Meta business portfolio that owns the number.
- Use the coexistence option in Embedded Signup. The standard signup flow attempts to register the number for Cloud API-only use.
Onboard the number
The steps below describe direct customer onboarding in the Telnyx Portal. Tech Providers can onboard coexistence numbers through a hosted signup created withsignup_type set to coexistence, or through the custom integration with Meta’s coexistence configuration.
1
Start coexistence signup
In the Telnyx Portal, open Messaging Suite → WhatsApp Messaging, go to the Business Accounts tab, select Add Account, and select the WhatsApp Business app coexistence option before starting Embedded Signup. Connect WhatsApp Business and Add Number start the standard signup flow, not coexistence.
2
Complete the Meta flow
Sign in to Meta, choose the option to connect an existing WhatsApp Business app, and enter the phone number that is already active in the app.Meta sends a message from the official Facebook Business Account to the WhatsApp Business app. Open that message, select Connect, select Connect to the Business Platform, and confirm the connection.
3
Choose whether to share chat history
Choose Share chats to synchronize up to six months of individual chat history, or choose Don’t share chats to continue without history. Copy the verification code shown in the WhatsApp Business app and paste it into the Meta signup window.Finish the remaining Meta steps. The number stays registered in the Business app and is not registered again through Cloud API.
4
Configure customer webhooks
After Embedded Signup connects the WABA to Telnyx, enable webhook delivery and configure the webhook URL using Update WABA settings. If
webhook_events is set, include account_update to receive coexistence lifecycle events.Assign the phone number to a messaging profile and configure the profile webhook URL to receive message.echo and message.received events. Without a messaging profile, message.echo events are not delivered.5
Wait for synchronization and activation
After onboarding, the number enters
sync_pending. Telnyx accepts synchronization webhooks from Meta and advances the number through the coexistence lifecycle.Cloud API sends remain blocked until the number reaches active.6
Verify the number
List the phone numbers connected to the WhatsApp Business Account and confirm that the number reports
is_on_biz_app: true.GET /v2/whatsapp/phone_numbers/{phone_number} to retrieve one number and inspect its synchronization progress. The phone-number list operations do not populate sync_progress.
Lifecycle and send eligibility
Meta allows synchronization only within 24 hours of completing onboarding in the Meta flow. After that window, Meta rejects the synchronization request and the number cannot reach
active. Disconnect the number in the WhatsApp Business app and complete coexistence signup again to start a new window.
Messaging behavior
Messages sent manually from the WhatsApp Business app produce amessage.echo webhook. Treat the event as outbound activity.
Business app messages:
- Do not open or extend the Cloud API 24-hour customer service window.
- Do not create a Telnyx billing event.
- Do not trigger inbound opt-out or autoresponse processing.
Throughput
Meta limits each coexistence-enabled phone number to 20 Cloud API messages per second. The limit includes inbound and outbound Cloud API messages of every type. Meta documents this as Cloud API throughput and does not state that messages sent directly from the WhatsApp Business app consume it. When Cloud API traffic exceeds the limit, Meta returns error130429 in the send response or a subsequent message status webhook. Telnyx reports the message as failed with error code 40011. Retry with backoff and reduce the sending rate before retrying. See Meta’s Cloud API throughput documentation.
Pricing
Messages sent from the WhatsApp Business app and delivered asmessage.echo are free. Telnyx does not create a billing event, and Meta does not charge for the mirrored app message.
Messages sent through Cloud API continue to incur the standard Telnyx and Meta charges that apply to their message category and destination. See WhatsApp pricing.
Disconnect coexistence
The WhatsApp deregistration API cannot deregister a coexistence number. Disconnect it from the WhatsApp Business app:- Open Settings in the WhatsApp Business app.
- Select Account.
- Select Business Platform.
- Select Disconnect.
disconnected.
Limitations
Get support
Include the following identifiers when contacting Telnyx Support:- Telnyx organization ID
- WhatsApp Business Account ID
- Meta phone number ID
- Phone number in E.164 format
- Telnyx message ID and Meta
wamid, when the issue involves a message - Approximate event time and timezone
See Meta’s onboarding guide for WhatsApp Business app users for the current support categories.
Related documentation
Coexistence webhooks
Handle Business app echoes and lifecycle changes.
WhatsApp Embedded Signup
Review the standard WhatsApp onboarding flow.
Tech Provider Embedded Signup
Implement coexistence through a custom Tech Provider integration.