Dynamic Menu

This is an advanced module


Dynamic menus enable users to create multiple choice questions where each choice is associated with a value, where the choices can come from a dynamic source (like a web service) and not configured explicitly in the Fuse platform like the Menu module expects.

The maximum number of options available in the module is 10.

Enabling speech recognition generates an additional column in the module called ‘Utterance.’ Each speech enabled option expects a DTMF input, a speech utterance, and a corresponding value. Please see the Enable Speech Input Setting for more information.

It is recommended to only enable speech recognition when absolutely necessary. Introducing speech recognition increases the chance of errors occurring and can detract from the end-user experience.

Variable Data Structure

For the Dynamic Menu module to function properly, a data structure needs to be provided as the Menu Variable to tell the module which options will be available to the caller.

The menu data needs to in the following data structure:

Code Example




"dtmf": 1,

"value": "chocolate",

"prompt": { "en-US": "For Chocolate, press 1" }

}, {

"dtmf": 2,

"value": "strawberry",

"prompt": { "en-US": "For Strawberry, press 2" }

}, {

"dtmf": 3,

"value": "vanilla",

"prompt": { "en-US": "For Vanilla, press 3" }



dtmf: The touch tone value of the entry value: Result value of the menu selection prompt: The text-to-speech prompt presented to the caller. This is a name-value pair where the language is the key. For speech enabled menus, utterance is used to specify the word that is expected to be spoken by the Caller. See the Enable Speech Menu setting for more information

The variable icecream will contain the caller's selection based on the value field in the data structure. For example, if the caller presses 1 in the menu, the result will be “chocolate”, therefore, at the end the caller will hear:

You have selected chocolate

Module Settings

This setting allows callers to interrupt a prompt before it finishes playing. When enabled, DTMF input interrupts the prompt and progresses the call forward in the call-flow. If speech recognition is enabled on the ensuing module in the call-flow, then end-users can also interrupt the prompt with a spoken utterance, too. Disabling barge-in forces callers to listen to the entire prompt. A barge-in enabled module will have a dashed line on top of the text box. See example here.

[{ "dtmf": 1, "value": "red", "prompt": { "en-US": "For red, press 1 or say red", "es-US": "Para rojo, oprima 1 o diga rojo" } "utterance": { "en-US":"red","es-US": "rojo" } }, { "dtmf": 2, "value": "green", "prompt": { "en-US": "For green, press 1 or say green", "es-US": "Para verde, oprima 2 o diga verde" } "utterance": { "en-US":"green","es-US": "verde" } }, { "dtmf": 3, "value": "blue", "prompt": { "en-US": "For blue, press 1 or say blue", "es-US": "Para azul, oprima 3 o diga azul" } "utterance": { "en-US":"blue","es-US": "azul" } }];

This allows users to set the maximum time, in seconds, that elapse between inputting digits before returning a timeout error. This applies to all input modules that accept multiple digits, like Date/Time, Number, and Digits.

The default value is 1 second. Acceptable number values range from 1 to 60.

This setting controls the logging function of a module. Enabling the 'Private' setting instructs the module to not record, report, or retain the information input to that module for reporting or any other purposes. When enabled any information entered into a module during a call will be lost immediately when the call terminates. The 'Private' setting is critical for businesses that need to maintain PCI-DSS or HIPAA compliance. The module icon, in the upper left-hand corner, becomes grayed-out when this setting is enabled. See more details here.

This allows users to set the maximum time, in seconds, that elapse before returning a timeout error. This applies modules that fetch outside scripts, like the SOAP, REST, or subdialog modules. The default value for Timeout Length is 30 seconds. Acceptable number values range from 1 to 120.

Advanced Settings

Advanced Fuse users may want to use shadow variables that are available with input modules. For more information on this functionality, please visit the Shadow Variables page.

Last updated