Logic
Logic components control branching, looping, conditional evaluation, code execution, and output validation.
If-Else
Branches the flow based on a boolean condition evaluated against an input value.
Use in a flow
Add an If-Else node to the canvas.
Enter Text Input and Match Text.
Choose an Operator to compare them.
Connect Message (the payload to pass through the matching branch).
Wire True or False outputs to different downstream paths.
Input ──► If-Else ──► True branch ──► Agent A
└──► False branch ──► Agent B
Only the matching branch receives the message; the other branch is stopped.
Parameters
Parameter |
Default |
Hidden |
Description |
|---|---|---|---|
Text Input |
— |
No |
The value to evaluate. Required. |
Match Text |
— |
No |
The text to compare against. Required. |
Operator |
equals |
No |
Comparison: |
Case Sensitive |
false |
No |
Case-sensitive comparison (not used for |
Message |
— |
No |
Message passed through the active branch. |
Max Iterations |
10 |
Yes |
Maximum loop iterations before forcing a route. |
Default Route |
false_result |
Yes |
Route taken when max iterations is reached. |
Outputs
Output |
Description |
|---|---|
True |
Fires when the condition is met. Passes Message downstream. |
False |
Fires when the condition is not met. Passes Message downstream. |
Limitations
Text comparison — Compares string values; both Text Input and Match Text are required.
Regex — Invalid regex patterns evaluate to false.
Single branch — Only one output runs per execution; the other is stopped.
Condition (Legacy)
Evaluates a conditional expression and routes to one of multiple output paths based on the result.
Use in a flow
Add a Condition node to the canvas (legacy component).
Connect Data Input from an upstream component.
Enter Key Name — the field in the Data object to evaluate.
Choose an Operator and Match Text (if applicable).
Wire True Output or False Output downstream.
Data source ──► Condition ──► True Output ──► processing
└──► False Output ──► alternate path
Parameters
Parameter |
Default |
Description |
|---|---|---|
Data Input |
— |
One or more Data objects to evaluate. |
Key Name |
— |
Key in the Data object to check. |
Operator |
equals |
|
Match Text |
— |
Value to compare against. Hidden when Operator is |
When Operator is boolean validator, the key value is treated as a boolean (true, 1, yes, y, on are truthy). Match Text is not used.
Outputs
Output |
Description |
|---|---|
True Output |
Fires when the condition is met. Returns matching Data object(s). |
False Output |
Fires when the condition is not met. Returns non-matching Data object(s). |
Limitations
Legacy — Prefer If-Else for new flows unless you need Data-key routing.
Data input — Input must be Data objects with the specified key.
Missing key — Returns an error if Key Name is not found in the Data object.
Code Execution
Executes a Python snippet and returns the result. Use it for custom logic that cannot be expressed with other components.
Use in a flow
Add a Code Execution node to the canvas.
Select Language (
pythonornode.js).Write Source Code.
Optionally add Dependencies (Python packages).
Connect Result downstream.
Input ──► Code Execution ──► Data Operations / Agent
Code runs in an isolated execution service. The stdout, stderr, exit code, and execution time are returned.
Parameters
Parameter |
Default |
Hidden |
Description |
|---|---|---|---|
Language |
python |
No |
|
Source Code |
— |
No |
Code to execute. Accepts Message input. Required. |
Dependencies |
— |
Yes |
Comma-separated pip packages to install before execution (e.g., |
Outputs
Output |
Description |
|---|---|
Result |
Data object with |
Limitations
Isolated runtime — Code runs via the Code Execution Service, not in-process.
Python dependencies — Only pip packages listed in Dependencies are installed.
Errors — Execution failures return an error field in the result instead of raising in the flow.
Guardrail
Applies a configured guardrail policy to data passing through this point. Content that violates the policy is routed to the fail path.
Use in a flow
Add a Guardrail node in the path you want to validate.
Select one or more Selected Guardrails (format:
guardrail_name#INHOUSEorguardrail_name#BEDROCK).Connect Input Message from upstream.
Wire Pass and Fail outputs to different downstream paths.
Input ──► Guardrail ──► Pass ──► Agent
└──► Fail ──► blocked response / Output
Parameters
Parameter |
Default |
Hidden |
Description |
|---|---|---|---|
Selected Guardrails |
— |
No |
One or more guardrails to execute. Required. |
Input Message |
— |
No |
Message to validate. Required. |
Apply To |
INPUT |
No |
Validate |
Model Provider |
— |
No |
Required for INHOUSE guardrails. |
Model ID |
— |
No |
Model for INHOUSE guardrail execution. |
Region Name |
— |
No |
Region for the selected model. |
Context |
— |
No |
Additional context for guardrail evaluation. |
Generated Output |
— |
No |
Generated output to validate (for OUTPUT validation). |
Enable Retry |
false |
Yes |
Retry failed guardrail API requests. |
Max Retries |
3 |
Yes |
Maximum retry attempts. |
Save Output as Variable |
false |
Yes |
Store output as a flow variable. |
Variable Name |
— |
No |
Name for the flow state variable. |
Outputs
Output |
Description |
|---|---|
Pass |
Fires when all guardrails pass. Returns the validated message. |
Fail |
Fires when content is blocked. Returns the blocked message. |
Limitations
Guardrails required — At least one guardrail must be selected.
Dual routing — Only one branch runs per execution.
Large content — Long text and PDFs are chunked before evaluation.
Images — PNG and JPEG attachments are supported in evaluation.
Loop
Iterates over a list of items and executes a downstream path for each item.
Use in a flow
Add a Loop node to the canvas.
Connect a list of Data objects (or a single Data object).
Wire Item output into the processing branch.
Connect the loop-back edge from the end of the branch back to Loop.
Wire Done output for aggregated results after all items are processed.
Data source ──► Loop (Item) ──► processing ──► (loop back)
└── (Done) ──► Output
Parameters
Parameter |
Description |
|---|---|
Data |
Initial list of Data objects to iterate over, or a single Data object. Required. |
Outputs
Output |
Description |
|---|---|
Item |
One Data object per iteration. Connect downstream processing here. Supports loop edges. |
Done |
Fires when all items are processed. Returns aggregated results from loop inputs. |
Limitations
Data only — Input must be Data objects or a list of Data objects.
Loop wiring — The processing branch must connect back to the Loop node for iteration.
Aggregation — Done collects outputs wired back via the loop input.
Run Flow (Beta)
Executes another flow by ID and returns its output.
Use in a flow
Add a Run Flow (Beta) node to the canvas.
Select Flow Name from the dropdown (loads available flows).
Fill in any dynamic input fields exposed by the selected flow.
Connect Flow Message Output downstream.
Input ──► Run Flow ──► Output / Agent
Agent ──► Run Flow (as tool)
When a flow is selected, the component exposes that flow’s input fields as tweakable parameters. In tool mode, the selected flow becomes a callable tool.
Parameters
Parameter |
Hidden |
Description |
|---|---|---|
Flow Name |
No |
The flow to execute. Selecting a flow adds its input fields dynamically. |
Session ID |
Yes |
Session ID for the sub-flow run. |
Dynamic flow inputs |
No |
Input fields from the selected flow (named |
Outputs
Output |
Description |
|---|---|
Flow Message Output |
Primary message output from the executed flow. |
Flow Data Output |
Data output from the executed flow (hidden by default). |
Flow Dataframe Output |
DataFrame output from the executed flow (hidden by default). |
Limitations
Beta — Behavior may change.
Flow selection required — A flow must be selected before execution.
Tool mode — Select a flow to enable using this component as a tool in an Agent.
Confidence Score Component
Evaluates a confidence score and branches on whether it exceeds a configured threshold.
Use in a flow
Add a Confidence Score Component node after an Agent or LLM step.
Select Strategy (currently Contextual Grounding).
Choose a Confidence Scoring Rule (Bedrock guardrail with contextual grounding enabled).
Wire Context, Generated Output, and Input Message.
Connect Above Threshold and Below Threshold to different paths.
Agent ──► Confidence Score Component ──► Above Threshold ──► Output
└──► Below Threshold ──► fallback
Parameters
Parameter |
Default |
Hidden |
Description |
|---|---|---|---|
Strategy |
— |
No |
Scoring strategy. Currently Contextual Grounding. Required. |
Confidence Scoring Rule |
— |
No |
Bedrock guardrail rule to execute. Required. |
Confidence Threshold |
— |
No |
Override threshold (0.0–1.0). Leave empty to use the guardrail default. |
Blocked Message |
— |
No |
Message returned when score is below threshold. |
Context |
— |
No |
Grounding source context for scoring. Required. |
Generated Output |
— |
No |
Agent or LLM output to evaluate. Required. |
Input Message |
— |
No |
Original user message (preserves message properties). Required. |
Output Field |
confidence score |
No |
|
Model Provider |
— |
Yes |
Required when a Bedrock scoring rule is selected. |
Model ID |
— |
Yes |
Model for Bedrock guardrail execution. |
Region Name |
— |
Yes |
Region for the selected model. |
Outputs
Output |
Description |
|---|---|
Above Threshold |
Fires when the confidence score meets or exceeds the threshold. |
Below Threshold |
Fires when the score is below the threshold. Returns blocked message or score based on Output Field. |
Limitations
Bedrock guardrail required — Scoring rule must be a Bedrock guardrail with contextual grounding policy enabled.
Context and output required — Both Context and Generated Output are needed for grounding evaluation.
Score calculation — When both GROUNDING and RELEVANCE filters are present, the minimum score is used.