Workflows
Workflow blocks
Build the right sequence. See what each workflow block does and how to set it up.
#Conversation
The assistant talks with the caller.
instructiontext- What to do in this step, like a small prompt of its own.
saytext- An optional line said when the step starts.
variableslist- Up to 20 variables to collect, each with a name and a description.
global_conditiontext- Makes the step reachable from anywhere when this is true.
Its outgoing arrows carry plain-language conditions. The model follows an arrow when its condition is true.
#Say
Speaks a fixed line, then carries straight on.
#Condition
Each outgoing arrow has a rule: a variable, an operator and a value. The first true arrow is followed, and an arrow with no rule is the default.
| Operator | True when |
|---|---|
== != | The value equals, or does not equal, the text given. |
> < >= <= | A numeric comparison. |
contains | The value contains the text given. |
exists | The variable has any value. |
empty | The variable is missing or blank. |
#Switch
Follows the arrow whose label equals the value of switch_var, or the arrow labelled default.
#Set
Sets variables from templates, such as full_name = {{first_name}} {{last_name}}.
#AI
A quick model call that classifies, extracts or rewrites using the call's variables. With a list of choices, the arrow labelled with the answer is followed. The result is saved under save_as.
#Tool
Runs a built-in or custom tool with templated arguments, then follows success or failure.
#Code
Runs code in the same sandbox as code tools, with the call's variables as args. The object it returns is merged into the variables, and a returned next value picks the arrow with that label. If the code throws, the failure arrow is followed. Timeout 1 to 20 seconds, 5 by default.
export default async function ({ args }) {
const total = Number(args.items) * 12.5
return { total, next: total > 100 ? 'large' : 'small' }
}#HTTP
Any HTTP request, with templated URL, headers and body and an optional pick path. The reply is saved under save_as. It follows success or failure.
#App
A ready-made action from the app catalog, such as posting to Slack or creating a HubSpot contact, using a saved connection. It follows success or failure.
#Text and Email
Text the caller or a fixed number, or email someone, then carry on. Both take templated messages.
#Transfer
Puts the caller through to a number, with an optional line said first.
#End
Says goodbye and hangs up.
#Slow blocks
Blocks that can keep the caller waiting (tool, code, HTTP, app, AI) have three more settings:
fillertext- Said while the block runs, such as "Let me check that for you".
retries0 to 2default 0- How many times to retry on failure.
fail_saytext- Said if it still fails.