How logic flows relate to the conversation
The conversation flow controls what the agent says and when. Logic flows handle what the agent does. When the agent reaches a point in the conversation where it needs to execute an action (look up a customer, send an email, check a condition), it invokes the appropriate logic flow as a tool. You connect a logic flow to the conversation by adding a Function node to your conversation graph and selecting the flow you want to call. The agent sees the flow’s name and description as a tool it can invoke.Flow structure
Every logic flow follows the same structure:- Start is always the entry point. Every flow has exactly one.
- Nodes are connected left to right (or top to bottom) with edges.
- A flow ends when execution reaches a node with no outgoing connection.
- Variables set inside a flow are available call-wide - the conversation flow can reference them after the flow completes.
Edges
Edges connect one node to the next. Most nodes have a single outgoing default edge. Branching nodes produce multiple edges:Branching and merging
Use Condition or Categorize to split the flow into branches, and Merge to bring branches back together before continuing with shared logic.if and else paths connect into the Merge node. Execution continues from Merge once either branch completes.
Passing variables into a flow
When you call a logic flow from a Flow node, you pass variables into it using the node’svariables field. Each entry is an InputVariable that maps a value (static or dynamic) to a parameter name the flow can reference.
Variables passed in are available to all nodes within that flow execution. Variables set by nodes inside the flow (via Variable, Extract, Webhook response, etc.) are written to the call-wide variable scope and accessible everywhere after the flow runs.
Async nodes
The Webhook and Integration nodes support anasync flag. When enabled:
- The agent speaks the
asyncMessagewhile the request runs in the background. - The flow continues after the async node without waiting for the response.
- Use this when the external call may take a moment and you don’t want silence on the line.
Example: look up a customer and route by tier
customer.tier) are available in the conversation.
Tips
- Keep flows focused on a single task. A flow that does one thing is easier to reuse and debug.
- Use the Variable node at the start of a flow to set defaults before your logic runs.
- Use Transform after a Webhook or Integration to reshape the response into the variable names your conversation flow expects.
- Test flows independently using the flow test runner before connecting them to a live agent.

