How a flow runs
- A trigger fires and the run starts. The trigger’s data is the run’s input.
- The engine follows the arrows from the trigger. Each block runs, produces an output, and chooses which exit to take.
- The run ends when there is nothing left to follow, a Respond or Fail block runs, a Stop block runs, or it exceeds the flow’s time limit.
Exits
A block can have more than one exit. A block that checks something has exits named for the answer:true and false, allowed and denied, hit and miss, missing, anonymous, invalid, failed. Most blocks have a single next exit.
On the canvas, drag from the exit you want to the next block. If a block takes an exit that has nothing connected to it, that path simply ends.
Passing values between blocks
Settings accept templates:{{ … }} placeholders filled in as the block runs.
What you can read
Reach inside with dots:
{{ steps.load.output.email }}, {{ input.body.issue.title }}, and into lists by position: {{ input.items.0.name }}.
Whole value or text
- A setting that is exactly one template gives you the value itself, not its text.
"{{ input.items }}"passes the list along unchanged, and"{{ input.total }}"stays a number. - A template inside other text is turned into text:
"Order {{ input.id }} is ready". Objects and lists inside text become JSON. A missing value becomes empty.
Filters
Add filters after a|. Some take an argument after a colon, and filters can be chained.
An unknown filter name makes the block fail with a clear message. Templates are a lookup, not a programming language: for calculations use the Calculate block, and for logic use If and Switch.
Secrets
Never put a key in a flow. Writesecret://STRIPE_API_KEY where the value goes, or read one with the Read secret block. See Secrets.
When a block fails
A failing block ends the run as failed unless you handled it. Blocks that can fail expectedly, such as an HTTP call, have afailed exit you can connect. Wrap anything flaky in a Retry block, and use Fail to stop with your own status and message when something is wrong. The run’s trace in Flow runs shows every block, its input and its output.
Testing
Use Run now in the flow editor with a sample input, then read the trace. See the flow editor.Next
Flows
How to build and trigger flows.
Patterns
Complete flows for common jobs.