


| Template | Description | Use case |
|---|---|---|
Text message with up to three attached buttons. | Offer the recipient predefined response options or actions to take. | |
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. | |
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. | |
Order confirmation with order summary, payment details, and shipping information. | Send purchase confirmations and order receipts. | |
Renders products from your catalog. Product details (image, title, price) are pulled automatically. | Showcase products from your catalog in a conversation. | |
Send a coupon or discount offer in a structured format. | Deliver promotional offers or discount codes. | |
Native feedback survey template for measuring customer experience. Supports rating scales and free-text responses. | Collect customer satisfaction data after a support interaction. | |
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. |
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>"
message.attachment.payload property containing the type and content details that are specific to each template type.