Flow control nodes handle branching, validation, gating, and parallel execution. Five types are available.Documentation Index
Fetch the complete documentation index at: https://docs.xpander.ai/llms.txt
Use this file to discover all available pages before exploring further.
Branch on data values with Conditions
The Condition node splits your workflow into two paths based on a test you define: an IF branch for inputs that match, and an ELSE branch for everything that doesn’t.Configure a Condition node
The Condition node opens as a floating dialog instead of a side panel.
{{variable}} placeholders to reference data from previous workflow steps. Click Next once defined.
Step 2 asks you to select the target node type for the IF branch, the node that runs when the condition matches. The ELSE branch connects to whatever comes next in the default flow.
Once placed on the canvas, clicking the IF branch opens an Edit Condition panel where you can change the condition type and term without rebuilding the node.
The nine condition operators
| Category | Operator | What it checks |
|---|---|---|
| Text matching | Contains | Input includes the term as a substring |
| Regex | Input matches a regular expression pattern | |
| Comparison | Equal (==) | Input exactly matches the term |
Not Equal (!=) | Input does not match the term | |
Greater Than (>) | Input is numerically greater than the term | |
Less Than (<) | Input is numerically less than the term | |
Greater or Equal (>=) | Input is greater than or equal to the term | |
Less or Equal (<=) | Input is less than or equal to the term | |
| Existence | Not Empty | Input has any value (term is not required) |
Validate output with Guardrails
The Guardrail node uses an AI judge to evaluate upstream output against criteria you define, then routes it down a Pass or Fail branch. Unlike the Condition node, which tests against fixed values, the Guardrail evaluates quality and correctness using natural language criteria.Configure a Guardrail node
The Guardrail opens as a side panel with two fixed groups: Pass (green checkmark) and Fail (red circle). You cannot add or remove groups. Every Guardrail is a binary pass/fail gate. For each group, write Evaluation Criteria in natural language:
Pause for human approval with Wait
The Wait node pauses the workflow and sends a notification to a person (or group) to approve or deny before execution continues. The recipient gets an email with context and two buttons: Approve (resumes the workflow) and Deny (stops it).
{title} and {content} placeholders for workflow context, or {{variable}} for data from previous steps), and optionally relabel the approve/deny buttons.
A Webhook notification option is also available for routing approvals to your own system (an internal dashboard, a ticketing tool, or a custom approval system) instead of email.
Stop the workflow early with Send to End

Run steps concurrently with Parallel
The Parallel node runs its child nodes concurrently and combines their results before passing them to the next step. Click + Add node to add branches. All branches receive the same input and execute simultaneously.
Choosing the right flow control node
| Node | What it does | Decision made by | Branches |
|---|---|---|---|
| Condition | Splits flow based on a data test | Deterministic operator (contains, equals, greater than, etc.) | IF / ELSE |
| Guardrail | Validates output quality | AI judge evaluating natural language criteria | Pass / Fail |
| Wait | Pauses for human review | A person clicking Approve or Deny | Continues or stops |
| Send to End | Terminates the workflow early | Placement in the flow (always fires) | None (workflow ends) |
| Parallel | Runs steps concurrently | Placement in the flow (always fires) | N concurrent branches |
What’s next
Agentic Context
Persist state across workflow runs for delta detection and cross-run intelligence.
Versioning & Rollback
Save immutable snapshots of your workflow and roll back to previous versions.

