Drawing 1 · Interactive
Who controls what on a shared WABA?
Overlap
In both sets
327% of everyone
Both can add phone numbers, work with templates and see metrics and quality. Only the client can unshare, delete the accounts or change settings; only the partner's app sends through its own Messaging account.
| Audience | Total | Only here |
|---|---|---|
| Client (owner) controls | 8 | 5 |
| Partner app permissions | 6 | 3 |
| In both | 3 | |
| Unique people | 11 |
Highlighting In both sets: 3. Both can add phone numbers, work with templates and see metrics and quality. Only the client can unshare, delete the accounts or change settings; only the partner's app sends through its own Messaging account.
What is a shared WABA?
A shared WABA is a WhatsApp Business Account (WABA) that lives in the client business's own Meta business portfolio and is shared with a partner — a Business Solution Provider (BSP), Tech Provider or agency — so the partner's app can work on it. The client is the owner; the partner receives a defined set of permissions. That makes it the opposite of the retired On-Behalf-Of model, in which the partner owned the account. Meta also calls this the Account Sharing model, and it is what Embedded Signup produces: when a client finishes a partner's flow, the accounts are created (or selected) under the client's portfolio and shared with the partner's app.
Meta's documentation lists what a partner can do on a shared account: add phone numbers, create templates, send messages to customers, assign users, access metrics and view payment information. The client can see insights, quality ratings and statuses, add and manage numbers and templates, connect Click-to-WhatsApp ads, change settings, delete the accounts and unshare them from the partner. Partners cannot hide or customise what the client sees.
The structure behind a shared WABA changed with Meta's new account model, generally available from 23 September 2026. The old WABA is split in two: a WhatsApp account (WAAC), always owned by the client, holding one phone number (and in future a business username), and a Messaging account holding templates, billing and webhook subscriptions, which keeps the old WABA ID. A client can now share one WhatsApp account with several partners, and each partner gets its own Messaging account, so templates, billing and analytics are isolated between partners while customers still see one number. Embedded Signup is the flow that creates a share; the shared WABA is the resulting relationship.
Key takeaways
- A shared WABA is owned by the client's business portfolio and shared with a partner, who receives permissions rather than ownership.
- Sharing is usually granted by completing the partner's Embedded Signup; the client can unshare at any time from Meta Business Suite.
- Partners can add numbers, create templates, send messages, assign users, access metrics and view payment information.
- Since September 2026 the client shares a WhatsApp account (the number) and each partner gets its own Messaging account.
- Partners on one number share its throughput and the portfolio messaging limit, but keep separate templates, billing and webhooks.
Specifications
A shared WABA: key facts and limits
- Owner
- The client's business portfolio
- Partner permissions
- Add numbers, create templates, send, assign users, metrics, view payment info
- Granted by
- Embedded Signup (or a client share in Meta Business Suite)
- Revoked by
- The client, in Meta Business Suite; partner gets account_update
- New model (from 23 Sep 2026)
- WhatsApp account (number) + one Messaging account per partner
- Shared between partners
- Throughput, quality rating, portfolio messaging limit
- Isolated per partner
- Templates, billing, analytics, webhook subscriptions
Operating sequence
How does a shared WABA work?
The client completes the partner's Embedded Signup
It logs in with Facebook Login for Business, picks or creates its business portfolio, WhatsApp account and number, and approves the permissions the partner's app requests.
The partner reads what was shared
Exchange the returned code for a business token, then call debug_token: granular_scopes lists the shared account IDs per permission, newest first.
The partner subscribes and registers
POST /{WABA_ID}/subscribed_apps to receive webhooks, register the number on the Cloud API, and send. The client or partner adds a payment method to the Messaging account.
Several partners can share one number
On the new model a second partner is added by the same flow and gets its own Messaging account. Its token passes messaging_account_id when it can bill more than one.
The client revokes access when it wants
In Meta Business Suite the client removes the partner from the accounts. The partner receives an account_update webhook and loses access; the number and its chats stay with the client.
Implementation
A shared WABA in code
# Which accounts did this client's token grant your app?curl -G "https://graph.facebook.com/v26.0/debug_token" \--data-urlencode "input_token={BUSINESS_TOKEN}" \-H "Authorization: Bearer {SYSTEM_USER_TOKEN}"# Every Messaging account (WABA ID) shared with your business portfoliocurl "https://graph.facebook.com/v26.0/{BUSINESS_PORTFOLIO_ID}/client_whatsapp_business_accounts" \-H "Authorization: Bearer {SYSTEM_USER_TOKEN}"# Start receiving the account's webhookscurl -X POST "https://graph.facebook.com/v26.0/{WABA_ID}/subscribed_apps" \-H "Authorization: Bearer {BUSINESS_TOKEN}"
Calls on accounts you do not own need Advanced Access to whatsapp_business_management, or they fail with error 200.
Failure modes
Common mistakes with a shared WABA
Assuming the partner owns the account
On a shared WABA the client owns it. Partners should never build business plans on holding a client's number; clients should check ownership in their own portfolio's account list.
Not subscribing the app after sharing
A share without POST /{WABA_ID}/subscribed_apps means no inbound messages or statuses reach your webhook. Subscribe as part of onboarding and verify with a GET.
Ignoring account_update
When a client removes you, sends start failing. Handle the webhook: stop queues for that account, alert the account manager and mark it offboarded.
Colliding with another partner on the same number
Two partners share the number's throughput and messaging limit. A partner sending a large campaign can push another partner's OTPs into rate-limit errors, so coordinate.
Attaching a credit line and expecting to share further
A Messaging account owned by the client that carries a partner's credit line cannot be shared with another partner. Plan billing before adding partners.
Example: A Surat textile exporter works with two partners
A textile exporter in Surat owns its WhatsApp account in its own business portfolio. Its first partner runs order updates and support; in October 2026 it adds a second partner that specialises in marketing campaigns. The owner completes the second partner's Embedded Signup with the same number, and Meta creates a separate Messaging account for it, so the marketing partner's templates and invoices never mix with the support partner's. Both partners see the number's quality rating, and they agree a schedule because they share its throughput and the portfolio's daily messaging limit. When the exporter later ends the marketing contract, it removes that partner in Meta Business Suite; the partner's app receives an account_update webhook, and support conversations carry on untouched.
Design intent
Why does a shared WABA matter?
Who owns the account decides who can leave. Because a shared WABA stays in the client's portfolio, the business can add a partner, remove one, or work with two at once without changing its number, and partners cannot hold the number hostage. For developers, the share defines what a token may do: an app that lacks Advanced Access, or that was never shared the account, gets permission errors, and an app that is removed receives an account_update webhook. Getting this right is also how a business proves to auditors exactly which third parties can send in its name.
Recommended practice
Best practices for a shared WABA
- Clients: keep at least two admins on your business portfolio so you can always revoke a partner.
- Partners: store the WABA ID, phone number ID and business token per client, and re-run debug_token when something fails.
- Review the partner list in Meta Business Suite every quarter and remove anyone you no longer work with.