Menu
|
Plays a message and adds a menu of choices that the contact can choose from. This action is typically used to give the contact choices that direct how the interaction is handled. The value that the contact enters is stored in a variable that's created in the action. You can specify a name for this variable in the Variable property. The value this variable holds is used to carry out an action based on the contact's choice. For example:
Menu can play messages that are prerecorded audio files, synthesized text-to-speech Allows users to enter recorded prompts as text and use a computer-generated voice to speak the content. (TTS), or a combination of both. |
Dependencies
-
You must use the proper formatting when entering prompt information in the Sequence property.
-
When the contact presses a number on their keypad to indicate their Menu choice, the script follows the branch for that number, if that number is linked to a branch. If the number is not linked, the script takes the Default branch. If Default isn't connected, the contact could get stuck at Menu and be unable to proceed.
-
If the contact uses a rotary phone, they won't be able to enter DTMF Signaling tones that are generated when a user presses or taps a key on their telephone keypad. tones. They will be stuck at Menu unless you account for this scenario in the script.
-
You must create scripting logic to handle timeouts.
-
Audio files must be uncompressed WAV files with the following properties:
- Bit rate: 64 kbps
- Audio sample size: 8 bit
- Channels: 1 (mono)
- Audio sample rate: 8 kHz
- Audio format: CCITT μ-Law
Supported Script Types
|
Phone |
Comparison of Similar Actions
The following actions have similar functions, but with some key differences:
- Askcaller action: Use to offer choices to a contact using a chat channel A way for contacts to interact with agents or bots. A channel can be voice, email, chat, social media, and so on..
- Askcaller (Digital) action: Use to offer choices to a contact using a digital Any channel, contact, or skill associated with Digital Experience. channel.
- Capture action: Use when you want to capture data from a contact without playing a prompt or message.
- Case action: Use when you want to set up multiple custom branches based on a variable's value.
- Menu action: Use when you want to offer choices to a contact using a voice channel.
- Play action: Use when you want to play a message or prompt for a contact without capturing a response.
Input Properties
These properties define data that the action uses when executing.
Property |
Description |
---|---|
Caption |
Change the Caption to something that uniquely identifies this action in the script. The IVR Press Path report includes the action name and caption. Descriptive, unique captions make the reports easier to read and understand. |
Sequence |
Define the prompt that the action plays. A prompt can be a prerecorded WAV audio file or text-to-speech Allows users to enter recorded prompts as text and use a computer-generated voice to speak the content. (TTS). If the prompt is an audio file, enter the file name enclosed in double quotes. For example, "greeting.wav". If the audio file is located in a different folder, include the path to the file. For example, if the script is in the root folder and the audio file is in a subfolder two levels down, enter "Subfolder\Subfolder2\Audio-file.wav". If the script is in a subfolder one level down from the root and the audio file is in a different subfolder on the same level, enter "\..\Subfolder\Audio-file.wav". If the prompt is text-to-speech, enter the text you want the TTS Allows users to enter recorded prompts as text and use a computer-generated voice to speak the content. service to read. Each segment must be enclosed in double quotes and include a string reference character to identify the type of information it is. For example: "%Your account balance is" "silence.wav" "${accountBalance}" |
Phrase |
Use this property to document the text that the prompt contains. The script doesn't use the text in this property. Because some prompts can be complex and contain multiple segments, it can be helpful to include the full text written without the formatting required by the Sequence property. |
ClearDigits |
When a contact presses keys on their phone, a DTMF tone is generated and stored in a buffer. ClearDigits allows you to determine how this action handles DTMF Signaling tones that are generated when a user presses or taps a key on their telephone keypad. tones that are in the buffer when the action starts. When enabled, this option clears the buffer when the action begins. Any key presses that happened earlier in the script will not be passed into this action. If you disable this option, the action processes and acts on any DTMF tones passed to the action through the buffer. Set to True to enable or False to disable. When DTMF tones are passed into this action, the script immediately takes the path for the Set to True to enable this option or False to disable it. |
MaxDigits |
The maximum number of digits that a user can provide for the action; for example, if the prompt requests the last four digits of a person's ID number, set this value to 4.
The default value is 1 If the prompt calls for a terminator (such as the pound sign, or #), you must account for it in the MaxDigits value. For example, if the recorded menu message asks for the last 4 digits of the social security number "followed by the pound sign", set the value to 5. When the MaxDigits value is reached, the script continues to execute following the MaxDigits branch, if it's connected. |
Terminator |
Enter the character you want the contact to enter to indicate they've finished entering numbers. For example, the pound sign (#) is commonly used as a terminator. If you don't want to use a terminator character with this action, leave this property empty. The terminator character is stored in the Variable unless you add a minus sign after the character in the Terminator field. For example, #-. If you specify a terminator character, you must include it in the count of characters in the MaxDigits property. |
Timeout |
The total number of seconds the system waits for input of any type. Time is counted from the point when the Sequence prompt finishes. |
InterDigitTimeout |
The amount of time after the contact enters a number that the system waits to see if the contact enters another number. You must create scripting logic to handle this timeout scenario. |
Variable |
The name of the variable that you want to hold the DTMF digits that the contact enters. The default, {MRES}, stands for "menu response." You can change it to something more easily recognizable or if you don't want the value to be overwritten by later instances of the Menu action in this script. You can use the value stored in this variable for decision-making or other purposes in addition to triggering the appropriate branch. |
Result Branch Conditions
Result branch conditions allow you to create branches in your script to handle different outcomes when an action executes.
Condition |
Description |
---|---|
Default |
The path taken unless the script meets a condition that requires it to take one of the other branches. It is also taken if the other branches are not defined. Best Practice: Connect this branch and use it for error handling, such as when the contact presses a number that's not part of the menu. Failure to connect this branch can result in contacts getting stuck when something happens that isn't covered by the other branches. |
OnTerminator |
The path taken when the contact enters the Terminator character. |
OnMaxDigits |
The path taken when the contact enters the number of characters defined in MaxDigits. |
OnTimeout |
The path taken if there is no response for the number of seconds or milliseconds specified in the Timeout property. |
OnInterDigitTimeout |
Path taken when the time specified in the InterDigitTimeout property is exceeded during the caller's DTMF response to a prompt. |
CustomCases |
Create a custom branch condition for each menu path you offer your contacts. For example, if contacts can press 1, 2, and 3 to reach different departments, |
Tips & Tricks
- If your script contains multiple Menu actions and they all share the same Variable name, the variable value is overwritten when the next Menu action is processed. If you need to use the value of one of the variables elsewhere in the script, change that Menu action's Variable name.
- When creating a menu, it is best to name the department first and then the number to dial or speak. Contacts are usually listening for the department name and then the number.
- Create a branch to repeat the menu options. Use the Loop and Noresponse actions and connect them back to the Menu action.
- Use the Phrase property to summarize or annotate the prompt's text.
- If you find that contacts are getting stuck at Menu, verify that the Default branch is connected. The Default branch acts as a catch-all to handle situations where something happens that's not handled by the other branch conditions.
- The Menu action's behavior is a combination of the Capture, Case, and Play actions.
Script Example
This is an example to show how this action can be used in scripts. It is not intended to be a complete script. Additional scripting may be required.
In this simple example, the script is triggered by a Begin action (not shown), after which a Menu action plays a message telling the caller to press 1 for Support, 2 for Sales, or 3 for Billing. Based on the button the caller presses on their phone keypad, the script executes a different Reqagent action that requests an agent from the skill Used to automate delivery of interactions based on agent skills, abilities, and knowledge configured in that Reqagent action.
Would you like to download this script?