Multimodal input
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.
Let users attach images and PDFs in chat
Collect keypad digits from callers during phone conversations
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
Users can attach files in the widget, supported chat channels such as Slack, or the upload conversation file API.
Update via the dashboard
Update via the CLI
Update via the API
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.
- The caller presses a key. The first digit interrupts the agent if it is speaking.
- Further digits append to the same buffer.
- The sequence completes when the caller presses
#(if hash termination is enabled) or when no further digits arrive before the timeout. - 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:
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.
Update via the dashboard
Update via the CLI
Update via the API
Update the agent’s system prompt so it knows when to ask for keypad input. For example: