Common Properties
Every node in a flow document shares the same envelope:Each node type also declares a fixed set of input and output ports (e.g.
in / out). Connections wire an upstream node’s output port to a downstream node’s input port.Start
The entry point of a flow. It takes no configuration and no inputs — it simply emits the run’s parameters and a trigger timestamp so downstream nodes have a well-defined starting payload.Every flow must have exactly one
start node as its entry point.If
Branches the flow based on a condition evaluated against upstream data and flow parameters.if is a branching node, every outgoing connection from it must set from_port to true or false:
branch and value, so downstream nodes on either branch still see the original payload.
For Each
Iterates over a list, re-running a nested body sub-flow once per item.The
body document is validated the exact same way a top-level flow is, including supporting another for_each nested inside it (up to a max depth of 5). It must contain exactly one response node — that node’s output is what gets collected into save_as for each iteration.LLM Call
Calls a Large Language Model through a configured Model Account, or the organization’s Orion AI default account when omitted.prompt/system_prompt use Python’s str.format() templating (not Jinja) — see Templating & Expressions for the exact rules and error behavior when a referenced field is missing.REST Call
Calls an external HTTP/REST endpoint.status_code:
Action Call
Calls a project Action — a user-defined Python function — with parameters.Actions are audited the same way as when an agent calls them — every
action_call node execution appears in the Action’s call history.Python
Runs custom Python against upstream data and flow parameters, in an isolated subprocess.Response
A terminal node that returns the upstream result, unchanged, to the flow’s caller.A flow may contain at most one top-level
response node. Inside a for_each body, exactly one response node is required — it defines that iteration’s result.Output
A sink node — writes the upstream result to a dataset, webhook, or file.Next Steps
- Overview - flow structure and core concepts
- Templating & Expressions - exactly how each node type consumes
inputs/parameters - YAML Reference - the complete flow document schema