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

Gathers information from a contact via DTMFClosed Signaling tones that are generated when a user presses or taps a key on their telephone keypad..

Supported Script Types

The icon for the Phone script type - an old-style phone handset with curved lines indicating sound coming out of it.


Input Properties

These properties define data that the action uses when executing.




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

Variable The name of the variable that you want to hold the DTMF value that the contact enters.
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 social security 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.

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 number of seconds the action waits to execute before timing out. The value must be between 0 and 60.
InterDigitTimeout 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.

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.
Timeout Path taken if there is no response for the number of seconds specified.
InterDigitTimeout Path taken when the time specified in the InterDigitTimeout property is exceeded during the caller's DTMF response to a prompt.

Tips & Tricks

  • It is possible for the contact to press digits before a Capture has been executed, such as while listening to a voice prompt. These digits are saved in a digit buffer and will be included as soon as capture is triggered.
  • To clear the digit buffer before issuing Capture, issue another Capture first with the Timeout property set to zero.

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 example, the script requests an agent while the contact is in queue. During that time, music plays. If the contact presses any digit (DTMF tone) on their keypad while the music is playing, the contact will follow the digit branch to the Capture action. The Capture action assigns the stored DTMF tone as the value of the user-defined variable in the Capture action. In this case, the variable is named CallbackReq. Then, the If action checks the variable value and uses an expression (CallbackReq=1) to determine whether to follow the TRUE or FALSE branch. If TRUE, the contact proceeds to the Play action and a subsequent callbackClosed Holds a customer's place in queue and automatically calls the customer when they move to the front of the queue.. If FALSE, music will continue to play for another 30 seconds.

A script where the MUSIC action has a branch connecting to CAPTURE, which links to IF, which has two branches for true and false.

Would you like to download this script?