Multimodal input

Configure file attachments and keypad input for your agent.

Overview

Multimodal input settings control extra ways users can send information to the agent beyond speech. They live in the agent’s Advanced tab, under Multimodal input.

File input

File input lets users send images and PDFs to the agent in chat. The agent can read those files when the selected model supports image and/or document input.

Attachments are ignored if the model does not support the file type, even when file input is enabled.

Configuration

FieldTypeDefaultDescription
enabledbooleantrueWhen true, users may attach images or PDFs if the model supports that input type.
max_files_in_memoryinteger10How many recently uploaded files are held in memory at once. Range: 1 to 10. When the limit is reached, older files are replaced with a brief summary.
max_files_per_conversationinteger10Total files a user can upload in one conversation. Uploads are billed per file. Use -1 for no limit. Must be -1 or greater than or equal to max_files_in_memory.

Users can attach files in the widget, supported chat channels such as Slack, or the upload conversation file API.

1

Open Multimodal input

Open your agent in the dashboard, confirm the selected model supports image and/or PDF input, then go to the Advanced tab.

2

Enable file attachments

Under Multimodal input, turn on Allow file attachments.

3

Set file limits

Optionally set Files kept in memory and Max files per conversation.

4

Save your changes

Save the agent. Users can then attach images and PDFs in chat.

DTMF input

DTMF input lets callers enter digits on their phone keypad during a call. Use it to collect phone numbers, menu choices, and other numeric input without relying on speech recognition.

This is the inverse of the play keypad touch tone system tool, which sends tones from the agent.

Only out-of-band DTMF from Twilio, SIP trunking (Telephony), or Genesys is supported. In-band tones in the audio stream are ignored. The web widget and chat channels cannot send DTMF.

Each keypad press is buffered until the sequence is complete. Completing a sequence creates one user turn.

  1. The caller presses a key. The first digit interrupts the agent if it is speaking.
  2. Further digits append to the same buffer.
  3. The sequence completes when the caller presses # (if hash termination is enabled) or when no further digits arrive before the timeout.
  4. The agent receives the collected digits as a user turn and responds.

# is a terminator when hash termination is enabled; it is not included in the collected string. A # pressed with an empty buffer is ignored. The buffer accepts 0-9, *, #, and A-D, up to 50 characters.

Configuration

conversation_config.conversation.dtmf_input_settings is null when DTMF input is disabled. When enabled, the defaults are:

FieldTypeDefaultDescription
dtmf_input_timeoutfloat2.0Seconds to wait after the last keypress before completing the sequence. Range: 0.5 to 10.0.
hash_terminatorbooleantrueIf true, # immediately completes the sequence and is not included in the collected digits.
redact_inputbooleanfalseIf true, keypad entries are replaced with <REDACTED> in the stored transcript, conversation log, and analysis.

Redaction applies to the keypad turn in stored conversation data. It does not hide digits from the agent during the live call, and it does not rewrite digits the agent speaks back or sends to a tool. That is separate from conversation history redaction.

1

Open Multimodal input

Open your agent in the dashboard and go to the Advanced tab.

2

Enable DTMF input

Under Multimodal input, turn on Enable DTMF input.

3

Configure timeout and redaction

Optionally set DTMF input timeout, Use # to complete DTMF input, and Redact DTMF input.

4

Save your changes

Save the agent, then place a phone call and enter digits on the keypad.

Update the agent’s system prompt so it knows when to ask for keypad input. For example:

If you need the caller's phone number, ask them to type it on their keypad. Wait for the DTMF
input before continuing.