barsPersistent Menu

The persistent menu defines menu items that are available from supported chat interfaces, including the web widget. It is useful for common actions such as contacting support, opening account pages, starting key workflows, or grouping self-service options.

Open it from Content > Persistent Menu or go to /content/persistent-menu.

How It Works

The admin panel stores menu items as a tree. When a web-style channel source connects a widget session, Hexabot sends the menu tree to the client. The widget shows a menu button when menu items are available.

Clicking a menu item can:

Type
Runtime behavior

Web URL

Opens the configured URL in a new browser tab.

Postback

Sends a postback message to Hexabot with text and payload.

Nested

Opens a submenu containing child menu items.

Use postback menu items when a workflow should react to the selection. Use web URL menu items when the user should leave the chat and open a page.

The page shows root menu items and their nested children. Nested menu items can be expanded and collapsed.

Available controls depend on permissions:

Control
Use it for

Add

Create a root menu item.

Append

Add a child under a nested item.

Pencil

Edit an item.

Trash

Delete an item after confirmation.

The Add button is disabled when there are 10 root menu items.

Create a Root Menu Item

  1. Open Content > Persistent Menu.

  2. Click Add.

  3. Choose a type.

  4. Enter a title.

  5. Fill the type-specific field.

  6. Click Save.

Add a Submenu Item

  1. Create or find a menu item with type Nested.

  2. Click Append on that item.

  3. Create a child menu item.

  4. Save it.

Only nested items can have children. The backend rejects a child whose parent is not a nested item, and an item cannot be its own parent.

Web URL

Use Web URL when the menu item should open an external page.

Required fields:

Field
Notes

Title

Text shown in the menu.

Web URL

Must be an absolute http:// or https:// URL.

In the web widget, clicking the item calls window.open(url, "_blank").

Postback

Use Postback when the menu item should trigger automation.

Required fields:

Field
Notes

Title

Text shown in the menu and sent as the postback text.

Payload

Value used by workflows to identify the selection.

The payload field defaults to the title. Use the switch next to Payload when you need a custom value. For example, title Talk to support can use payload START_SUPPORT_HANDOVER.

When clicked in the widget, Hexabot receives an inbound postback from source persistent-menu with:

Value
Source

Text

Menu item title.

Payload

Menu item payload.

Build workflow triggers around stable payload values rather than wording that may change.

Nested

Use Nested to group related menu choices.

Required fields:

Field
Notes

Title

Text shown for the submenu.

Nested items do not have a URL or payload. They only organize children. A nested item with no children is allowed, but it will not lead anywhere useful for end users.

Editing and Deleting

Use edit for title, URL, payload, and parent changes. Menu item type is effectively fixed after creation; create a new item when you need to change a Web URL into a Postback or Nested item.

Deleting a nested item also removes its descendants because child records depend on their parent.

Use uppercase or namespaced payloads that are independent of the visible title:

Title
Payload

Track my order

ORDER_TRACKING_START

Talk to support

HANDOVER_REQUEST

Pricing

OPEN_PRICING_FLOW

This lets you rename menu items without breaking workflow conditions.

circle-info

Additional Tips:

  • Keep it Concise: Limit your menu to the most important options to avoid overwhelming users.

  • Use Clear Labels: Menu item labels should be descriptive and easy to understand.

  • Test Thoroughly: Test your Persistent Menu on different devices and screen sizes to ensure it's working as expected and displays correctly.

Last updated

Was this helpful?