SIVO
IVR designer — concepts

Concepts

IVR designer — concepts

How to design call flows in SIVO using the visual drag & drop editor. Node types, simulator and versioning.

Updated:
ivrconcepts

The IVR designer is the visual editor where you decide what happens with each inbound call. Used by your admins, not your engineering team.

Basics

A call flow is a directed graph of connected nodes. Each call starts at the start node and progresses based on each node’s actions.

Each flow has:

  • A name (e.g. Customer support).
  • An active version (you can keep multiple versions and roll back).
  • A set of nodes and their connections.
  • Session variables accessible from any node.

The 12 node types

TypeWhat it does
playPlays audio or text-to-speech.
menuReads options and captures DTMF (1, 2, 3…).
queueSends the call to an ACD queue.
transferTransfers to an extension or external number.
conditionBranches by time, holiday, schedule or variable value.
hangupHangs up (with optional goodbye audio).
inputCaptures digits into a variable (e.g. ID number, order number).
voicemailRoutes to voicemail with email notification.
webhookPOSTs to your API to enrich the call with external data.
switchN-way routing based on variable value.
functionRuns a custom JS function (secure sandbox).
ai_agentConversation with a conversational AI agent.

Session variables

Some nodes produce variables that others can consume:

  • input stores the pressed digits.
  • webhook stores the JSON response.
  • ai_agent stores data extracted by the AI.
  • caller_id_number, caller_id_name, did, now are predefined variables always available.

To use a variable in an audio or condition: {{caller_id_number}} or {{verified_email}}.

Interactive simulator

Before publishing, test the flow with the simulator:

  1. Open the flow → “Simulate” button.
  2. SIVO renders a fake call with an active dial-pad.
  3. You press digits in the simulator as if you were a caller.
  4. The editor highlights in real time which node is executing.
  5. You can force the time with the clock override to test schedule conditions.

Versioning and rollback

Each time you press Save, a new version is created. The active version is the one receiving calls in production.

To roll back:

  1. Open the flow → Versions menu.
  2. Select an older version → “Activate this version”.
  3. The new active version replaces the current one in under 1 second, with no restart.

Pre-publish validation

Before activating a new version, SIVO validates:

  • Orphan nodes: no control flow reaches them. You’re warned.
  • Dead references: node pointing to a deleted queue or removed audio.
  • Infinite loops: cycles with no possible exit. You’re warned.
  • Webhooks: HEAD preflight against configured URLs to verify reachability.

If there are errors, it doesn’t let you activate. If there are warnings, it lets you but shows them.

Assigning to DIDs

An IVR flow makes sense when assigned to a DID (an inbound number):

  1. Settings → DIDs → your number → IVR.
  2. Select the flow (you can pick a specific version or “always the active one”).
  3. Optional: define an alternative flow for out-of-hours tied to a schedule.

The same flow can be used by multiple DIDs simultaneously — useful for regional numbers sharing common logic.

Best practices

  1. Keep the menu short — 3-4 options max. Caller’s memory.
  2. Use condition.schedule to route out-of-hours before reading the menu.
  3. Name your nodes descriptively (main_menu, support_queue) — eases debugging.
  4. Log key variables with a webhook at the end of the flow if you need advanced analytics.
  5. Test in the simulator all paths before publishing.
  6. Version before big changes — rollback is your safety net.