You build a flow in the flow designer: you add nodes from the palette, link them, and fill in each node's inputs. To open the designer, select a flow in the project's Flows menu. See Flows.
The designer
| Area | What it holds |
|---|---|
| Palette | The nodes you can add. A category dropdown filters them: All, or one of Message Reply, Logical Operations, Service Request, AI-Powered Dialog, Process and Transfer. The palette lists only the nodes that the open flow type allows. |
| Toolbar | Undo and redo, Save & Close (Save in intent action flows and AI Agent tool flows), and a menu with Import, Export and, in the project's own flows, Publish. |
| Right rail | Test Conversation, Show link names / Hide link names, Add Sticky Note, and zoom in, fit and zoom out. |
Every flow already contains its Start node, and the palette never offers another one. Long node names are cut short in the palette, so hover or add the node to see its full name.
Adding and linking nodes
- Drag a node from the palette onto the canvas.
- Draw a link from one of the node's output ports to the next node. Each output port takes one link, and a node can receive any number of incoming links.
- Double-click the node to open its panel and fill in its inputs.
The node panel
- To rename the node, select the pencil next to its name.
- If the node has more options, a cog opens Advanced Settings. Select Back to return to the main inputs.
- Select the check mark to apply your changes.
📝 Note: Pressing Esc, selecting X or clicking outside the panel closes it without applying anything you changed. Select the check mark first.
Saving
You do not need to select Save. Adding, deleting or linking nodes saves the flow straight away. Moving nodes, resizing, zooming and styling a sticky note are saved within a minute, and anything still pending is saved when you leave the page. A badge in the designer shows when the flow was last saved. Save & Close saves and takes you back to the project list.
Use the undo and redo buttons in the toolbar to step back through your changes.
Sticky notes and link names
Select Add Sticky Note to leave a comment on the canvas for whoever edits the flow next. Sticky notes do not affect how the flow runs.
Show link names shows the names on the links between nodes, and Hide link names hides them again. The designer remembers your choice.
Navigate
On a SubFlow, Virtual Agent or AI Agent node, the node's context menu has Navigate. It takes you to the subflow, virtual agent or AI agent that the node uses.
Using a subflow
A subflow is a separate flow that you call from a SubFlow node. Use one for a step that several flows share, or to keep Main readable. Create the subflow first, as described in Flows.
For example, suppose several flows ask for and check a customer number. You can put that step in one subflow:
- Create a subflow and rename it
Verify Customer. In it, ask for the customer number and store the answer in a dynamic variable, for exampleCustomerNumber. Link the last node to End. - Open Main and add a SubFlow node where verification belongs.
- Double-click the node, select
Verify Customerand select the check mark. - Link the SubFlow node onward. When
Verify Customerreaches End, the conversation continues from the SubFlow node in Main, andCustomerNumberis still there for the next node.
How a subflow behaves:
- It shares the caller's variables. A subflow takes no parameters. It reads and writes the same variables as the flow that called it, so pass values to it in variables. See Variables and Context.
- End returns to the caller. The conversation continues from the SubFlow node's output.
- Subflows can call subflows. A subflow can contain its own SubFlow nodes.
- The Post Session Flow cannot call subflows. It offers no SubFlow node.
Why a subflow is greyed out
Some flow types cannot run every subflow. In the SubFlow node's list, a subflow that the current flow cannot use is greyed out. Hover over it to see why.
| Calling flow | A subflow is greyed out if it contains |
|---|---|
| Intent action | A Virtual Agent node |
| AI Agent tool flow | A Virtual Agent, Intent Recognition, AI Agent or MCP Headers node |
| Survey, FallbackSR | A RAG Agent or Knowledge Retrieval node |
Main and other subflows can call any subflow. To use a greyed-out subflow, move the node it is blocked for into a separate subflow, or build a version of the subflow without it.
Validation
The designer checks the flow every time it saves. A node that has a problem shows an invalid badge, and a node that is out of date appears faded. While the flow fails a check, Test Conversation and Publish are not available.
Before a project is published, the flows it uses must pass these checks:
| Check | What it requires |
|---|---|
| Required inputs | Every node has its required inputs filled in. |
| Every branch ends | Every path from Start reaches an End, End With Result, Exit or Return To Start node. |
| Default output | You can leave a node's outputs unlinked. But once you link any of them, you must also link its default output. |
| Language Condition | Every output of a Language Condition node is linked. |
| Allowed nodes | Every node is one the flow type allows. |
| Up-to-date nodes | The flow contains no out-of-date nodes. Replace them with current ones. |
| Subflow restrictions | No called subflow contains a node its caller cannot run, as in the greyed-out table above. |
Only nodes that can be reached from Start are checked. A node that nothing links to is ignored at publish.
Copying a flow with Export and Import
Export and Import copy one flow as JSON text, for example to reuse a subflow in another project.
- In the source flow, select Export from the toolbar menu. The Show JSON window opens.
- Select Copy Code. The flow is copied to your clipboard. No file is downloaded.
- Open the target flow, select Import and paste the text into the Import JSON window.
- Select Save.
- Open each node marked invalid and fill in its selections again.
⚠️ Warning: Import replaces the whole target flow, its sticky notes included. Import into a new, empty subflow unless you mean to overwrite.
The imported flow takes the type of the flow you import it into. A flow exported from an older version is converted to the current one when you import it. Selections that belong to a specific environment are cleared, and you must select them again:
| Node | Select again |
|---|---|
| Virtual Agent, Intent Recognition | The virtual agent |
| AI Agent | The AI agent |
| RAG Agent | The knowledge base and the LLM configuration |
| Knowledge Retrieval | The knowledge base |
| Ask LLM | The LLM configuration |
| Data Table | All of its inputs |
| Set Attribute | The attribute values |
Draft and published flows
You edit the draft version. When you open a published version, the canvas is read-only, Save, Import and Publish are not available, and a banner shows the version number. To make a change, open the draft and then publish the project.
Limits
| Item | Limit |
|---|---|
| Sticky notes per flow | 20 |
| Characters per sticky note | 1,000 |
| Lines per sticky note | 100 |
| Links per output port | 1 |
