Voice Tools

DTMF Input

Send and receive dial-tone keypress signals during voice calls for IVR navigation and numeric input.

DTMF Input

DTMF (Dual-Tone Multi-Frequency) is the technical term for the tones produced when you press keys on a phone keypad. The DTMF tool lets your voice agent send and receive keypress signals during a call.

Use Cases

Receiving DTMF from Callers

Let callers press keys to make selections instead of speaking:

Agent: "Press 1 for sales, 2 for support, or 3 for billing."
Caller: *presses 2*
Agent: "Connecting you with support. How can I help?"

This is useful when:

  • The caller is in a noisy environment
  • You need a definitive selection (not ambiguous speech)
  • You're collecting numeric input (account numbers, PINs)

Sending DTMF for IVR Navigation

For outbound calls, your agent can navigate existing IVR systems by sending keypress signals:

IVR: "Press 1 for English, 2 for Spanish."
Agent: *sends DTMF 1*
IVR: "Enter your account number followed by pound."
Agent: *sends DTMF 1234567890#*

Configuration

Via the Dashboard

  1. Open your agent and scroll to Voice Settings.
  2. Enable DTMF Input.
  3. Configure options:
SettingDescriptionDefault
Receive DTMFAllow callers to press keysEnabled
Send DTMFAllow agent to send key tones (for IVR nav)Disabled
Digit timeoutSeconds to wait for additional digits3 seconds
Finish keyKey that signals end of input (e.g., #)#

Via the API

curl -X PATCH https://api.thinnest.ai/agents/agent_abc123 \
  -H "Authorization: Bearer $THINNESTAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "voice_tools": {
      "dtmf": {
        "enabled": true,
        "receive": true,
        "send": true,
        "digit_timeout_seconds": 3,
        "finish_key": "#"
      }
    }
  }'

System Prompt Guidance

When collecting an account number, ask the caller to enter it using their
keypad followed by the pound key. Wait for the DTMF input before proceeding.

For outbound calls to businesses with IVR menus, navigate the menu by
sending the appropriate keypress. For example, press 1 for English,
then enter the extension number.

Collecting Multi-Digit Input

When your agent needs to collect a multi-digit number (account number, ZIP code, etc.), configure the finish_key so the agent knows when the caller is done entering digits.

Agent: "Please enter your 6-digit account number, followed by the pound key."
Caller: *presses 1-2-3-4-5-6-#*
Agent: "Got it. Your account number is 123456. Let me look that up."

On this page