Skip to main content
A flow describes how a conversation proceeds. You build it in the flow editor as a state graph: a map made of states and transitions between them.

The flow editor

The flow editor is a graphical interface in which you arrange states as nodes and link them with connections (transitions). You can arrange the graph freely, add states, edit them, and remove them again.
Flow editor with state list and state configuration

The flow editor: on the left the list of states, on the right the configuration of the selected state (instructions, permitted tools, outputs).

States

A flow consists of states – the steps of the conversation. A state carries its own instructions, permitted tools, and transitions to subsequent states. Two additional points end the conversation:

Forwarding

Connects the call to an external phone number (e.g. to a human).

Hanging up

Ends the call.

Transitions and conditions

A state has outputs – named, ordered transitions to subsequent states. Each output is tied to a condition:
  • a tool that was called in the state,
  • an expected response code (the result of the tool),
  • optionally negated (“does not apply”).
While running, the agent checks the outputs in their order. The first matching transition determines the subsequent state.
No response code, no transition. If a tool does not trigger a declared response code, the agent stays in the current state. This keeps you in control of the conversation’s course.

Example

Tools in a state

For each state, you define which tools the agent may use there. They come from three categories (details under Integrations & Tools):
  • Built-in tools – platform-native and configuration-free, such as classify for sorting the request. The categories become response codes for your transitions.
  • Connector tools – business actions such as “book appointment” or “look up patient” that go to your system via a connector (e.g. planorg PVS).
  • MCP tools – tools of a connected MCP server.
classify, transfer, and hang-up work fully. Connector-tool execution is live for the connected systems (MCP servers, planorg PVS, demo connectors).

State instructions

Each state can carry its own instructions that apply only there (in addition to the agent’s base instructions).
How to phrase good instructions – global and per step – is shown in the Prompting Guide.

Validation

The editor checks your flow continuously – for example whether all states are reachable and transitions are valid. Open issues are shown before you publish.

Versioning

1

Edit the draft

You always work on an editable draft.
2

Publish

On publishing, the draft is validated and stored as an immutable, numbered version.
3

Activate

You set a version as the live version. New calls use it immediately.
You can view earlier versions read-only and, if needed, reopen them as a draft.

Import and export flows

You can export a complete flow as a JSON file and import it elsewhere – handy for backing up, duplicating, or transferring flows between agents.
1

Export

In the flow editor, open the ⋮ menu (top right) and choose Export flow. The current flow is downloaded as a JSON file. Export is also possible in the read-only version view.
2

Import

In the draft, open the same menu and choose Import flow. Pick a previously exported JSON file; its content replaces the current draft. Afterwards, check the result with a test call.
The import overwrites the existing draft. Already published versions remain untouched – the imported flow only becomes a version with the next publish.

Structure of an export file

The file contains a flow object with:
  • startStateId – ID of the start state.
  • statesOrder – order of the states.
  • states – the states, one key per state ID. A state carries:
    • typeREGULAR, FORWARD, or HANGUP.
    • name – display name.
    • stateInstructions – the instructions of the state.
    • allowedTools – permitted tools (for REGULAR).
    • outputsOrder / outputs – the outputs. Each output has a target (transitionTo) and conditions made of tool, responseCode, and isNegated.
    A FORWARD state additionally carries the target phone number, a HANGUP state only a name and instructions.

Example

An exported flow (excerpt from the demo agent “Forderungsmanagement”):