Skip to navigation

Keypad tones (DTMF)

Send keypad tones to phone systems and collect the keys callers press

Dual-tone multi-frequency (DTMF) tones are the sounds a phone keypad makes when someone presses a key. On a Vapi phone call, tones can go in two directions: your assistant can send them to another phone system, or your caller can press keys for your assistant to receive.

DTMF works on phone calls only. Web calls and WebSocket calls don’t send or receive keypad tones.

Send tones or receive keys

Send tonesReceive keys
Who presses the keysYour assistantYour caller
Typical usesNavigate phone menus, enter account or conference IDs, accept forwarded callsCollect account numbers, menu choices, and verification codes
How to set it upAdd the DTMF toolTurn on keypad input

Choose how to send tones

When you already know which keys to press, a setting can send them for you without involving the model. Use the DTMF tool when the model must decide.

MethodUse it whenStrengthsLimits
DTMF toolYour assistant must listen to a phone menu and decide what to pressWorks at any point in the callThe model decides when to press keys, so it needs clear prompting
Transfer destination extensionYou transfer to a number and always dial the same extensionNo prompting neededTwilio numbers only. Digits only, up to 10. Vapi waits about 2 seconds after the destination answers.
Outbound call customer.extensionYou place an outbound call to a number with a known extensionNo prompting neededSent as soon as the call connects. If the other side plays a greeting first, the keys can be missed.
SIP transfer destinationYou transfer to a known extension or queue on a SIP systemRoutes directly, with no tones to missSIP destinations only. The receiving system must accept the extension in the SIP URI.

Recommendations by scenario

  • Navigate a phone menu you don’t control. We recommend the DTMF tool, with the timing and prompting advice in IVR navigation.
  • Reach a known extension after a transfer on a Twilio number. We recommend the destination’s extension field. Don’t add the DTMF tool to a warm-transfer assistant on Twilio for this, because the caller can stay on hold after the assistant presses a key.
  • Reach a known extension on a SIP system. We recommend a SIP transfer destination with the extension in the URI, such as sip:4321@pbx.example.com.
  • Pass caller details to a person. We recommend SIP headers on Vapi numbers, BYO SIP trunks, and Telnyx, or a data lookup on other providers, instead of tones. A person who answers hears only beeps.
  • Accept a forwarded or screened call that asks you to press a key. We recommend the DTMF tool, prompted to press the requested key right away.
  • Collect keys your caller presses. We recommend keypad input.
  • Collect card numbers or other sensitive keypad entries. Follow the PCI compliance guide.

Where keypad tones work

Support depends on the provider the call runs on.

Call runs onSend with the DTMF toolPause characters (w, W)Transfer extensionReceive caller keys
TwilioYesYesYesYes
TelnyxYesYesNoYes
VonageYesNoNoYes
Vapi numbers and BYO SIP trunksYesNoNoYes
Web calls and WebSocket callsNoNoNoNo
  • Pause characters. On Twilio and Telnyx, w adds a 0.5-second pause and W adds a 1-second pause. Elsewhere, Vapi doesn’t support them. On Vapi numbers, the keys play back to back.
  • Transfer extension. On providers other than Twilio, Vapi ignores the field and transfers the call without dialing the extension.
  • GPT-Live. GPT-Live assistants have their own transport support. See transfers and keypad input.

Check what was sent or pressed

With logging enabled, a call’s logs record a call.dtmfSent event for each set of tones your assistant sends and a call.dtmfReceived event for each key your caller presses. These events show what was sent or pressed. They don’t confirm that the other side received the tones. For more information about checking tones, see Verify tones were sent.