Skip to main content

Flow YAML Reference

This page documents every attribute available in a Flow document — the envelope the Flow Builder posts, whether you edit on the canvas or in the YAML view.

Top-Level Structure

A minimal flow needs a flow.name, at least a start node, and at least one response or output node:

flow


nodes

The list of steps that make up the flow. Every node’s config is validated against its type’s schema on deploy/run — an unknown type or an invalid config fails validation with a structured, per-node issue.

runtime

An optional block — settable at the flow level (as a default) or per-node (as an override) — controlling how a node’s compiled code executes:

connections

Directed edges between nodes. Each entry wires one node’s output port to another node’s input port.

Branching connections

Outgoing connections from a branching node (currently only if) must explicitly set from_port to one of that node’s declared output ports (true/false) — an omitted or invalid from_port fails validation:

Required inputs

Some node types declare required_inputs — input ports that must have an incoming connection for the flow to be valid. response and output both require their in port to be connected.

Node types at a glance

Full attribute tables for every type live in the Node Reference. Quick summary:

for_each.config.body

The one node type whose config embeds a full nested document, following the exact same top-level structure as a flow:
  • The body may itself contain a nested for_each (up to a maximum depth of 5).
  • The body must contain exactly one response node — its output becomes that iteration’s result.

Full example

The “London Weather Demo” starter template — fetches current weather, transforms it, and returns a structured summary:

Next steps