Channelsintermediate

Build an IVR flow

Open the IVR builder, drag nodes from the palette, connect them with edges, and configure each node from the side panel. Save when validation passes.

May 11, 20268 min read

Build an IVR flow

A flow is the script your callers walk through — greeting, menu, branches, routing. You build it on a visual canvas by dragging node types from the palette and connecting them.

Before you start

  • At least one phone number provisioned in Settings → Voice.
  • (Recommended) A queue and a team ready to receive calls — your first flow will likely end at Send to Queue.
  • A rough sketch of what the call should sound like — what greeting plays, what menu options exist, where each one goes.

Steps

  1. Open Settings → Voice.
  2. Select a phone number in the sidebar, then go to the Flows tab.
  3. Click Create Voice Flow. The builder opens with an Incoming Call node already placed.
  4. Drag a node from the left palette onto the canvas — start with a Say Message node next to Incoming Call.
  5. Click and drag from the bottom handle of Incoming Call to the top handle of Say Message to connect them.
  6. Click the Say Message node to open its configuration in the right panel. Enter the greeting text — for example, “Thank you for calling Acme. We’re connecting you now.”
  7. Keep adding and connecting nodes until the flow describes the full call experience. A simple starter flow:

Incoming Call → Say Message ("Welcome") → Send to Queue (Support)

  1. Click Save. If validation passes, the flow is saved; if it fails, the builder highlights what’s wrong.

Common starter patterns

A few flow shapes that cover most needs:

  • Direct-to-queue. Incoming Call → Say Message → Send to Queue. The simplest possible flow.
  • Open/closed branch. Incoming Call → Is Open → (Open) Send to Queue / (Closed) Say Message → Voicemail. Honors your opening hours.
  • Menu. Incoming Call → Say Message (“Press 1 for sales, 2 for support”) → Gather Input → (1) Send to Queue (Sales) / (2) Send to Queue (Support).
  • Callback offer. Incoming Call → Say Message → Callback Queue. Skip the hold-time waiting altogether.

Verify it worked

After saving, you should see:

  • The flow appears in the Flows tab with its name and a status.
  • The canvas is clean — no validation errors highlighted on nodes or edges.

Assign the flow to a phone number, then dial that number from your own phone. The call should reach the queue or voicemail you designed.

Validation errors and how to fix them

The builder will block saving if:

  • A node has no incoming connection (unreachable) — connect it from a previous node.
  • A required output is unconnected — every output handle that callers can take must lead somewhere.
  • A Send to Queue node references a queue that no longer exists — pick a different queue or recreate the missing one.
  • The flow has no terminal — every path must eventually reach Hang Up, Voicemail, or a routing exit like Send to Queue or Transfer.

Troubleshooting

  • Symptom: The flow saves, but calls land in a fallback message instead of running the flow. Fix: The flow isn’t assigned to the phone number yet. See Assign an IVR flow to a number.

  • Symptom: Your TTS message sounds wrong (wrong language, robotic voice). Fix: TTS voice is set per channel in the Voices tab, not per node. See Configure TTS voices.

  • Symptom: Send to Queue dropdown is empty. Fix: You need to create a queue first. See Set up a call queue.

See also

Tags

How To

See Atender in action

Book a personalized demo and see how AI-powered customer service with expert humans can transform your support operation.