Pathway Edges
Pathway Edges
Edges define the transitions between nodes in a pathway. Each edge connects a source node to a target node and controls when and how the conversation moves forward.
You can use them to:
Move the conversation forward after a user responds
Route users to different nodes based on extracted variable values
Transfer to a human agent when specific conditions are met

Edge Properties
Each edge has the following properties:
Label
Short text shown on the edge describing when this transition occurs
Description
Optional longer text used as a tooltip or helper note
Conditions
Optional rules that determine when the edge is automatically triggered
Always take this edge
When enabled, this edge is always taken regardless of user input
Edge Label
The label is the primary way the AI decides which edge to take during a conversation. It should clearly describe the user action or intent that triggers the transition.
Examples of good labels:
User confirms appointmentUser wants to end the callUser asks a general question
Edge Description
The description is an optional field that provides additional context about when this edge should be taken. While the label is a short phrase used by the AI for edge selection, the description can be used to clarify the intent further or add notes for other team members reading the pathway.
Use it when the label alone is not enough to capture the full routing intent, or when you want to document the reasoning behind a particular transition.
Always take this edge
If an edge should always be taken after a node completes — regardless of what the user said — enable the Always toggle on that edge. Always edges bypass LLM edge selection entirely, which makes them significantly faster than label-based edges. Use them whenever there is only one possible next step.

Edge Conditions
Edge conditions allow you to trigger an edge automatically based on the value of an extracted or context variable, without relying on the AI to select it.
When to use conditions: Use edge conditions when routing depends on a specific extracted or context variable value, such as a loan amount, age, or status. For regular conversational transitions, a label is sufficient. Once a variable is extracted, conditions are evaluated deterministically without involving the AI, making them faster than label-based edge selection.
Condition Operators
Each condition has a left value (usually an extracted variable name), an operator, and a right value to compare against.
Supported operators:
==— equal to!=— not equal to>— greater than<— less than>=— greater than or equal to<=— less than or equal toin— value exists within a listnot in— value does not exist within a listcontains— value contains a substringnot contains— value does not contain a substringempty— value is empty or not setnot empty— value is present and not empty
Condition Groups
Conditions can be grouped using logical operators:
AND — all conditions in the group must be true
OR — at least one condition in the group must be true
XOR — true when an odd number of conditions in the group are true
NOT — inverts a condition
Groups can be nested to build complex routing logic.
Example
The following example routes a user to a senior agent when the requested loan amount exceeds 50,000:

How Edges Are Selected at Runtime
At runtime, the system evaluates outgoing edges from the current node in the following order:
Always edges are evaluated first — if an edge has the Always toggle enabled, it is taken immediately regardless of user input or any other edges.
Conditional edges are evaluated next — if the condition resolves to true, the edge is taken automatically without involving the AI. If the condition resolves to false, the edge is never taken.
Label-based edges are passed to the AI last, which selects the most appropriate one based on the label and the conversation context.
Global Nodes
Nodes marked as global are implicitly reachable from any node in the pathway. You do not need to draw edges to them manually — the system makes them available at every step automatically.
Best Practices
Use clear, specific labels that describe the user's intent.
Use edge conditions when routing depends on an extracted or context variable value — do not rely on the label alone for numeric or boolean routing.
Avoid creating more conditions than necessary — simple label-based routing is sufficient for most conversational transitions.
Advanced
Edge conditions support the full expressiveness of Boolean Satisfiability (SAT) formulas. meaning any logical expression can be represented using AND, OR, XOR, and NOT groups.
This allows you to model complex routing logic such as:
(age > 18 OR status == "student") AND country == "US"NOT (loan_amount > 50000 AND credit_score < 600)

For most use cases, a single condition or a simple AND group is sufficient. The SAT support is there when your routing logic genuinely requires it.
Last updated