Appearance
Message Templates
Updated: Jun 30, 2026



Message templates let you combine buttons, images, lists, and more alongside text in a single message, going beyond what standard text messages support. Use templates for many purposes, such as displaying product information, asking the message recipient to choose from a predetermined set of options, and showing search results.
Available templates
The following templates are available for sending structured messages:
| Template | Description | Use case |
|---|---|---|
| Button | Text message with up to three attached buttons. | Offer the recipient predefined response options or actions to take. |
| Generic | Structured message with a title, subtitle, image, and up to three buttons. Supports a default_action URL. | Display product cards, search results, or content previews. |
| Media | Send images, GIFs, or video as a structured message with a button. Videos and GIFs are playable in the conversation. | Share rich media with an optional call-to-action. |
| Receipt | Order confirmation with order summary, payment details, and shipping information. | Send purchase confirmations and order receipts. |
| Product | Renders products from your catalog. Product details (image, title, price) are pulled automatically. | Showcase products from your catalog in a conversation. |
| Coupon | Send a coupon or discount offer in a structured format. | Deliver promotional offers or discount codes. |
| Customer Feedback | Native feedback survey template for measuring customer experience. Supports rating scales and free-text responses. | Collect customer satisfaction data after a support interaction. |
| Image Grid | Grid of 2 to 6 images in a single message, each with an optional tap action, plus an optional title, subtitle, and up to three buttons. | Showcase product variants, a photo gallery, or a small set of related items. |
| Utility Messaging | Pre-approved template for order updates, account notifications, and appointment reminders with personalized details and call-to-action buttons. | Send transactional updates such as shipping status, appointment reminders, or account alerts. |
| Structured Information | Collect customer information, such as shipping details, within a conversation. | Gather structured details, for example shipping information, from the recipient. |
Choosing a template
Use this guide to select the right template for your use case:
- Presenting options or actions → Button template
- Displaying a product, article, or content card → Generic template
- Sharing an image, GIF, or video → Media template
- Confirming a purchase or order → Receipt template
- Showcasing catalog products → Product template
- Sending a promotional offer → Coupon template
- Collecting feedback after an interaction → Customer Feedback template
- Showing a gallery or set of related images → Image Grid template
- Sending transactional updates (orders, appointments, accounts) → Utility Messaging template
Send a message template
To send a message template, send a POST request to the /<PAGE_ID>/messages endpoint with the recipient's Page-scoped ID, the messaging_type, and the message attachment containing the template type and payload with details about the specific template, such as title, images, and buttons.
curl -X POST -H "Content-Type: application/json" -d '{
"recipient":{
"id":"<PSID>"
},
"messaging_type":"RESPONSE",
"message":{
"attachment":{
"type":"template",
"payload":{
"template_type":"<TEMPLATE_TYPE>",
"elements":[
{
"title":"<TEMPLATE_TITLE>",
...
}
]
}
}
}
}' "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/messages?access_token=<PAGE_ACCESS_TOKEN>"The body of the request follows a standard format for all template types, with the message.attachment.payload property containing the type and content details that are specific to each template type.
Using buttons
Most message templates allow you to incorporate one or more buttons as part of the template. These buttons allow you to offer the message recipient actions they can take in response to the template.
The button types you can use vary by template. See the specific template reference documentation for more information.
For more on button types available in the Messenger Platform, see Buttons.