Building agents
Nodes
The pieces a workflow is made of: three that define the agent, seven that act on the call, and three that feed it data.
The palette
Down the left of the canvas, in three groups (core, interaction and data) plus any custom tools you have defined, which appear below the standard groups. Drag one onto the canvas to add it.
Click a node to open the editor on the right. Every node has a label; the rest of the fields are the ones listed below.
Core
The agent itself, and the logic it runs on.
AI Agent
Who the agent is: its name, its voice, and the prompt everything else feeds into.
- Name
- What this agent is called.
- Description
- What it is for and how it should behave.
- Voice Model
- The voice it speaks in.
- Edit Prompt
- The assembled prompt, built from the connected nodes and the shape of the workflow.
Conditional
A branch. The conversation takes the attached path only when the condition holds.
- Condition
- What has to be true for this branch to be taken.
Script
A block of instruction on one topic, for the agent to follow when it gets there.
- Topic
- What this script covers. Unique across script nodes.
- Content
- The scripted text itself.
Interaction
Things done to the call rather than said in it. The ones marked terminal end this branch: nothing can follow them.
Warm Transfer
terminalHands the call on, announcing it to whoever is picking it up.
- Name
- The person or department. Unique across transfer nodes.
- Description
- What triggers the transfer.
- Phone Number
- Where the call goes.
Cold Transfer
terminalHands the call on without an announcement.
- Name
- The person or department. Unique across transfer nodes.
- Description
- What triggers the transfer.
- Phone Number
- Where the call goes.
Hang Up
terminalEnds the call.
Leave Voicemail
terminaloutbound onlySpeaks a message when the call reaches an answering machine rather than a person.
- Name
- A label for this action.
- Voicemail
- The message to synthesise and play.
Play DTMF
Sends touch-tone digits, for menus on the other end of a transfer.
- Name
- A label for this action. Unique across DTMF nodes.
- Digits
- The digits to play, e.g. 1234#.
Receive DTMF
Listens for digits the caller presses.
- Name
- A label for this action. Unique across DTMF nodes.
- Instructions
- What the agent should do with what it captures.
Knowledge Base
Looks something up mid-call, in a corpus you have already loaded.
- Corpus
- Which knowledge base to search.
Data
What the agent knows. These reach an agent node by a dashed association edge, never by a flow edge.
Information
Context the agent can draw on but is not scripted to say.
- Topic
- What this covers. Unique across information nodes.
- Text
- The content itself.
Dynamic Variable
outbound onlyA per-contact value from the contact list schema, filled in at call time. Reference it in a Script or Information node in square brackets: [FIRSTNAME].
- Variable Name
- A field on the linked contact list.
- Placeholder
- What to say when the contact has no value.
- Description
- What this value means, for the agent.
Static Variable
One value, the same on every call in the campaign. Referenced the same way: [COMPANY_NAME].
- Variable Name
- How it is referenced.
- Placeholder
- Shown while the value is unset.
- Description
- What this value means, for the agent.
- Value
- The value.
Working with a selection
Hold Cmd (or Ctrl) and click to add nodes to a selection one at a time, or hold Shift and drag on empty canvas to draw a box around everything you want. A selection moves and deletes as one.
What the builder will not let you save
- Unlabelled nodes
- Every node needs a label.
- Transfers without a number
- A transfer node needs a valid destination.
- Duplicate topics
- Script and Information topics are unique; so are Transfer and DTMF names.
- Loops
- Flow edges cannot form a cycle.
- Anything after a terminal node
- Hang Up, both transfers and Leave Voicemail take no outgoing flow edge.