smb_app_state_sync Webhook

Field reference for WhatsApp smb_app_state_sync webhooks: Coexistence contact sync, add/remove actions, direct routing, and Dualhook handling.

The smb_app_state_sync field synchronizes WhatsApp Business app contact state for a business customer onboarded through a solution provider. In Dualhook setups, it is direct-routed to your endpoint via Webhook Override.

What smb_app_state_sync Reports

This field reports contact-book changes from the WhatsApp Business app:

  • a contact was added,
  • a contact was edited,
  • a contact was removed,
  • the initial app contact sync was triggered after onboarding.

The payload is not a Cloud API message send or delivery status. It is contact state from the business customer's WhatsApp Business app.

When It Fires

Meta sends this field when a provider synchronizes the business app contacts after onboarding, and later when the business customer adds, edits, or removes contacts in the WhatsApp Business app address book.

Payload Shape

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<WABA_ID>",
      "changes": [
        {
          "field": "smb_app_state_sync",
          "value": {
            "messaging_product": "whatsapp",
            "metadata": {
              "display_phone_number": "15550783881",
              "phone_number_id": "106540352242922"
            },
            "state_sync": [
              {
                "type": "contact",
                "contact": {
                  "full_name": "Pablo Morales",
                  "first_name": "Pablo",
                  "phone_number": "16505551234"
                },
                "action": "add",
                "metadata": {
                  "timestamp": "1739321024"
                }
              }
            ]
          }
        }
      ]
    }
  ]
}
FieldNotes
state_sync[].typeCurrently contact sync uses contact.
state_sync[].actionadd means added or edited; remove means removed.
contact.full_name / contact.first_namePresent for add/edit, omitted for removals.
contact.phone_numberWhatsApp contact phone number.
metadata.timestampTimestamp for the contact-state event.

Dualhook Handling

Dualhook does not ingest, store, forward, or replay smb_app_state_sync payloads. This field is direct-routed through Webhook Override, so Meta sends contact-sync payloads to your configured endpoint.

During Coexistence onboarding, Dualhook triggers Meta's one-time contact sync after Webhook Override is accepted. A successful trigger only means Meta accepted the sync request; it does not prove that contacts were delivered or that your endpoint processed them. Future app contact changes also go Meta → your endpoint.

If your endpoint misses contact-sync payloads, Dualhook has no stored copy to replay.

Implementation Notes

  • Treat add as upsert. Meta uses it for both new and edited contacts.
  • Treat remove as deletion or tombstone, and do not require name fields on remove events.
  • Process asynchronously if the initial sync includes many contacts.
  • Deduplicate by WABA ID, phone number ID, contact phone number, action, and timestamp.
  • Review your privacy posture: once your endpoint receives contact sync, your system becomes the contact-data storage boundary.

Related

  • Webhook Subscription FieldsReference list of all 22+ WhatsApp Business Platform webhook subscription fields, what each notifies you of, required permissions, payload size limits, retry policy, mTLS support, and IP allowlisting.
  • WhatsApp Webhook OverrideHow Dualhook uses WhatsApp Webhook Override to route supported customer-path webhooks directly from Meta to your server.
  • WhatsApp CoexistenceHow Coexistence mode works: using WhatsApp Business App and Cloud API on the same number.
  • history WebhookField reference for WhatsApp history webhooks: Coexistence chat-history sync, phases, chunks, declined sharing, direct routing, and Dualhook handling.
  • Compliance & Data RetentionPrivacy boundary, configurable retention, CSV export, and organization isolation.
Browse more docsStart Free Trial