The workflow builder is a visual node canvas. You add nodes from a library, wire them together, configure each one in an inspector, and publish when it's ready. This page walks through the full build loop.
Open any workflow from the Workflows tab to launch the builder. It has three areas working together:
{{ }}A workflow always starts with exactly one trigger. On an empty canvas the library only offers triggers; once a trigger is in place, every other node type becomes available. See Triggers for the six options. Triggers
The node library groups every available node by purpose so you can find the right one quickly. Adding a node places it on the canvas with sensible defaults; you then connect it and open the inspector to configure it. For the complete catalogue of what each node does, see the node reference.
Nodes are wired by connections — arrows that define the order of execution and pass each node's output to the next node's input. Drag from a node's output port to another node's input port to create a connection. A node only runs once the nodes feeding into it have completed.
Some nodes have more than one outgoing path. A Condition node, for example, has separate "true" and "false" outputs, and many nodes expose an error branch you can wire to handle failures gracefully instead of stopping the whole run.
In any text field of the inspector, type {{ to insert a reference to an upstream node's output — for example {{ trigger.output.email }} or {{ agent1.output.summary }}. The picker lists the fields each upstream node declares, so you can wire data through the flow without a test run.
You never have to remember to save. As you edit, the builder autosaves your changes as a draft after a short debounce, and a Saving / Saved indicator shows the current state. The draft is separate from the live, published version — editing never affects what's running in production until you publish.
A workflow has two states: the draft you're editing and the published version that actually runs.
| Action | What it does |
|---|---|
| Save Draft | Persists your work in progress. Drafts never fire triggers and never affect the live version — edit freely without consequences. |
| Publish | Promotes the current draft to the active version. Its triggers (webhook URL, schedule, form) go live, and new runs use this version. |
Before you publish, the builder validates the graph and surfaces any problems — a node missing required configuration, a dangling connection, a trigger in the wrong place, or a reference to a field that doesn't exist. Issues are flagged on the offending node and in a summary.
Validation issues come at different severities. Informational notes are advisory, but warning-severity issues are treated as blocking — they must be resolved before the workflow can be saved or published. Fix the highlighted nodes and the block clears. The canvas and the server share the same validator, so what passes in the builder passes at runtime.
Every workflow keeps a full version history, so you can publish with confidence knowing you can always go back.
Your changes autosave as a draft while you work. Drafts never affect the live version, so you can experiment safely.
Publishing records a new version and makes it the active one. Its triggers become live immediately.
Every publish is captured. Browse previous versions to see what the workflow looked like at each point in time.
Restore any earlier version from the history. Rollbacks take effect immediately — no need to re-wire anything by hand.
With the canvas basics covered, the next step is picking a trigger — the event that kicks off your workflow. Continue to Triggers.