Call Flows (Visual IVR)
What a call flow is
A call flow is a visual map of what happens when someone calls one of your phone numbers. Drag boxes onto a canvas, connect them with arrows, and the platform runs the result every time a call comes in.
Chapter 6 walked you through building a basic auto-attendant. This chapter is the lay of the land for the Call Flows section — the list page, the designer, templates, and how to test what you've built. For details on what each individual node does, see chapter 24, the full node reference.
The Call Flows list page
Top nav → Call Flows. The list page shows every flow in your tenant.
Columns:
- Call Flow — name and description
- DIDs — how many phone numbers route to this flow
- Nodes — how many steps are in the flow
- Status — Active or Inactive
- Actions — Design (open the designer), Edit (rename), Delete
Active vs Inactive. Only Active flows run when calls come in. Inactive flows are saved drafts — useful for building a replacement before swapping it in. You can toggle a flow on or off from its detail/edit modal.
Assigning a flow to a DID. Flows aren't assigned from this page. Go to Phone Numbers → click the DID → set its destination to the call flow. A DID can only route to one flow at a time; switching destinations automatically unassigns it from the previous one.
The visual designer
Click Design on a flow (or New Call Flow) to open the designer. Three areas:
- Canvas (center) — where your nodes live and connect. The Start node is fixed and lives at the top; every flow has exactly one.
- Node palette (left sidebar) — every node type, grouped by category (call routing, IVR & input, time-based, advanced, test). Expand or collapse a category by clicking its header.
- Properties panel (right) — appears when you select a node, lets you configure its fields.
Pan and zoom. Click and drag empty canvas to pan. Use the zoom slider in the top toolbar (or pinch on touch devices) to zoom from 25% to 200%. Click Fit to auto-frame the whole flow. Your zoom level is remembered per browser.
Minimap. A small overview of the entire flow sits in the corner so you can see where you are inside a large diagram and click to jump.
Dragging and connecting nodes
Add a node. Drag any item from the left palette onto the canvas. Drop it where you want it.
Connect two nodes. Every node has an output dot on the bottom (some have more — Menus have one per digit, Time Conditions have an "in window" and "out of window" output, and so on). Click and drag from an output dot to the input dot at the top of another node. A line snaps into place.
Delete a connection. Click the line to select it, then press Delete or click the trash icon that appears.
Delete a node. Click the node to select it, then press Delete or use the trash button on the node card. The Start node can't be deleted.
Reorder. Drag a node anywhere on the canvas. Connections follow.
Starting from a template
Click Templates in the top toolbar to open the template gallery. Pick one to scaffold a working flow you can then customize.
Available templates:
- Direct to Extension — route every call straight to one extension, with voicemail fallback.
- Basic Auto-Attendant — classic IVR menu: 1 for sales, 2 for support, 0 for operator.
- Business Hours Router — different routing during business hours vs. after hours.
- Team Ring Group — ring several extensions at once or in sequence.
- Call Queue with Hold — queue callers with hold music and position announcements.
- VIP Caller Priority — match incoming caller ID against a VIP list and fast-track those callers.
- After-Hours Emergency — normal routing in business hours, emergency option after hours.
- Company Directory — dial-by-name lookup.
- Recorded Call Routing — record every call with a consent announcement first.
- Multi-Department IVR — large menu with department sub-menus.
Templates are starting points. Rename, delete, and rewire freely after loading.
Saving and versioning
Click Save in the top toolbar (it pulses orange when you have unsaved changes). Every save:
- Stores the new flow definition in the database.
- Regenerates the Asterisk dialplan for your tenant and reloads it on the switch.
The Save button moves through Saving → Generating → ✓ Saved so you can see what's happening.
Editing a live flow. You can save while the flow is in production. New incoming calls pick up the change immediately. Calls already in progress finish on the old logic — no calls are dropped.
Preview before you save. Click Preview in the top toolbar to open a side window showing the exact Asterisk dialplan your current (unsaved) edits would generate. Useful when you're doing something complex and want to sanity-check it before going live.
There isn't a one-click "roll back to version 3" button. If you need a safe path, duplicate the flow before making risky changes — chapter 6 covers the duplicate pattern.
Testing your flow
Two ways to test without picking up the phone and dialing your DID:
1. Feature Code entry points. Add a Feature Code node from the palette's Test section. Assign it one of *800 through *809, then point it at any spot in your flow. Now dialing that feature code from any extension on your tenant enters the flow at exactly that node — useful for testing a single branch without going through the front door.
2. Echo Test. The Echo Test node plays back whatever audio the caller speaks. Drop one in to check that audio is reaching Asterisk cleanly.
For end-to-end testing, just dial your DID from a cell phone. The platform records every test call in your call history, so you can listen back to confirm what played and where the call ended up.
What to read next
- Chapter 24 — Call Flow Nodes: Complete Reference. Every node type, every field, when to use what. The definitive node-by-node guide.
- Chapter 11 — Ring Groups. Configure the groups that the Ring Group node points to.
- Chapter 12 — Queues. Configure the queues that the Queue node points to.
- Chapter 16 — Media Library. Upload greetings and hold music that Play Audio nodes use.