DTMF events
DTMF events are fired when callers press keys on their phone keypad. These include individual key-press events and aggregated digit collection results from the play_and_get_digits command.
dtmf.received
Fired when the caller presses a DTMF key during the call. This event fires independently of any command — individual key presses are reported as they occur during playback, recording, or any other call state.
Payload schema
Valid digit values are 0–9, A–D, *, and #. A letter-digit example:
digits.collected
Fired once when a play_and_get_digits command finishes its single prompt-and-collect cycle. It aggregates the key presses into a single result with a status describing the outcome. The command never retries on its own — your app inspects status and decides whether to re-prompt. See Play prompt and collect DTMF digits.
Individual dtmf.received events also fire during digit collection. Use digits.collected for the final aggregated result and dtmf.received events if you need per-key feedback as each digit arrives.
Event filtering. dtmf.received and digits.collected are independent webhook events. By default both are delivered.
Payload schema
Collection Statuses
Example — success:
Example — no input:
Example — failure with partial digits:
Example — cancelled:
Triggered by
These events are produced by the following triggers:
dtmf.received— automatic: fires on every DTMF key press during active calls.digits.collected— play_and_get_digits command.