Flow agents
A voice agent made of steps and the paths between them. What a flow agent is, when it beats a single prompt, and how its parts fit together.
Most agents run on one long prompt. A flow agent splits the call into steps instead, each with one part of the conversation to handle: confirm who picked up, explain why you are calling, agree what happens next, say goodbye. Paths join the steps and decide where the call goes after each turn. You draw the flow on a canvas in the dashboard or send it as JSON through the API; either way it is an ordinary agent that places and answers calls, runs in campaigns and sends your webhooks.
Flow or prompt?
The two kinds of agent share everything outside the conversation: voices, languages, phone numbers, campaigns, webhooks, and the widgets for your website and app. What differs is how you describe the conversation.
| Prompt agent | Flow agent | |
|---|---|---|
| What you write | One prompt that covers the whole call. | A briefing every step shares, and steps that each carry their own instructions or exact wording. |
| What the model reads each turn | All of the prompt. | The briefing and the step the call is on, so a long script stays focused. |
| Wording that must not change | The model phrases every reply itself. | A fixed line is said exactly as written, from audio prepared when you save. |
| Decisions on data you already hold | You ask the model, in the prompt, to look at it. | A rule checks the value directly. No model is asked, so it adds no wait. |
| Settings for one part of the call | One model, knowledge base and interruption setting for everything. | A step can have its own reply model, decision model, knowledge base, tool and interruption setting. |
| Getting started | Write the prompt. | Start from a template, or lay the steps out on the canvas. |
A prompt agent suits open conversations where order doesn't matter: questions about your product, FAQs, a friendly check-in.
A flow agent suits calls with a shape you need to keep:
- one thing has to happen before another, such as confirming identity before an account is discussed;
- some sentences have to be said word for word, such as a disclosure or a consent question;
- the call should go one way or another depending on data you send with it, such as the amount owed, the plan the customer is on or the day of the week where they live;
- a prompt has grown so long that the agent starts skipping parts of it;
- you want to see, call by call, which step the conversation was on and why it moved on (see Test and fix a flow).
Starting from a prompt agent
In the agent editor, Convert to a flow agent reads the agent's prompt and drafts steps from it. You review and edit the draft, and a new flow agent is created with the same voice, model and call settings. The agent you started from is left as it was.
How a flow is put together
Steps are the places a call can be. There are three kinds.
| Kind | What happens there |
|---|---|
| AI reply | The AI holds the conversation, following the step's instructions on top of the briefing. It can answer from a knowledge base and use tools, including ending or transferring the call. |
| Fixed line | The same words every time, in the caller's language. With no paths out, it can hang up once the words have played. |
| Branch | Says nothing. It picks one of its paths at once, so the caller only ever hears the step it sends them to. |
Paths lead from one step to another. Each one has a condition saying when the call should take it.
| Condition | The call takes the path when… |
|---|---|
| AI decides | the decision model, reading your description ("The caller agrees to a time") and the conversation, picks it. |
| Rule | the call's data matches, for example recipient_data.plan is premium. |
| Always | nothing else matched. It is the step's fallback. |
| Event | your own server sends that event into the live call, for example demo_booked. |
A few settings hold the flow together:
- Briefing: what every step knows, such as who the agent is, who it is calling and why. Each step's instructions are added after it.
- First step: where every call starts.
- Welcome message: said when the call connects, before any step runs.
- Decision model: the model that chooses between paths the AI decides. It is chosen separately from the model that writes replies.
- Variables: details such as
{customer_name}that each call fills in from its own data, with defaults for when a call doesn't send them.
A flow at a glance
This is the Payment reminder template, one of the flows you can start from:
The branch never speaks. Once the caller confirms who they are, the call passes straight through Check the amount due, and the next thing they hear comes from Agree a payment date, or from Goodbye when nothing is owed.
Where to go next
Build your first flow
Create a flow agent, learn the builder, and put together a small flow that books a demo.
Steps
AI replies, fixed lines and branches, and every setting a step can have.
Paths and decisions
How the call chooses where to go: rules, the decision model, the fallback, and values collected on the way.
Fixed lines
Exact wording in every language, played at once, and a line that ends the call.
Using your data
Variables and defaults, the values a call keeps up to date by itself, and how rules compare them.
Tools, transfers and knowledge
Let a step look things up, end the call, hand it to a person, or answer from your documents.
Events
Move a live call from your own server when something happens outside it.
How a call moves through a flow
The order things happen in, turn by turn, from the welcome message to the hang-up.
Test and fix a flow
Try a flow by chat or call, read what Check reports, and find out why a call took the path it did.
Save and publish
Save, undo, move flows as JSON, go back to an earlier version, go live, and put the agent on your website or in your app.
A conversation, end to end
One conversation followed through a flow, from the first words to the record it leaves.
Flow API
The flow format field by field, the endpoints, every check a save runs, and a complete example.

