Menu Tree

The Menu Tree, otherwise known as an Interactive Voice Response (IVR) or voice menu, provides a menu of potential actions for routing incoming callers.

The Menu Tree action on a blank board

A voice menu needs:

  • A way for caller to indicate their entry is complete.
  • A setting for the number of times the caller can attempt to speak or press a key for a valid menu option.
  • The amount of time the caller has to speak or press a key for a menu option.
  • At least one audio recording that plays so the caller knows what menu options are available and what to speak or what key to press.

Note: The functionality of this action is voice-related only.


Using the Menu Tree action, a caller can speak or press a single digit to make their selection (e.g., "press one or say one to..."). In contrast, the Collect DTMF action only supports customers pressing a single digit (e.g., "press one to...") while the Press or Say action supports customers pressing a digit and saying words (e.g., "press one or say menu to...").



All of the inputs associated with the Menu Tree action are listed below, but some inputs are dependent on other fields and might not initially appear (e.g., the Allow Interrupt check box only appears if you check the Allow Spoken Input check box first).

Input Name Description Default
Menu Digits Click the plus sign button to add an additional menu option. N/A

Menu Digit

Use the drop-down list for each menu option to assign the corresponding keypad selection or spoken input.

Note: All assigned values must be unique (e.g., you can't use "0" for multiple menu options).

Click the delete icon to the right of a Menu Digit to remove menu options.

Note: At least one menu digit must be included in your Menu Tree.

3 menu options

Timeout (Sec) The number of seconds to allow a caller to enter a valid menu option before considering the entry invalid. 45 seconds
Max Attempts*

The number of attempts to allow a caller to enter a menu option before they are routed to the error path (ERR) in the flow. * This is a required field.

Note: Cannot be less than 1 or more than 10.

1 attempt

Set Custom Variable

Use this check box to create a custom variable that can be used downstream in your flow.


Custom Variable

Enter your custom variable in the text box. When your variable appears in the Available Variables section for actions downstream in your flow, it will be in the format "${CustomVariable}".

Note: This field only appears when the Set Custom Variable check box is selected. You cannot include spaces or $ in your variable.


Allow Spoken Input

Enable callers to interrupt audio prompts at any time.

Note: Allow Spoken Input must be checked to select Allow Interrupt.

Allow Interrupt

Enable callers to interrupt audio prompts at any time.

Note: Allow Spoken Input must be checked to select Allow Interrupt.

Language Select the appropriate language for spoken input. N/A


Configure Audio

To add the audio for the Menu Tree, you can do either of these, or a combination of both:

  • Assign an audio file you have prerecorded and placed in your audio library
  • Create a text-to-speech audio by typing in text that is transformed into audio

In addition to configuring the initial audio a caller hears, you can also play audio:

  • At the end of the timeout period

    Note: If you include a “Timeout” Menu Digit, the timeout section within the Audio Settings will be disabled.

  • When the caller speaks or presses an invalid key for a menu option
  • When the caller has exceeded the maximum number of attempts to speak or choose a valid menu option


Audio Settings

Setting Name Description
Available Variables System variables or variables created by other actions previously in the flow.
Channel ID The channel on which the voice menu audio is playing to the incoming caller.
Intro The audio that plays as soon as the voice menu is reached by the caller that contains information about menu choices. If you have allowed more than one attempt to speak or enter a valid option in the Max Retry field of the Inputs settings, you can set different audio for each attempt.

The audio that plays when a person does not provide a valid entry before the allotted number of seconds.

Note: If you include a “Timeout” Menu Digit, the timeout section within the Audio Settings will be disabled.

Invalid The audio that plays when a person has entered an invalid response.
Max Retry The audio that plays when a person has exceeded the maximum number of attempts. You set the number of attempts allowed in the Max Attempts field on the Inputs settings.
Audio Text (TTS) Audio you create by using the Text-to-Speech feature. For more instructions, see Configure Audio Settings.
Audio Library The audio library contains any audio files you have recorded and stored.

For more information, check out Configure Audio Settings.



The Menu Tree action creates the following variable that can be used throughout the rest of the flow:

Variable Name Data Type Description
MENU_TREE_x.input STRING Captures and stores the number or symbol entered by the user in the Menu Tree action.

Check out How to Use Variables in SmartFlows for more information about using variables in your flow.


Exit Ports

The exit ports vary depending on the Menu Digit input configurations.

If you add a new Menu Digit, a related exit port is created, labeled with the value you select from the drop-down list.

Note: You must connect follow up actions to both one menu option and the error path exit ports. If you added a "Timeout" Menu Digit, a follow up action must connect to that exit port, too.


ERR: The course of your flow if there is an error.

If you want the caller to be brought back to the initial Menu Tree kickoff to hear the menu options again, we recommend connecting a Play Audio action after the ERR port. Here you can alert the caller of the error and then loop the audio action back to the Menu Tree. You can always add a Counter action to this as well to track how many times the user has made a wrong input.