Skip to content

Button messages webhook reference

Updated: Jun 17, 2026

This reference describes trigger events and payload contents for the WhatsApp Business account messages webhook for quick-reply button messages.

Triggers

  • A WhatsApp user taps a quick-reply button in a template message.

Syntax

{  
  "object": "whatsapp_business_account",  
  "entry": [  
    {  
      "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",  
      "changes": [  
        {  
          "value": {  
            "messaging_product": "whatsapp",  
            "metadata": {  
              "display_phone_number": "<BUSINESS_DISPLAY_PHONE_NUMBER>",  
              "phone_number_id": "<BUSINESS_PHONE_NUMBER_ID>"  
            },  
            "contacts": [  
              {  
                "profile": {  
                  "name": "<WHATSAPP_USER_PROFILE_NAME>"  
                },  
                "wa_id": "<WHATSAPP_USER_ID>",  
                "identity_key_hash": "<IDENTITY_KEY_HASH>" <!-- only included if identity change check enabled -->  
              }  
            ],  
            "messages": [  
              {  
                "context": {  
                  "from": "<BUSINESS_DISPLAY_PHONE_NUMBER>",  
                  "id": "<CONTEXTUAL_WHATSAPP_MESSAGE_ID>"  
                },  
                "from": "<WHATSAPP_USER_PHONE_NUMBER>",  
                "id": "<WHATSAPP_MESSAGE_ID>",  
                "timestamp": "<WEBHOOK_TRIGGER_TIMESTAMP>",  
                "type": "button",  
                "button": {  
                  "payload": "<BUTTON_LABEL_TEXT>",  
                  "text": "<BUTTON_LABEL_TEXT>"  
                }  
              }  
            ]  
          },  
          "field": "messages"  
        }  
      ]  
    }  
  ]  
}

Parameters

PlaceholderDescriptionExample value
<BUSINESS_DISPLAY_PHONE_NUMBER> StringBusiness display phone number.15550783881
<BUSINESS_PHONE_NUMBER_ID> StringBusiness phone number ID.106540352242922
<BUTTON_LABEL_TEXT> StringQuick-reply button label text.Unsubscribe
<CONTEXTUAL_WHATSAPP_MESSAGE_ID> StringWhatsApp message ID of the message containing the button the WhatsApp user tapped.wamid.HBgLMTQxMjU1NTA4MjkVAgASGBQzQUNCNjk5RDUwNUZGMUZEM0VBRAA=
<IDENTITY_KEY_HASH> StringIdentity key hash. Only included if you have enabled the identity change check feature.DF2lS5v2W6x=
<WEBHOOK_TRIGGER_TIMESTAMP> StringUnix timestamp indicating when the webhook was triggered.1739321024
<WHATSAPP_BUSINESS_ACCOUNT_ID> StringWhatsApp Business Account ID.102290129340398
<WHATSAPP_MESSAGE_ID> StringWhatsApp message ID.wamid.HBgLMTY1MDM4Nzk0MzkVAgASGBQzQUFERjg0NDEzNDdFODU3MUMxMAA=
<WHATSAPP_USER_ID> StringWhatsApp user ID. Note that a WhatsApp user's ID and phone number may not always match.16505551234
<WHATSAPP_USER_PHONE_NUMBER> StringWhatsApp user phone number. This is the same value returned by the API as the input value when sending a message to a WhatsApp user. Note that a WhatsApp user's phone number and ID may not always match.+16505551234
<WHATSAPP_USER_PROFILE_NAME> StringWhatsApp user's name as it appears in their profile in the WhatsApp client.Sheena Nelson

Example

The following example shows a quick-reply button messages webhook payload.

{  
  "object": "whatsapp_business_account",  
  "entry": [  
    {  
      "id": "102290129340398",  
      "changes": [  
        {  
          "value": {  
            "messaging_product": "whatsapp",  
            "metadata": {  
              "display_phone_number": "15550783881",  
              "phone_number_id": "106540352242922"  
            },  
            "contacts": [  
              {  
                "profile": {  
                  "name": "Sheena Nelson"  
                },  
                "wa_id": "16505551234"  
              }  
            ],  
            "messages": [  
              {  
                "context": {  
                  "from": "15550783881",  
                  "id": "wamid.HBgLMTQxMjU1NTA4MjkVAgASGBQzQUNCNjk5RDUwNUZGMUZEM0VBRAA="  
                },  
                "from": "16505551234",  
                "id": "wamid.HBgLMTY1MDM4Nzk0MzkVAgASGBQzQUFERjg0NDEzNDdFODU3MUMxMAA=",  
                "timestamp": "1750091045",  
                "type": "button",  
                "button": {  
                  "payload": "Unsubscribe",  
                  "text": "Unsubscribe"  
                }  
              }  
            ]  
          },  
          "field": "messages"  
        }  
      ]  
    }  
  ]  
}

Unofficial mirror for reference/search purposes. All content originates from developers.facebook.com — see the source link at the top of each page. Machine-readable indexes: llms.txt · llms-full.txt · About