Every node takes input on the left and produces output on the right. Branching nodes — Condition, Router, Guardrail, Approval Gate — stack multiple output handles vertically on the right edge.
General
Start
Flow entry point. Receives user input as the
input State key and passes it to the next node.Output
Flow exit point. Returns the result of the previous node to the user. Choose Passthrough / Response / Error as the Action Type.
Agents
Agent
Runs a registered agent with all of its connected resources. KBSphere (enhanced RAG) and DBSphere (database) agents are supported.
Model
A lightweight direct LLM call without an agent. Good for summarization, translation, and classification.
Supervisor
Coordinates multiple worker agents. A supervisor model delegates round by round, reviews results, and composes the final answer.
Logic & Data
Condition
True / False branch. Supports 11 condition types.
Router
N-way routing. Picks one of several routes, rule-based or LLM-based.
Merge
Combines outputs from parallel paths. Three modes: concat / json / template.
Transform
Builds new text from State values using a Jinja2 template.
Iteration
Splits the input into items and processes them in parallel — template rendering or a per-item LLM call.
Subflow
Runs another flow as a sub-step and uses its final output as this node’s output.
Control & Safety
Approval Gate
Pauses for human approval. A human-in-the-loop gate that branches on approve / reject.
Guardrail
A safety filter that applies a guardrail and branches on pass / block.
Node Settings
Every node’s settings panel starts with a Label. It is both the name shown on the canvas and the name other nodes use to reference this node’s output ({Label.key}). Renaming a node changes the references that point at it, so check any existing references after a rename.
Start node
Start node
Flow entry point. The user message arrives as the
input State key.The settings panel shows an Available State Keys list. It automatically collects the State keys produced by the other nodes in this flow and is read-only — each entry shows the key name, its source node, and its type.The Start node has no field for defining variables. Values consumed downstream are passed as State keys produced by each node (
{Label.key}).Start is the only node without an “Error handling & retry” section.
Output node
Output node
Flow exit point. Returns the result of the previous node to the user.
Behavior by action type:
Response additionally takes a Final Response Prompt and a Model for Response. The prompt can reference
{'{{ input }}'} and State keys; clicking an Available State Keys chip inserts the reference at the cursor.Error takes an Error Message Template, where {'{{ input }}'} and {'{{ error }}'} are available.The UI label is “Output”. The internal type name is
flowOutput.Agent node
Agent node
Runs a registered agent. KBSphere / DBSphere agents are supported.
- KBSphere agents also return the sources of retrieved documents
- DBSphere agents include SQL execution results
Model node
Model node
Calls an LLM directly without an agent.
With Structured Output (JSON) checked, output fields are defined by name · type · description, with types
string, number, boolean, and array. Left unchecked, the response is plain text.Supervisor node
Supervisor node
One supervisor model delegates work to several worker agents and composes the result.
For each worker row pick an Agent and optionally add a description. Leaving the description empty falls back to the agent’s own description — since this text is what the supervisor uses to decide who to delegate to, fill it in whenever the agent name alone doesn’t convey the role.Behavior: the supervisor model delegates to workers round by round, reviews the results, and composes the final answer.
Condition node
Condition node
Branches the flow on a condition. It has two output handles on the right: true and false.
Supported condition types (11):
Router node
Router node
Multi-path routing. Each route you define gets its own output handle on the right.
Route conditions in rule-based routing support the same 11 types as the Condition node.
Merge node
Merge node
Combines several parallel outputs into one.
Behavior by mode:
Transform node
Transform node
Builds new text from State values using a Jinja2 template.
Available in the template:
{'{{ input }}'}— the current input{'{{ Label_key }}'}— a State key. Dots and spaces become underscores (Summary node.response→{'{{ Summary_node_response }}'})
The Extract Field / Format Text mode selector, the Output Key field, and the “Use Jinja2 Template” toggle under Advanced Settings described in earlier guides no longer exist. The Transform node is now a single Jinja2 template.
Iteration node
Iteration node
Splits the input into items and processes each item in parallel.
The input is parsed as a JSON array or one item per line.Template mode — in Item Template, use
{'{{ item }}'} (current item), {'{{ index }}'} (item index), and {'{{ input }}'} (original input).LLM mode — set a Model (required) and a User Prompt that references {item}, {index}, and {input}. Max Tokens is also available.Subflow node
Subflow node
Runs another flow as a sub-step and uses its final output as this node’s output.
The picker lists every flow except the current one; when there are none it shows “No other flows available”.
Approval Gate node
Approval Gate node
Pauses the flow until a person approves. It has two output handles on the right: Approve (upper) and Reject (lower).
Behavior: the flow stops at this node and raises an approval request. Approve continues down the approve branch; Reject either stops the flow or takes the reject branch depending on the setting. A note can be added with either decision.During a test run an Approval required card appears in the test drawer, and pressing Approve / Reject there resumes execution from that point.
Guardrail node
Guardrail node
Applies a guardrail to validate the input. It has two output handles on the right: Pass (upper) and Block (lower).
When execution takes the block branch, State includes
guardrail_type (block category) and guardrail_reason (reason).Shared setting — Error handling & retry
Every node except Start has a collapsible Error handling & retry section at the bottom of its settings panel.The Error Handler node described in earlier guides does not exist. Fallback behavior on error is configured per node in this shared section.
Nodes not in the palette
The following types are recognized by the runner and the validator but cannot be added from the node palette.The Aggregator, Human Input, Error Handler, and Notification nodes that earlier guides listed as “coming in a future release” do not exist in the product. Subflow, listed alongside them, is already available in the palette.
Data flow between nodes (State)
Flows pass data between nodes through a shared State object.
The reference syntax depends on where you write it.
