Contact synced
A contact added to or removed from the WhatsApp Business app on a coexistence number. WhaBuzz raises one event per contact item, so the two items below arrive as two events. wa_id is the contact's num
A contact added to or removed from the WhatsApp Business app on a coexistence number. WhaBuzz raises one event per contact item, so the two items below arrive as two events. wa_id is the contact's number. This sample is Meta's documented payload, not a capture from a live number.
Event type: contact.synced. Fixture payloads are the WhaBuzz Demo tenant's real ids with a fictional customer number; id, tenant_id and created_at in envelopes are illustrative.
#Contact added and removed
What Meta POSTs to WhaBuzz (fixtures/meta/smb_app_state_sync.json):
{
"object": "whatsapp_business_account",
"entry": [
{
"id": "26059971920328384",
"changes": [
{
"value": {
"messaging_product": "whatsapp",
"metadata": {
"display_phone_number": "14692311132",
"phone_number_id": "1013622581841046"
},
"state_sync": [
{
"type": "contact",
"contact": {
"full_name": "Kerry Fisher",
"first_name": "Kerry",
"phone_number": "+16505551234"
},
"action": "add",
"metadata": {
"timestamp": "1760592100"
}
},
{
"type": "contact",
"contact": {
"full_name": "Asha Rao",
"first_name": "Asha",
"phone_number": "+16505559876"
},
"action": "remove",
"metadata": {
"timestamp": "1760592101"
}
}
]
},
"field": "smb_app_state_sync"
}
]
}
]
}What your endpoint receives (event 1 of 2, entry[0].changes[0].value.state_sync[0]), as the body of a signed POST. raw is abbreviated here; on the wire it is the full body above.
{
"id": "evt_01JAB3K9X2S8C4M7Q1V5R6T0YZ",
"type": "contact.synced",
"api_version": "2026-10-16",
"created_at": "2025-10-16T05:21:40.481Z",
"tenant_id": "a578246e-b97f-48e6-ae42-939ec3ccf917",
"waba_id": "26059971920328384",
"phone_number_id": "1013622581841046",
"display_phone_number": "14692311132",
"wamid": null,
"wa_id": "16505551234",
"user_id": null,
"dedupe_key": "ctc:1013622581841046:16505551234:add:1760592100",
"data": {
"messaging_product": "whatsapp",
"metadata": {
"display_phone_number": "14692311132",
"phone_number_id": "1013622581841046"
},
"field": "smb_app_state_sync",
"item": {
"type": "contact",
"contact": {
"full_name": "Kerry Fisher",
"first_name": "Kerry",
"phone_number": "+16505551234"
},
"action": "add",
"metadata": {
"timestamp": "1760592100"
}
}
},
"raw": {
"…": "the complete Meta POST body, byte for byte, as shown above"
},
"raw_path": "entry[0].changes[0].value.state_sync[0]"
}What your endpoint receives (event 2 of 2, entry[0].changes[0].value.state_sync[1]), as the body of a signed POST. raw is abbreviated here; on the wire it is the full body above.
{
"id": "evt_01JAB3K9X2S8C4M7Q1V5R6T0YZ",
"type": "contact.synced",
"api_version": "2026-10-16",
"created_at": "2025-10-16T05:21:41.481Z",
"tenant_id": "a578246e-b97f-48e6-ae42-939ec3ccf917",
"waba_id": "26059971920328384",
"phone_number_id": "1013622581841046",
"display_phone_number": "14692311132",
"wamid": null,
"wa_id": "16505559876",
"user_id": null,
"dedupe_key": "ctc:1013622581841046:16505559876:remove:1760592101",
"data": {
"messaging_product": "whatsapp",
"metadata": {
"display_phone_number": "14692311132",
"phone_number_id": "1013622581841046"
},
"field": "smb_app_state_sync",
"item": {
"type": "contact",
"contact": {
"full_name": "Asha Rao",
"first_name": "Asha",
"phone_number": "+16505559876"
},
"action": "remove",
"metadata": {
"timestamp": "1760592101"
}
}
},
"raw": {
"…": "the complete Meta POST body, byte for byte, as shown above"
},
"raw_path": "entry[0].changes[0].value.state_sync[1]"
}This page as Markdown: /events/contact-synced.md. All docs in one file: /llms-full.txt. Status.