Build / Flow builder
Compose agents on a canvas
Build a voice agent without writing code — drag nodes, wire them together, publish, deploy. Flows compile to the same runtime the SDK uses, so anything a code agent can do, a flow can too.
Mix freely: a deterministic intake graph can hand a hard conversation to a playbook node and take back over when it exits.
The node palette
Four groups, drag any of them onto the canvas.
Deterministic dialog — you write the words.
Say · Ask · Confirm · Keypad menu
The model decides — scoped by your prompt and exits.
AI reply · Playbook · Branch by intent · Route by skill · Knowledge · Remember
Reach out of the call.
Call an API · Code
Control flow and guarantees.
Condition · Set variable · Workflow · Transfer to human · End call · Required info · Shortcut rule · Note
From canvas to live agent
Five steps, no code.
- 1
Create a flow
Dashboard → Flows → New. You get a canvas with a Start node.
- 2
Drop and connect nodes
Drag from the palette, wire edges between ports. Branching nodes (Condition, Branch by intent, Keypad menu, Playbook) expose one labeled port per outcome plus an "Otherwise" port — no dead ends.
- 3
Configure in the inspector
Click any node to set its prompt, script, variables, or tool binding. Flow-level variables, required-info gates, and shortcut rules live in the Capabilities & Rules panel.
- 4
Publish, then deploy
Publish snapshots an immutable version and validates the graph — unreachable nodes, unused signals, unsatisfied gates. Deploy turns the published version into a live agent in your Agents list.
- 5
Test it
Dry-run in the canvas while editing, or open the Playground and talk to the deployed agent by voice or text.
Playbooks: skills you build once
A playbook is a reusable, goal-driven skill — a prompt, tools, and named exit conditions — managed under Dashboard → Playbooks. Publish one to freeze an immutable version, then use it two ways: reference it from a flow's playbook node (its exits auto-project as ports), or deploy it standalone as a one-node agent. Flows pin the version they were deployed with, so editing a playbook never silently changes a live agent.
Publish and deploy are different gates. Publish = save an immutable, validated version. Deploy = make that version answer calls. You can keep editing the draft while the deployed version keeps working.