# Text messages webhook reference | Developer Documentation

<div id="bkmrk-text-messages-webhoo">## Text messages webhook reference

<div><span>Updated: Oct 27, 2025</span></div><div>This reference describes trigger events and payload contents for the WhatsApp Business Account **messages** webhook for messages containing only text.</div><div id="bkmrk-triggers"><div id="bkmrk-triggers-1"><div>### Triggers

</div></div></div><span>A WhatsApp user sends a text message to a WhatsApp business phone number.</span><span>A WhatsApp user forwards a text message to a business phone number.</span><span>A WhatsApp user uses the **Message business** button in a [catalog, single-, or multi-product message](/books/meta-whatsapp/page/catalogs-overview-developer-documentation) to send a message to the business.</span><span>A WhatsApp user sends a text message to a business via a [Click to WhatsApp ad<span>?</span>](https://www.facebook.com/business/help/447934475640650?id=371525583593535) (an ad with a WhatsApp **message destination**).</span><div id="bkmrk-parameters"><div id="bkmrk-parameters-1"><div>### Parameters

</div></div></div><div><table style="width:100%;table-layout:fixed;"><thead><tr><th style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;width:28%;overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><span>Placeholder </span></th><th style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;width:47%;overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><span>Description </span></th><th style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;width:25%;overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><span>Example value </span></th></tr></thead><tbody><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<AD_CLICK_ID>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>Click to WhatsApp ad click ID.</div><div>The `ctwa_clid` property is omitted entirely for messages originating from an ad in WhatsApp Status ([WhatsApp Status ad placements<span>?</span>](https://www.facebook.com/business/help/1074444721456755)).</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`Aff-n8ZTODiE79d22KtA...aIAeUzHL50`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<AD_GREETING_TEXT>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>Click to WhatsApp ad greeting text.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`Hi there! Let us know how we can help!`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<AD_HEADLINE>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>Click to WhatsApp ad headline.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`Chat with us`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<AD_ID>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>Click to WhatsApp ad ID.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`120226305854810726`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<AD_IMAGE_URL>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>Click to WhatsApp ad image URL. Only included if the ad is an image ad.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`https://scontent.xx.fbcdn.net/v/t45.1...`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<AD_MEDIA_TYPE>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>Click to WhatsApp ad media type. Values can be:</div><div>`image` - Indicates an image ad.</div><div>`video` - Indicates a video ad.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`image`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<AD_PRIMARY_TEXT>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>Click to WhatsApp ad primary text.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`Summer succulents are here!`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<AD_URL>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>Click to WhatsApp ad URL.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`https://fb.me/3cr4Wqqkv`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<AD_VIDEO_THUMBNAIL>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>Click to WhatsApp ad video thumbnail URL. Only included if ad is a video ad.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`https://scontent.xx.fbcdn.net/v/t45.3...`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<AD_VIDEO_URL>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>Click to WhatsApp ad video URL. Only included if ad is a video ad.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`https://scontent.xx.fbcdn.net/v/t45.2...`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<BUSINESS_DISPLAY_PHONE_NUMBER>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>Business display phone number.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`15550783881`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<BUSINESS_PHONE_NUMBER_ID>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>Business phone number ID.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`106540352242922`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<CONTEXTUAL_WHATSAPP_MESSAGE_ID>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>WhatsApp message ID of the message the WhatsApp user used to access the Message business button.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`wamid.HBgLMTY1MDM4Nzk0MzkVAgARGA9wcm9kdWN0X2lucXVpcnkA`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<IDENTITY_KEY_HASH>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>Identity key hash. Only included if you have enabled the [identity change check](/books/meta-whatsapp/page/business-phone-numbers-developer-documentation) feature.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`DF2lS5v2W6x=`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<MESSAGE_TEXT_BODY>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>Text body of the message.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`Is it available in another color?`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<PRODUCT_CATALOG_ID>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>[Product catalog ID](/books/meta-whatsapp/page/catalogs-overview-developer-documentation).</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`194836987003835`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<PRODUCT_ID>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>[Product ID](/books/meta-whatsapp/page/catalogs-overview-developer-documentation).</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`di9ozbzfi4`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<WEBHOOK_TRIGGER_TIMESTAMP>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>Unix timestamp indicating when the webhook was triggered.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`1739321024`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<WHATSAPP_BUSINESS_ACCOUNT_ID>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>WhatsApp Business Account ID.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`102290129340398`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<WHATSAPP_MESSAGE_ID>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>WhatsApp message ID.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`wamid.HBgLMTY1MDM4Nzk0MzkVAgASGBQzQUFERjg0NDEzNDdFODU3MUMxMAA=`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<WHATSAPP_USER_ID>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>WhatsApp user ID. Note that a WhatsApp user's ID and phone number may not always match.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`16505551234`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<WHATSAPP_USER_PHONE_NUMBER>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>WhatsApp 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.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`+16505551234`</div></div></td></tr><tr><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`<WHATSAPP_USER_PROFILE_NAME>`</div><div>*String*</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>WhatsApp user's name as it appears in their profile in the WhatsApp client.</div></div></td><td style="overflow-wrap:anywhere;word-break:break-word;vertical-align:top;"><div><div>`Sheena Nelson`</div></div></td></tr></tbody></table>

</div></div>