Skip to main content

Node Types

Every Voice Workflow is built from nodes. Each node is one phase of the call. At any moment only the current node’s prompt and tools are active, which is what keeps the agent on-script as the conversation moves from greet → branch → collect → end. Nodes fall into two families, plus a single terminal node:

Conversational nodes

They own a caller turn — the agent speaks, the caller replies, and the Director extracts variables from what was said. Conversation and Collector nodes are conversational.

Internal nodes

They run instantly with no caller turn. The flow passes straight through them to the next conversational node. Condition, Set Variable, API Request, Knowledge, Tool, and Transfer are internal.
A workflow always ends at a Terminal node — End Call. In the builder the palette on the left groups nodes exactly this way: Conversational, Internal, and Terminal.

All node types

These are voice workflow nodes. They are unrelated to the chat Flow Editor, which uses Agent / Tool / Team graph nodes.

Conversation

The workhorse node. It speaks to the caller and drives the conversation forward.
Extract vs. Require: extract tells the Director which variables to listen for this turn; require additionally blocks the transition until those variables are captured. A variable can be extracted without being required.

Collector

A Collector is a prebuilt, transcription-hardened node tuned to reliably capture one common value over the phone, where spelled-out emails and digit strings are easy to mishear. Available collectors: Reach for a Collector instead of a plain Conversation node whenever a phase exists only to capture one of these values cleanly.

Condition

An internal node that routes without speaking. It has a single output, and the branching lives entirely on its outgoing edges — each edge carries its own condition.
  • Equation edges are checked first, deterministically, first-true-wins.
  • An Unconditional edge acts as the “else”.
Because a Condition node takes no caller turn, the flow passes straight through it to the next conversational node. See Transitions, Variables & the Director for how edge conditions are written and resolved.
A Condition node branches by edge conditions, not by true/false handles. To add a branch, draw another edge from its output and give that edge a condition.

Set Variable

An internal node that assigns a variable from a template string, with {{variable}} interpolation so you can compose new values from existing ones — for example setting {{full_name}} from {{first_name}} {{last_name}}. It runs instantly and passes through to the next conversational node.

API Request

An internal node that calls an external service and feeds the result back into the workflow. It reuses the unified API & Webhook tool (api_connect), with three modes — API Endpoints, Webhook, and Free-form Request — and a Response → Variable mapping that lands response fields into workflow variables so a downstream Condition can branch on them. The chosen endpoint’s parameters are filled from workflow variables of the same name (extract-before-call), and on a failed call the node follows its error edge so the call never hangs. See API Request Node for the full configuration, including the Configure API modal, auth options, OpenAPI import, and a worked example.

Knowledge

An internal node that looks up a grounded answer from the agent’s knowledge base at this exact step, stores the answer in a variable, and lets the flow branch on whether anything was found. By default it searches for the caller’s latest message, so dropping a Knowledge node right after a question “just works”. Unlike letting the agent decide on its own (which may answer from memory and get it wrong), the Knowledge node makes the lookup guaranteed and on-script — and a following Conversation node reads the stored answer back to the caller. See Knowledge Node for configuration, the found/not-found branching pattern, and a worked example.

Tool

An internal node that runs one built-in integration — send an SMS, create a calendar event, look up an order, push to a CRM — at this exact step, and maps the result into variables. It uses the same tools you attach to an agent. Where the API Request node calls your own APIs, the Tool node runs the platform’s built-in integrations. Like the agent deciding on its own, an agent might call a tool — the Tool node makes the action guaranteed at the point you place it. See Tool Node for configuration, input/result mapping, and a worked example.

Transfer

An internal node that bridges the live call to a human agent or a phone number. Use it when the caller needs a person, or when the workflow has done its job and the rest of the call belongs to a human.

End Call

The terminal node. Place it wherever a path through the workflow finishes. Use distinct outcome labels on different End Call nodes to make your call results easy to read after the fact.

Global nodes

Any Conversation node can be marked Global. A Global node is not part of the linear path — instead it has an enter-condition (a prompt or an equation) and becomes reachable from any interruptible node the moment its enter-condition matches. This is how you handle things that can come up at any point in the call — a caller raising a pricing objection, asking to speak to a human, or going off-script. When the enter-condition matches:
  1. The flow jumps to the Global node, which handles the situation.
  2. When it’s done, the flow returns to the node the caller was on.
A cooldown (measured in turns) prevents a Global node from re-triggering immediately after it returns.
A node only reaches Globals if its Interruptible toggle is on. Turn it off on nodes where an interruption would be disruptive (for example, mid-way through collecting a sensitive value).
Global enter-conditions are written and evaluated like any other condition — see Transitions, Variables & the Director for the resolution order (equation edges, then prompt edges, then global enter-conditions).
Keep each Conversation node focused: one phase = one job. A node that only greets, or only confirms the appointment date, gives the Director a small, clear set of variables to extract and edges to choose from — which makes routing more accurate and the call faster.

Next steps

Transitions, Variables & the Director

How edges, conditions, variables, and the Director move the call between nodes.

API Request Node

Configure outbound API calls and map responses into variables.

The Workflow Builder

Add, connect, and arrange nodes on the canvas.

Workflow Templates

Start from Lead Qualification, Appointment Booking, or Support Triage.