Skip to main content

Nodes

A node is a single unit of work in a flow — playing audio, collecting input, making an API call, or branching based on a condition. Each node has:
  • Type — A unique identifier (e.g., startNode, ivrsMenuNode)
  • Category — Grouping for the node palette (System, Audio, Logic, Input, Integration, Utility)
  • Configuration — Settings specific to that node type
  • Output handles — Named exit points that connect to the next node

Edges

An edge is a connection from one node’s output handle to another node’s input. Edges define the path a call takes through the flow. Each output handle can connect to exactly one target node.

Output handles

Output handles are the exit points of a node. They appear as connectable ports on the right side of a node in the visual editor. Each handle represents a possible outcome — where the flow goes next. For example, a Transfer node has three output handles:
  • Successful — the call was connected
  • Timeout — nobody picked up
  • Failed — the transfer could not be completed
You connect each output handle to the next node that should run for that outcome. This is how you build branching logic in a flow.

Static vs. dynamic handles

Some nodes have static handles — a fixed set of outputs defined by the node type (e.g., Condition always has True and False). Other nodes have dynamic handles — outputs that change based on configuration:
  • IVR Menu creates a handle for each DTMF key option you configure
  • Switch creates a handle for each case plus a default
  • Percent Routing creates a handle for each route

Variables

Variables store data that persists across nodes within a single call. They’re used to:
  • Store caller input (digits, speech transcripts)
  • Save API response data
  • Track loop counters
  • Pass context between nodes

Setting variables

Use the Set Variable node to set values from static text or expressions. Many nodes also automatically set output variables — for example, Collect Digits stores the collected digits in a variable.

Referencing variables

Reference variables in text fields using double curly braces:
Hello {{customer_name}}, your account balance is {{balance}}.

Output variables

Certain nodes produce output variables — structured data that downstream nodes can reference. For example:
NodeOutput variables
Collect Digitsdigits, digit_count
Speech Inputtranscript, confidence
API Callbody, status_code, headers
Databaserows, row_count
Play Audioduration
AI Agenttranscript (array)
Transformresult