This help page is for CXone Studio. This information is also available for Desktop Studio.

Adds a menu of choices from which the user can select while also playing a message. This action is typically used to allow the contact to provide information that directs the way in which the interaction is handled. For example, your Asrmenu action might say: To speak to an account manager, say "Sales". For technical assistance, say "Support". In this case, the Asrmenu action would lead to different branches depending on the information provided by the contact.

Asrmenu and Menu are very similar in their purpose and use. Asrmenu allows the caller to verbally respond to menu options in order to direct the call. It also stores the utterance in a script variable which can be used for other purposes. The Asr action can alternatively be used to create a custom, ASRClosed Allows contacts to respond to recorded voice prompts by speaking, pressing keys on their phone, or a combination of both.-driven menu. However, Asr does not allow for recognition matching based on branch variables, and would need to be followed by a  action (or a similar action) to define the branches for the menu options.

Messages used in an Asrmenu action can be pre-recorded audio files, text-to-speech (TTS) renditions of values provided in the script, or a combination of these.

ASR actions appear only if ASR is enabled for your organization. ASR is an optional feature. Ask your CXone Account Representative for more information.

Supported Script Types


Input Properties

These properties define data that the action uses when executing.



Add Caption

Enter a short phrase that uniquely identifies this action in the script. The caption appears on the script canvas under the action icon.


Define the prompt that the action plays. If the prompt is an audio file, enter the file name enclosed in double quotes. For example, "greeting.wav".

If the prompt is text-to-speech, click the ellipsis button and enter the text you want the TTSClosed 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}"

For more information about formatting prompts in this property, see the Manage Prompts page.

You can click Open Editor in the action properties to use the Sequence Editor to create your prompt.


Use this property to document the text the prompt contains. This property is not used by the script. Because some prompts can be complex and contain multiple segments, it can be helpful to include the text written without the formatting required by the Sequence field.

Min Confidence

Defines the minimum acceptable confidence percentage for a recognition match. If the recognition percentage is less than this value, the OnNoConfidence branch is taken. To change it, enter a whole number between 1 and 100.

The default value is 40 for a small menu and 50 for a large menu.

Timeout Seconds

Determines how long the IVRClosed Automated phone menu that allows callers to interact through voice commands, key inputs, or both, to obtain information, route an inbound voice call, or both. waits for input (either spoken or by key-press) before it takes the OnTimeout branch. This is the threshold for complete silence on the line. The default value is 10 (seconds). To change it, enter a whole number.

The timer starts only when the prompt is completely finished. However, the system has a built-in limit of two minutes (120 seconds) that includes the duration of the prompt. If this limit is reached during an action, any active prompts are aborted and the OnError branch is taken. For this reason, you should know the duration of your prompts and set a value for this field that ensures the action is active for less than two minutes.

Result Var Name Determines the name of the variable that holds the recognized result of the contact's spoken or manually entered input. For example, if the prompt asked the contact to say or enter their date of birth, the result would be stored in the variable defined by this property. The default value is the name of the action + "Result" (for example, ASRDIGITSResult). If the contact provides spoken input and the ASR engine fails to find a match, this variable is not populated. Note that if the action has an OnDTMF branch, you must use a Capture action to pull a variable value out of the buffer (DTMF values are automatically stored in a buffer).
Confidence Var Name Determines the name of the variable that holds the confidence percentage returned by the ASR engine. The default value is ASRConf.
Detect DTMF

Allows you to configure an IVR script to handle both spoken and manually-entered DTMFClosed Signaling tones that are generated when a user presses or taps a key on their telephone keypad. input.

If the value is True or Yes, both voice and DTMF input is accepted. If the contact presses a DTMF digit, the script immediately stops any in-progress prompt sequence and takes the OnDTMF branch. No spoken utterances are considered for the duration of the action.

If the value is False or No, DTMF input is not recognized even if the contact presses a key. Although any DTMF digits pressed during the action are saved in the DTMF buffer, the action takes the NoConfidence branch.

In Value Mode: Click to Yes to enable DTMF detection.

In Expression Mode: Enter True to enable DTMF detection.

Because this action does not have an OnDTMF branch, the DTMF value will be stored in the result variable specified in ResultVarName.

Clear Digits

When a contact presses a key on their telephone keypad, the generated DTMF tone is stored in a buffer. When Clear Digits is set to Yes or True, that buffer is cleared at the beginning of this action. If set to False and DTMF tones are carried over to this action in the buffer, the DTMF tones are detected immediately. The action then invokes the OnDigit or OnDTMF branch, even if the key press was associated with an earlier action.

Yes/True is the default value.

In Value Mode:Click to No to enable.

In Expression Mode:Enter False to enable.

Inter Digit Timeout The amount of time after the contact enters a digit that the system waits to see if the contact enters another digit. You must create scripting logic to handle a timeout.
Content Type Specifies how the ASR engine should identify utterances provided by callers during this action. The ASR engine compares the caller's utterance to the values in the specified content type. If a match is detected, the engine returns the match and a percentage value indicating its confidence in the accuracy of the match. Choose one of the following from the drop-down: Phrase List or Grammar File. The default value is Phrase List .
Grammar File

Allows you to provide the path to the grammar fileClosed Encoded file containing a set of phrases a caller might say in response to an IVR prompt. specified in the ContentType property. Grammar files must be properly formatted and stored in your platform files. You can create custom grammar files using Studio actions or third-party tools.

Term Digit Allows you to specify a way for the contact to indicate they are done providing information by entering a terminator digit. The most common value is # (that is, the caller presses the pound key on their phone). By default, the TermDigit is included as one of the digits received and stored in the ASRDIGITSResult variable. To automatically strip this value, append a dash (-) in this field, (for example, to use the pound sign and strip it from the stored results, enter #-).
Max Digits

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 social security number, set this value to 4. The default value is 11. 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.

Result Branch Conditions

Result branch conditions allow you to create branches in your script to handle different outcomes when an action executes.



Default Path taken unless the script meets a condition that requires it to take one of the other branches. It is also taken if the action's other branches are not defined.
Terminator Path taken when the caller provides the value specified in the property.
MaxDigits Path taken when the caller's input reaches the MaxDigits value.
NoConfidence Path taken if the recognition percentage returned by the ASR engine is less than the MinConfidence value.
Timeout Path taken if there is no response for the number of seconds specified.
Error Path taken when there is an unexpected problem (for example, poor connectivity, syntax errors, and so forth). The _ERR variable should be populated with a condensed explanation of the problem.
OnInterDigitTimeout Path taken when the time specified in the InterDigitTimeout property is exceeded during the caller's DTMF response to a prompt.
Add Custom Condition Paths created and taken when connecting to secondary actions using Variable Branch Conditions. Click the ellipsis to open the ConnectView Collection Editor to customize these branches.

Configure Custom Cases

Allows you to set up custom branches for the choices in your action, and optionally establish branch variables for speech recognition, by using the collection editor window.

This option is currently not available in CXone Studio. To configure custom cases, you must use Desktop Studio.

Script Example 1

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.

Asrmenu provides an easy way to create an ASR-driven menu system. It uses common branches such as OnNoConfidence and OnTimeout, but allows the user to specify their own branches for specific phrases. For example:

In this script, the Asrmenu action uses the CustomCases branch to route calls based on three different possible utterances by the caller: Sales, Service, or Repeat. These values are defined in the branch and used to recognize the caller's utterance.

Script Example 2

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.

If DTMF is set to true, it is not necessary to spell out the variable paths on the menu as "one" and "1". The speech engine recognizes the word "one" as the variable value 1. The appropriate script would look like:

Would you like to download this script?

Tips & Tricks

  • You can pass the languageLocale variable from the Voiceparams action, which sets the language that the action will detect.
  • DTMF tones are stored in a buffer. If the action contains an OnDTMF or OnDigits branch, the DTMF value must be pulled out of the buffer with a Capture action.
  • If you want to capture multiple DTMF presses, the action immediately takes the OnDTMF branch when the first DTMF is pressed (including * and #). In this instance, you must capture multiple presses with a Capture action.
  • If there are any DMTF present in the buffer and ClearDigits is not set to True, the OnDTMF branch would immediately be taken and require a Capture action.