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:
- Keeps only the characters
0123456789*#from the argument. If none are left, the LLM gets "Error: no valid digit provided." - Waits
delay_ms(default 1,000 ms) so the menu can finish speaking. - Sends the digits as RFC 2833 telephone events through LiveKit SIP.
- 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#
- Open the agent, expand Functions, click Add and choose Press Digit (IVR Navigation).
- Set Name and Description. The default description is "Press a digit to navigate an IVR menu."
- Set Delay before pressing (ms) (0 to 5,000, default 1,000).
- 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.Related settings#
- 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.
wpauses are not supported here; only0-9,*and#are sent. Use several tool calls, ordelay_ms, to space digits.- Web calls have no phone menu to navigate. Test on a real outbound call.