Skip to main content
The IVR Menu node creates a classic telephone menu — “Press 1 for Sales, Press 2 for Support” — with configurable DTMF options, retries, and barge-in.

Behavior

  • Plays a prompt (TTS or audio file) listing the menu options
  • Listens for DTMF key presses
  • Routes to the matching option’s output handle
  • On invalid input, plays a retry message and re-prompts
  • On timeout, follows the timeout path
  • Output handles are dynamic — one per configured DTMF option, plus Timeout and Invalid

Configuration

Prompt

ParameterTypeDefaultOptionsDescription
promptSourceenum"tts"tts, fileSource of the audio prompt
promptstring"Please select an option."TTS text for the prompt (used when promptSource is tts)
promptAudioFilestring""Audio file URL (used when promptSource is file)

Timing & retries

ParameterTypeDefaultRangeDescription
timeoutnumber51–30Seconds to wait for input
interDigitTimeoutnumber31–10Seconds between key presses
retriesnumber31–5Retry attempts on invalid input
retryMessagestring"Invalid selection. Please try again."Message played on invalid input
timeoutMessagestring"We did not receive your input."Message played on timeout

Interaction

ParameterTypeDefaultDescription
bargeInbooleantrueAllow caller to press a key before the prompt finishes playing
confirmInputbooleanfalseRequire the caller to confirm their selection
enableStarPoundbooleantrueEnable * and # as valid menu keys
Each option in the options array:
FieldTypeDescription
keystringDTMF key (09, *, #)
labelstringDisplay label
actionenumAction type: goto (go to node), transfer, variable, hangup
targetNodestringID of the target node (for goto action)
eventstringEvent name (auto-generated as DTMF.{key})

Output handles

Output handles are dynamic based on configured menu options:
HandleDescription
[Key]Caller pressed the corresponding DTMF key (e.g., 1, 0, *)
TimeoutNo input received within timeout
InvalidAll retry attempts exhausted

Use cases

Configure options for key 1 (Sales), 2 (Support), 3 (Billing), 0 (Operator). Connect each output to the appropriate Transfer node.
“Press 1 for English, Press 2 for Spanish.” Route to different TTS nodes or AI Agents configured for each language.
Chain IVR Menu nodes: Main menu → Sub-menu. Use * as a “return to previous menu” key by connecting it back to the parent menu node.