# Workbot message menus

Message menus are an important building block in designing conversational interfaces that simplify complex workflows.

Workbot commands require specific keywords to trigger. This unique language needs to be communicated and picked up by users to execute Workbot commands successfully.

Message menus allow multiple calls to action to be collapsed into a single drop-down menu. Each menu option can execute a command in one click, allowing the user to quickly decide what they want, without having to remember additional Workbot commands.

Anatomy of message menusMessage menus use menu option clicks to trigger another recipe or workflow

# Features

Message menus can:

  1. Trigger another recipe that has a Workbot post command trigger

  2. Pass command input values to that recipe

  3. Invoke dialogs, as covered in the Using dialogs with Workbot guide.

  4. Be posted as a set list, or a dynamically generated one.

Message menus can be used in either a Workbot post command reply or a post message action.

To ensure a good conversational interface, keep the number of menu options to less than 5.

# Message menus with a static list of menu options

Button fields

The following table shows what goes into the message menu fields:

Input field Value Description
Menu name Menu name for example, Accounts Key in the name of the menu to be displayed.
Menu options
Display text Menu option text for example, Account Name The text of the menu option to be displayed.
Submit menu option command Workbot command to execute when menu option is clicked, for example,
salesforce update account
Choose from a list of existing post command triggers (from different recipes), or key in your own 3-word command. Clicking on this menu option will trigger the recipe with the corresponding command trigger.
Command input values Command input values to pass onto the next recipe when menu option is clicked, for example,
account_id: Account ID account_description: Account Description
Key in name-value pairs to pass onto the next recipe as command input fields.

When a menu option is clicked, it triggers another recipe and passes onto it any command input values you define in each menu option field.

For example, in the message menu fields below, where:

  • Menu name: Accounts
  • Menu options
    • Display Text: Edge Communications
    • Submit menu option command: salesforce update account
    • Command input values: account_id, account_description

Message menu example

This posts a message menu to the user like so:

Menu option Slack

When clicked, the menu option triggers the following recipe:

Triggered recipeThe recipe triggered by the menu option

Notice that the command trigger:
salesforce update account
of the triggered recipe matches the Submit menu option command of the menu option.

# Message menus with a dynamic list of menu options

The menu options of message menus can also be generated dynamically using a list datapill (for more information on lists, see the list management guide).

From Message menu, under Menu options, select the horizontal ellipsis on the top-right and choose 'Dynamic List'. This should bring up the dynamic menu options fields.

Dynamic menu options

The following table shows what goes into the dynamic menu options fields:

Input field Value Description
Menu name Menu name for example, Accounts Key in the name of the menu to be displayed.
Menu options
Menu options source list Input a list datapill. Accounts List datapills have a list icon next to them in the datatree, for example, Salesforce Accounts, a list:
Display text Display text for example, Account Name The text of the menu option to be displayed. Typically, you want to use datapills from the list datapill, for example, Salesforce Account name, a datapill from the Salesforce Accounts list:
Submit menu option command Workbot command to execute when menu option is clicked, for example,
salesforce update account
Choose from a list of existing post command triggers (from different recipes), or key in your own 3-word command. Clicking on this menu option will trigger the recipe with the corresponding command trigger.
Command input values Command input values to pass onto the next recipe when the menu option is clicked, for example,
account_id: Account ID account_description: Account Description
Key in name-value pairs to pass onto the next recipe as command input fields.

In the example below, the user wants to update a Salesforce 'Direct Customer' account by clicking on a menu option associated with that account. As this list changes every day, a static list of menu options wouldn't work. In the dynamic message menu fields below, where:

  • Menu name: Accounts
  • Menu options
    • Menu options source list: Accounts
    • Display Text: Account Name
    • Submit menu option command: salesforce update account
    • Command input values: account_id, account_description

Dynamic menu option fields example

This posts a dynamically generated list of menu options in the message menu to the user like so:

Dynamic menu options slack example


Last updated: 9/13/2022, 2:34:59 AM