Skip to main content
A workflow is a graph you author: nodes are steps, edges are the paths between them. Execution is durable — a workflow parked on an approval or a webhook is still parked after a deploy. Reach for a workflow when the sequence is known in advance. Reach for an agent when it has to be reasoned out.

Where they live

Workflows in the Portal. The New workflow button offers three actions: Empty graph, Generate with AI, and Build queue. Generating with AI takes one free-text description (“What should this workflow do?”) and takes on the order of minutes.

The designer

The left panel has six sections: Agents, Capabilities, Workflows, Control Flow, Wait States, and Settings. The first three list what is attached to this workflow, each with an ”+ Add” that opens the attachment drawer. Nodes can be dragged onto the canvas or added with click, Enter, or Space. The canvas starts with a single Start node. See Node types.

What blocks a save

  • No workflow name
  • An edge pointing at a node that does not exist
  • No steps
  • A step left unconfigured
  • No End node
An End node that nothing can reach is a warning, not an error.

Running one

  • Manually — the Run dialog builds a form from the Start node’s input schema, with a raw-JSON fallback.
  • From an agent — attach the workflow to an agent and it appears as a tool.
  • From a gateway — attach it to a gateway and it appears as a tool there. Workflows are the one system-tool surface live on the MCP surface.
  • From the Management APIPOST /v1/workflows/{workflow_id}/runs.
There is no per-workflow HTTP trigger endpoint. The only inbound webhook a workflow exposes is the resume callback for a run already parked on a Webhook node — see Webhooks.

Watching a run

The run list defaults to 50 rows and caps at 100. The run detail page shows each step’s state and carries a Pending approvals block with Approve and Deny buttons when the run is parked on an Approval node.

Templating

Node configuration can reference earlier values with ${expr}, evaluated as JSONata over input, source, and steps — plus item and index inside a loop.
A workflow definition has no secrets store. Headers and bodies you type into an HTTP node are stored in the workflow definition and readable by anyone with write access to it. Put credentials in a connector and call that instead.

Next