Two DTMF features: keypad_input on the agent turns a caller’s keypresses into a turn the agent can answer, and the send_dtmf tool operation presses keys on the call. Both work on phone calls and media streams; web calls and chats have no keypad.
Digits are read as out-of-band events, never as tones in the audio. On a line that only carries in-band tones, keypresses reach nothing. Because they never enter the audio, typed digits (a PIN, say) are absent from the call recording.

Caller to agent: keypad_input

voice agents only — enabling it on video or text is refused.
Each entry arrives as one labelled user turn:
  • The first keypress interrupts the agent.
  • The terminator on an empty buffer is ignored.
  • An entry flushes at 50 characters.
  • A keypad entry does not fire the on_user_turn_completed hook.
  • timeout: 0 with terminator: "" is refused at publish — nothing would ever end an entry.

Agent to keypad: send_dtmf

A tool operation that presses keys on the current call — navigating an IVR, entering an account number.
Digits are sent with 0.3 s between them. digits is templated (unlike a transfer destination). The operation is not terminal; the tool continues after it. A refusal is reported to the model as a tool error with the reason.

Next

Media streams

Which partner platforms carry keypresses.

Operation tree

Where send_dtmf sits among operations.