Get startedCore concepts

Core concepts

Triggers, conditions, actions, and the execution model.

Workflows are graphs#

A workflow is a directed graph of { nodes, edges }. A trigger node starts it; edges carry execution from one node to the next; leaf nodes end the run. The graph is the single source of truth — the same shape you see in the editor is what the engine executes and what the API returns.

Nodes#

Every node is one of a few kinds:

  • Trigger — starts the workflow (schedule, webhook, app event, or manual). One per workflow.
  • Condition — branches or filters the run based on data.
  • Action — does something in a connected app (post a message, create an issue, send an email).
  • AI / agent — calls a model to summarize, classify, or autonomously drive tools.
  • HTTP — calls any REST/GraphQL API directly.

See Triggers, Conditions and Actions for each in depth.

How data flows#

Each node produces a JSON output. Downstream nodes reference upstream outputs with a template expression — for example {{trigger.issue.title}} or {{steps.summarize.text}}. Secrets are referenced the same way via {{secrets.NAME}} and injected only at run time.

Runs & the engine#

Each execution is a run with a status (running, success, failed, cancelled), the input that started it, the output it produced, and a per-node log. Runs execute on background workers, so a slow action never blocks the trigger. Failed steps follow the workflow’s retry policy.

Automations vs crews#

A workflow’s kind is automation (deterministic trigger → steps) or crew (an AI-driven agent workflow). Both share the same graph model, editor and run history. Autonomous, scheduled crews are covered in Agent loops.

Versions#

Editing a workflow’s graph auto-snapshots the previous version. Browse history and roll back at any time — see the Workflows API.