persistent_menu
ReferenceThe persistent menu can be set for your bot to help people discover and more easily access your functionality throughout the conversation.
The Persistent Menu is always available to the user. This menu should contain top-level actions that users can enact at any point. Having a persistent menu easily communicates the basic capabilities of your bot for first-time and returning users. The menu will automatically appear in a thread if the person has been away for a certain period of time and returns. This settings are part of the Messenger Profile API Reference
The persistent manu can also be set and changed at the user level. For more information on it see user level menu.
To use the persistent menu, you must do the following:
persistent_menu
Format{
"persistent_menu": [
{
"locale": "default",
"composer_input_disabled": false,
"call_to_actions": [
{
"type": "postback",
"title": "Talk to an agent",
"payload": "CARE_HELP"
},
{
"type": "postback",
"title": "Outfit suggestions",
"payload": "CURATION"
},
{
"type": "web_url",
"title": "Shop now",
"url": "https://www.originalcoastclothing.com/",
"webview_height_ratio": "full"
}
]
}
]
}
Property | Type | Description |
---|---|---|
| String | An array of objects that define the persistent menu for different locales. The menu with a At least one object in the See the list of supported locales. |
| Boolean | Disables the Messenger composer field if set to Defaults to |
| Array | Array of interface names to disable the persistent menu in. Currently only |
| Array< | An array of top-level menu items for the persistent menu. A maximum of 3 items is allowed. Required if |
menu_item
objectProperty | Type | Description |
---|---|---|
| String | The type of menu item. Supported values are:
|
| String | Title to display on the menu item. 30 character limit. |
| String | URL to open when the button is tapped. Required if type is |
| String | Data that will be sent back to your webhook as a |
| String | Optional. Height of the webview. Valid values include |
| Boolean | Optional. Must be |
| String | Optional. URL to open in the webview for clients that do not support the Messenger Extensions SDK. If this is not defined, the |
| String | Optional. Set to |
There may be cases where it is preferable to disable the persistent menu for your bot in the Chat Plugin. To do this, add "disabled_surfaces": ["CUSTOMER_CHAT_PLUGIN"]
when you set your persistent menu:
{
"persistent_menu":[
{
"locale":"default",
"disabled_surfaces": ["CUSTOMER_CHAT_PLUGIN"],
"composer_input_disabled": false,
"call_to_actions":[
{
"title":"My Account",
"type":"postback",
"payload":"PAYBILL_PAYLOAD"
}
]
}
]
}
Calls to the Messenger Profile API are limited to 10 API calls per 10 minute interval. This rate limit is enforced per Page.
Note that calls to the user level menu are limited to 10 API calls per user per 10 minute interval. This rate limit is enforced per Page.