Meta update: PARTNER_REMOVED webhook now tells you why a coexistence user got disconnected
If you've been following my previous AMA on coexistence (WhatsApp Business app + Cloud API running simultaneously), here's a small but useful update that just rolled out from Meta.
The account_update webhook's PARTNER_REMOVED event now includes a new disconnection_info object, but only in specific scenarios. Here's what you need to know.
What's in the object?
Two fields:
reason — one of:
• BUSINESS_DOWNGRADE — client downgraded from a plan that supported coexistence
• PRIMARY_INACTIVITY — the primary device (WA Business app) was inactive
• COMPANION_INACTIVITY — the companion/linked device went inactive
initiated_by — either USER or SYSTEM
Before (standard PARTNER_REMOVED)
{
"object": "whatsapp_business_account",
"entry": [{
"id": "2949482758682047",
"changes": [{
"value": {
"event": "PARTNER_REMOVED",
"waba_info": {
"waba_id": "980198427658004",
"owner_business_id": "2329417887457253"
}
},
"field": "account_update"
}]
}]
}
After (coexistence disconnection)
{
"object": "whatsapp_business_account",
"entry": [{
"id": "2949482758682047",
"changes": [{
"value": {
"event": "PARTNER_REMOVED",
"waba_info": {
"waba_id": "980198427658004",
"owner_business_id": "2329417887457253"
},
"disconnection_info": {
"reason": "PRIMARY_INACTIVITY",
"initiated_by": "SYSTEM"
}
},
"field": "account_update"
}]
}]
}
Why does this matter?
Previously, when a coexistence user got disconnected, you'd get a generic PARTNER_REMOVED with zero context. You'd have no idea if the user manually removed you, downgraded their plan, or just stopped using their phone for a while.
Now you can differentiate. A SYSTEM + PRIMARY_INACTIVITY combo means the device went quiet on its own. You might want to trigger a re-engagement flow or prompt the user to reconnect. A USER + BUSINESS_DOWNGRADE is a deliberate action and should be handled differently.
This feature is part of a gradual rollout and may not be available to you immediately. Worth wiring this into your webhook handler sooner rather than later, even if the rollout hasn't hit you yet.
Happy to answer questions about coexistence setup or handling these webhooks in practice. Ask away.