Meta Business Agent will not deliver you a usable record of its conversations unless your app subscribes to the standby webhook and to messaging_handovers.
Neither field appears in WhatsApp's own webhook field reference, which lists nineteen fields and was last updated on 29 April 2026.
Both are documented, but under Messenger Platform, in Messenger vocabulary: page objects, Page IDs, PSIDs and postbacks. None of those exist on WhatsApp.
Meta's WhatsApp changelog records Standby Webhooks documentation being added on 4 August 2026. The field list was not updated to match.
The failure is silent. The agent still answers your customer. You simply stop receiving the conversation.
Meta Business Agent lets a business run an AI agent that answers WhatsApp conversations autonomously. Meta names thread control among its capabilities, describing it as managing handoffs between the AI agent and human agents.
What the standby webhook does, and why you need it
The standby webhook field receives traffic for conversations the Meta Business Agent is handling. When the agent becomes the primary responder for a conversation, that conversation's messages stop arriving on the messages field your existing integration subscribes to. They arrive on standby instead. Without that subscription, the conversation happens and no record of it reaches your application.
If you have not subscribed to that field, nothing errors. Your endpoint stays healthy, your existing messages subscription keeps working for everything else, and the agent keeps answering your customers correctly. What you lose is the record. The conversation happens and you receive none of it.
That is the shape worth naming: not a crash, not a rejected request, just an absence that looks exactly like a quiet day.
Where the standby webhook is actually documented
Meta's WhatsApp webhook reference has a Fields table listing nineteen fields, from account_alerts through user_preferences. standby is not one of them. Neither is messaging_handovers.
WhatsApp's webhook field reference lists nineteen fields: account_alerts, account_review_update, account_update, business_capability_update, flows, message_template_quality_update, message_template_status_update, messages, phone_number_name_update, phone_number_quality_update, security, template_category_update, user_preferences, and others through to the full nineteen. standby and messaging_handovers are not among them. The list was last updated 29 April 2026.
Both fields do have reference documentation. It sits under Messenger Platform.
| Field | Where documented | Last updated |
|---|---|---|
standby |
Messenger Platform webhook events | 25 September 2024 |
messaging_handovers |
Messenger Platform webhook events | 14 September 2021 |
| WhatsApp webhook Fields table | WhatsApp Business Platform | 29 April 2026 |
The dates are the interesting part. WhatsApp's field list is the most recently maintained of the three, and it is the one that omits them.
The documentation you are sent to is about something else
The standby webhook reference sits under Messenger Platform, not WhatsApp Business Platform. It describes a callback that fires when a message is sent to a page while your application is not the current thread owner. The example payload opens with "object":"page" and carries a PAGE_ID. Postbacks, PSIDs, and page objects appear throughout. None of those exist on WhatsApp, which uses "object":"whatsapp_business_account" and routes on a phone number ID. You are expected to read a Messenger reference and translate it into WhatsApp terms.
The messaging_handovers reference is older still, dating to 2021, and documents pass_thread_control and take_thread_control events carrying previous_owner_app_id and new_owner_app_id.
This is not a claim that standby is undocumented or that Meta Business Agent is broken. The feature works, Meta added Standby Webhooks documentation for WhatsApp on 4 August 2026, and providers who have implemented it handle these fields on your behalf. The gap is narrower: the canonical WhatsApp field list does not name either field, and the reference documentation they are pointed to was written for a different product.
Why the documentation lives where it does
The handover protocol Meta Business Agent uses is not specific to WhatsApp. It is the thread control mechanism Messenger has used since 2021 for two applications sharing a conversation: one holds the thread, the other watches on standby, and pass_thread_control and take_thread_control transfer ownership between them. Meta reused that protocol rather than building a new one. The documentation predates the WhatsApp feature.
The consequence for a reader: if you are implementing against WhatsApp, the authoritative description of two fields you need is written in terms of a product you are not using, and the field list for the product you are using does not mention them.
What messaging_handovers carries, and why you need it separately
messaging_handovers is the webhook field that fires when thread control changes — when the Meta Business Agent takes over a conversation or when your application takes it back. It carries the application that previously owned the thread and the one that owns it now. Without it, you can reconstruct a transcript but not the custody chain — which application was responsible at which moment.
Treat the two as a pair. One is the content, the other is the timeline.
What to check before you enable the agent
Confirm your app is subscribed to standby and messaging_handovers, not only messages. The App Dashboard configuration panel is where subscriptions are managed, and the absence of a field from the published list does not mean it cannot be selected.
Test the failure rather than assuming it. Enable the agent, have a colleague message the number, and confirm the exchange actually arrives at your endpoint.
The pattern, not just this instance
We have documented several gaps of this kind in Meta's platform documentation, and they share a shape. A mechanism is specified completely somewhere, and the one page a reader would consult does not point at it.
When a feature depends on something you cannot find in the obvious place, assume the obvious place is incomplete rather than assuming the thing does not exist.
Sources
- Webhooks, WhatsApp Business Platform — Fields table, 19 fields, updated 29 April 2026
- standby Webhook Event Reference, Messenger Platform — updated 25 September 2024
- messaging_handovers Webhook Event Reference, Messenger Platform — updated 14 September 2021
- About the WhatsApp Business Platform — Meta Business Agent capabilities
Originally published at botsense.io
Top comments (0)