Appearance
Buttons
Updated: Apr 22, 2026
Most message templates, as well as the persistent menu, support buttons that invoke different types of actions. These buttons allow you to offer the message recipient actions they can take in response to the template. Examples include opening the Messenger webview, starting a payment flow, and sending a postback message to your webhook.
For message templates, buttons are defined by objects in the buttons array. For the persistent menu, buttons are defined by objects in the call_to_actions array.
Button types
| Button | Type value | Description |
|---|---|---|
| URL button | web_url | Opens a web page in the Messenger webview |
| Postback button | postback | Sends a postback event to your webhook |
| Call button | phone_number | Dials a phone number |
| Log in button | account_link | Triggers the account linking authentication flow |
| Log out button | account_unlink | Unlinks a linked account |
| Game play button | game_play | Launches an Instant Game |
Best practices
- Use buttons to prompt for follow-up or further interaction with a particular message.
- Start with a verb to help people understand the action they are taking.
- Use URL buttons for tasks that you want completed on your website (for example, purchases, or account linking). Make it clear you are sending people outside of Messenger.
- Send a response after someone taps a postback button. This confirms that you have processed or completed their action (for example, canceling a reservation or answering a question).
- Do not use buttons when their action depends on the current state of the bot, since buttons are permanently available in the thread.
- Do not use more than 1 to 3 words or add punctuation. Keep your text under 20 characters, including spaces.
- Do not rely on URLs for every button. The more interactions you can build within Messenger, the more seamless your experience will be.
- Do not use a single postback button. When there is only one button to choose from, people often think it is a continuation of your message text and do not understand it is an action you want them to take.
Learn more
- Quick replies — get message recipient input with inline buttons
- Message templates — structured messages that support buttons
- Persistent menu — always-available menu with button actions