Skip to content
TriedDocs
Functions and tools

Press digit

Let the agent press keypad digits to navigate phone menus (IVRs) on outbound calls.

The Press Digit (IVR Navigation) function (type: "press_digit") lets the agent send DTMF tones. Use it when your agent calls a business that answers with a phone menu ("press 1 for sales") and has to reach a person or a department.

What happens when it runs#

The LLM calls the tool with one argument:

Argument Type Description
digit string Digit or digits to press: 0-9, * or #

The worker:

  1. Keeps only the characters 0123456789*# from the argument. If none are left, the LLM gets "Error: no valid digit provided."
  2. Waits delay_ms (default 1,000 ms) so the menu can finish speaking.
  3. Sends the digits as RFC 2833 telephone events through LiveKit SIP.
  4. Returns "Pressed digit(s): 123" to the LLM, without generating a reply. The agent then listens to the menu's next prompt.

Several digits in one call are pressed in sequence, for example an account number followed by #.

Configure in the dashboard#

  1. Open the agent, expand Functions, click Add and choose Press Digit (IVR Navigation).
  2. Set Name and Description. The default description is "Press a digit to navigate an IVR menu."
  3. Set Delay before pressing (ms) (0 to 5,000, default 1,000).
  4. Click Save.

Fields#

Field Type Required Default Description
type "press_digit" Yes
name, description string name yes
delay_ms integer, 0 to 5,000 No 1,000 Pause before pressing
{
  "type": "press_digit",
  "name": "press_digit",
  "description": "When you hear a phone menu, press the option that reaches the accounts department. If there is no such option, press 0 for an operator.",
  "delay_ms": 1500
}

Prompting for menus#

Give the agent the goal and the fallbacks, not a fixed digit sequence. Menus change, so let the LLM listen:

If you reach an automated phone menu, listen to every option, then use press_digit
to choose the one for new patient bookings. If the menu asks for a date of birth,
enter {{dob_digits}} followed by #. Do not speak to the menu.
  • IVR Detection under Call Settings detects that an outbound call reached a phone menu.
  • User Keypad Input (DTMF) under Call Settings is the reverse direction: digits the caller presses.
  • Transfer call can press an extension or menu digits on the transfer destination.

In conversation flows#

The press digit node decides and presses digits at a fixed step. Its delay_ms has no default: when unset, the node presses immediately.

Gotchas#

  • Digits travel as RFC 2833 events. Carriers that only pass in-band tones may not deliver them.
  • w pauses are not supported here; only 0-9, * and # are sent. Use several tool calls, or delay_ms, to space digits.
  • Web calls have no phone menu to navigate. Test on a real outbound call.