There are times where user can provide information via DTMF (phone keypad presses) instead of voice. For example, when entering a PIN number, it might be easier for user to press keypad instead of speaking it aloud in public.

Currently DTMF input from user is captured and is taken into account when the agent is generating responses by default. So to set it up, you just need to prompt the agent to ask for the information via DTMF.

DTMF Input Completion Options

The agent supports three methods for determining when DTMF input is complete:

  • Digit Limit (ser_dtmf_options.digit_limit)
    The maximum number of digits the user can enter. Once this limit is reached, input is considered complete.

  • Termination Key (user_dtmf_options.termination_key)
    A specific key (such as #, *, or any digit) that signals the end of input.

  • Timeout (user_dtmf_options.timeout_ms)
    The time in milliseconds to wait after the last digit is received before timing out. The timer resets with each new digit.

You can find these options under Call Settings.

Here’s an example prompt:

Please enter your PIN number using the keypad. You can finish by pressing the pound key.

And the transcript would look like this: