Menu

Creating a menu in Facebook Messenger, you can highlight important actions or provide a link to a webpage. Menu for Facebook Messenger is hierarchical and consists of different menu items:

🚧

The Menu requires Get Started Button

You must set a Get Started Button if you want to use the menu in Facebook Messenger.

📘

Testing Tips

Facebook Messenger menu is cached by default. If you update the menu while testing just refresh the page. If it doesn't help, try refreshing the web. If it doesn't help, try deleting the messenger thread and then beginning the conversation once again.

The Menu is visible only if:

  • Facebook Messenger has a version 106 and above.
  • The attached Facebook page must be published.
909909

Menu in Facebook Messenger.

909909

Nested menu items.

{
  "menu": [
    {
      "locale": "default",
      "items": [
        {
          "type": "url",
          "title": "URL Item",
          "payload": "http://www.google.com/"
        },
        {
          "type": "postback",
          "title": "POSTBACK Item",
          "payload": "POSTBACK DATA"
        },
        {
          "type": "menu",
          "title": "NESTED Item",
          "payload": {
            "items": [
              {
                "type": "url",
                "title": "NESTED URL Item",
                "payload": "http://www.google.com/"
              }
            ]
          }
        }
      ]
    }
  ]
}
ParameterTypeDescription
menu[].localestringSpecifies locale of given menu. Value has to be in form of locale or default.
menu[].itemsarray[object]List of menu item objects. Maximum allowed size is 3.

Url Menu Item

ParameterTypeDescription
typestringMust be set to url.
titlestringTitle of the menu item. A maximum size of 30 characters.
payloadstringMust be a valid URL.

Postback Menu Item

ParameterTypeDescription
typestringMust be set to postback.
titlestringTitle of the menu item. A maximum size of 30 characters.
payloadstringThis data will be sent back to Postback Received webhook. A maximum size of 1000 characters.

Nested Menu

ParameterTypeDescription
typestringMust be set to menu. The maximal hierarchical depth is 3 levels.
titlestringTitle of the menu item. A maximum size of 30 characters.
payloadobjectObject with attribute items holding an array of nested menu items.

The maximum number of items is 5 objects.

Menu can have a deep nesting up to level of 3.