IVR (Interactive Voice Response) menus let callers route themselves by pressing keys on their phone. Instead of answering every call yourself, you can play a greeting like "Press 1 for sales, 2 for support" and send each caller exactly where they need to go.
dialnote's IVR system is built into the visual call flow builder, so you can set up menus, connect them to actions, and even nest menus inside each other — all without writing any code.
Setting up an IVR menu#
To add an IVR menu to your call flow:
- Go to Settings → Phone Numbers and select a number.
- Open the Call Flow section and click Edit Flow.
- Add an IVR Gather node from the action menu.
- A configuration wizard walks you through three steps.
Step 1 — Prompt and timing. Write the message callers will hear (up to 2,000 characters) or paste a URL to a pre-recorded audio file. Set the timeout — how many seconds the system waits for a key press before moving on. The default is 10 seconds, and you can go up to 60.
Step 2 — Keypad options. Pick which keys to activate from a visual keypad (0–9, *, #). Each enabled key lights up blue with a checkmark. You also configure what happens when a caller presses nothing (no input) or hits a key that isn't mapped (invalid input).
Step 3 — Connections. Review your configured paths and connect each key press to the next step in your call flow.
Pro tip
Always set up a No Input and Invalid Input action. A good default is to replay the menu or send the caller to a live agent. Without these, callers who don't press anything will get disconnected.
What each key press can do#
Every key you enable in your IVR menu can trigger any action available in the call flow builder:
- Ring Users — connect the caller to your team (simultaneous or sequential ringing)
- Voicemail — send to voicemail with a custom greeting
- Play Audio — play a message, then continue to the next action
- Go to Menu — branch into another IVR menu for sub-menus
- Forward Call — forward to an external phone number
- Enter Queue — place the caller in a call queue with hold music
- AI Agent — hand off to an AI voice agent
- Business Hours Check — route differently based on your schedule
- End Call — hang up after an optional message
This flexibility means a single IVR menu can handle everything from simple two-option routing to complex multi-department flows.
Building multi-level menus#
Need more than a flat menu? Use the Go to Menu action to create nested IVR trees. For example:
Main Menu: "Press 1 for sales, 2 for support"
├── Key 1 → Ring sales team
└── Key 2 → Sub-Menu: "Press 1 for billing, 2 for technical help"
├── Key 1 → Ring billing team
└── Key 2 → Enter support queue
Each sub-menu gets its own prompt, timeout, and key mappings. There's no hard limit on how many levels deep you can go, but keep it practical — most callers won't navigate more than two or three levels before getting frustrated.
Keep menus short
Aim for 3–5 options per menu. Long menus with 8+ choices make callers lose track and hang up. If you need many options, split them across nested sub-menus instead.
IVR settings and limits#
Here's a quick reference for what you can configure:
| Setting | Range | Default |
|---|---|---|
| Prompt length | Up to 2,000 characters | — |
| Timeout | 1–60 seconds | 10 seconds |
| Input type | DTMF (keypad) | DTMF |
| Digits per press | 1 | 1 |
| Available keys | 0–9, *, # (12 total) | None enabled |
| Minimum keys required | 1 | — |
The prompt supports text-to-speech in 30+ languages. You can also use a direct URL to a pre-recorded audio file if you prefer a custom voice recording over the built-in TTS.
Single-digit input
Each menu collects one key press at a time. If you need callers to enter multi-digit input (like an account number), that's a different workflow. IVR menus are designed for quick routing choices.
Handling errors gracefully#
Two fallback actions help you catch edge cases:
- No Input — fires when the timeout expires and the caller hasn't pressed anything. Good options: replay the menu, transfer to a live agent, or send to voicemail.
- Invalid Input — fires when the caller presses a key that isn't mapped. You might replay the menu with a message like "That wasn't a valid option, please try again."
If you don't configure these, the system will hang up by default. That's almost never what you want, so take a moment to set both up when you create your menu.