LogoLogo
  • Go to Docs Center
  • Meet Plum Fuse
  • Tutorial
    • Basics
    • Deployment
    • Building A Complex Application
  • How to...
    • Send SMS messages using the REST module
    • Use the SMS Module
    • Upload an Audio Recording to Storage
    • Use Plum's Transcription API
  • Fuse Navigation
  • Application Manager
    • New Application
    • Managing Applications
    • Folders
  • Template Center
  • Deployments
    • Deployments Table
    • Creating Deployments
    • Updating Deployments
    • Deleting Deployments
    • Outbound Deployments
  • Logs
  • Reports
  • My Account
    • Global Options
    • Admin Options
  • Users & Sharing
    • Single Sign On
  • Application Editor
    • Application Editor Overview
    • Settings
      • Language Settings
        • Text-To-Speech (TTS) Options
      • User Input Settings
      • Connection Settings
      • Post-Call Webservice
      • JavaScript Libraries
    • Audio Manager
      • Languages
      • Prompt Table
      • Audio Formats
      • Bulk Uploading Audio Prompts
    • Modules
  • Modules
  • Call-Flow
    • Prompt
    • Transfer
    • Go To App
    • Go To Page
    • Compare Variable
    • Counter
    • Exit
    • Call Log
    • Label
    • Subdialog
  • Input
    • Address
    • Yes/No
    • Custom Field
    • Date/Time
    • Number
    • Digits
    • Language
    • Menu
    • Dynamic Menu
    • Name
    • Record
  • Data
    • Email
    • SMS
    • Set Variable
    • Call Recording
    • Evaluate JS
    • REST
    • SOAP
  • Integration
    • Setting up authentication
    • Dialogflow
    • DynamoDB
    • AWS S3
  • Variables
    • Shadow Variables
  • Module Settings
  • Key Fuse Info
  • 📞Outbound
    • Queuing Calls with CSV
    • View Pending Calls
    • Viewing Completed Calls
    • Detecting Voicemail
    • Outbound Parameters
    • Outbound FAQs
  • 🔒Data Security
    • 'Private' Mode
    • Managing Secure Phone Numbers
    • Sensitive Data Types
  • 🔑APIs
    • Authentication
    • Outbound Calls
      • Queue Call
      • Queue Multiple Calls
      • Get Outbound Call Status
      • Cancel Outbound Calls
    • Logs
      • Get Call Logs
      • Get Call Logs With Details
      • Get A Detailed Call Log
  • 🗒️Release Notes
Powered by GitBook
On this page
  • Function
  • Variable Data Structure
  • Module Settings
  • Barge In
  • Enable Speech Input (Dynamic Menu)
  • Interdigit Timeout
  • Private
  • Show Custom Errors
  • Timeout Length
  • Advanced Settings
  1. Input

Dynamic Menu

PreviousMenuNextName

Last updated 3 years ago

This is an advanced module

Function

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.

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

Fields

[

{

"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" }

}

];

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

[{ "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 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

This module provides end users with the same options as the () module, that is, a way to branch on, and collect complex input.

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 for more information.

The data can come from a webservice JSON response using the () module. Alternately, it can be built upon with Javascript using the () module.

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 setting for more information

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 .

This setting enables Automatic Speech Recognition (ASR) for the menu module. A green microphone () icon appears in the module when this is enabled. This setting allows expects additional “utterance” field much like the setting in a normal () module. The following code shows the expected data structure for using utterance:

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 .

Enabling this setting overrides the default, global error options set in the Application Settings > . This allows users to establish custom error handling in order to act on errors in a specific way in that module. Instead of progressing to the next module in the call-flow, custom error handling allows users to re-prompt the same module, to provide a custom error message, to re-direct the call based on the error, or any other desired behavior. Adding multiple errors () to a module functions behave the same way as a counter. The first error follows the path for the first error listed, if a second error occurs in the same module it follows the second listed error, and so on until all errors are exhausted or an error directs the end-user away from that module. No Input occurs when the caller does not provide an input based on the timeout settings. This is based on the “Initial input timeout” in No Match occurs when the caller input does not match the module's criteria for the input module.

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

Shadow Variables
Enable Speech Input Setting
Enable Speech Menu
here
here
Barge In
Enable Speech Input (Dynamic Menu)
Interdigit Timeout
Private
Show Custom Errors
Timeout Length
Menu
REST
Evaluate JS
Menu
User Input Settings
User Input Settings