Skip to content

DocsAgents & automations

Build a workflow

Updated Sep 15, 2026

Workflows is a small visual builder: drag nodes onto a canvas, connect them, and the result runs on its own - on a schedule, when an incoming webhook arrives, when an OS event fires, or whenever you click Run. It sits next to Automations and Agents as a third way to get something done without you: Automations is best for a short list of simple rules, Agents for a single autonomous run, and Workflows for the case in between - a multi-step process with real branching and, if you want it, a human checkpoint in the middle.

The node kinds

  • Trigger - what starts a run: on a schedule (every so many minutes), from an incoming webhook, from an OS event, or only when you click Run yourself. A workflow can have more than one trigger; each run remembers which one started it.
  • Run agent - hands a task to one of your configured agents and waits for it to finish, the same as clicking Run in Agents.
  • Call tool - runs a single named action directly, without a full agent turn - useful for a simple, deterministic step like writing a file or publishing a site.
  • Condition - compares two values and sends the run down a "true" or "false" branch.
  • Approval - pauses the run and asks a real person to approve or reject before continuing, with a timeout and a fallback decision if nobody answers in time.
  • Delay - waits a fixed amount of time before continuing.
  • Notify - sends yourself a push notification with whatever text you like.

Connecting the data

Every node's result is available to anything that runs after it, written as {{node.<id>.output}} (or .status for whether it succeeded). A trigger's own incoming data is available the same way, as {{trigger.<field>}}. This is how a later step reads an earlier one's answer - for example, an agent step's task can read Summarize this: {{node.fetch-page.output}} to work with whatever a previous tool step produced.

Trying it before it's real

The Dry run button simulates every node in the graph instantly, with a clearly-labelled placeholder result for each one, and touches nothing real - no agent actually runs, no notification is sent, no approval is filed. It's the fastest way to check that the shape of a workflow is right before you save and turn it on.

Approvals

An approval node pauses its run and notifies you (or, on a team plan, your team's admins) with a one-line summary of what's waiting. Approve or reject it from the Workflows app's Approvals tab, or from the notification itself. If nobody responds before the timeout you set, the workflow automatically takes the fallback decision you chose when you built the node - approve or reject - so a workflow with an unanswered approval never hangs forever.

Triggering a workflow from outside

A webhook trigger gives you a URL another system can call to start a run. Open the workflow's trigger node to see the URL and its signing secret. Every request must be signed with that secret so nobody else can start your workflow by guessing the address; the exact signing scheme is shown right there, with a copy-paste example. If you ever suspect the secret has leaked, rotate it from the same panel - the old one stops working immediately.

Importing an existing Automations rule

If you already have a rule set up in Automations, open the workflow builder's Import from Automations button to convert it into a starting workflow in one click. The conversion is honest about its limits: anything that only makes sense inside an open browser tab (like "when this app opens") has no equivalent once a workflow runs on the server, and is called out rather than silently dropped, so you always know exactly what changed.

Plan availability

Workflows is available on Plus and above, the same tier where background automation more generally becomes available.