A single execution of a workflow template, with its status, timing, inputs, outputs, and any human interventions.
A workflow run is a single execution of a workflow templateWorkflow TemplateWorkflows & AgentsA reusable workflow templateView reference →: one specific pass through the steps, with its own inputs, its own state, and its own log of what happened. The template says what should happen; the run is the record of what did. The tension worth holding is that a run is meant to be a faithful enactment of its template, yet it lives in the messy world where steps fail, networks drop, and the same run may have to be retried without doing its work twice.
The class-and-instance split that defines a run is old in computing and became explicit in workflow systems as they industrialised. When Apache Airflow formalised pipelines as directed acyclic graphs in 2014, it drew a hard line between the DAG (the definition) and the DAG run (a dated execution with its own taskTaskProduct SpecificationA unit of work within a story or epicView reference → states and logs). Business process engines built on BPMN 2.0 make the same distinction between a process model and a process instance.
Two concerns sharpened the run as a first-class object. The first is observability: teams needed to ask "did the Tuesday run finish, and where did it stall?", which only makes sense if the run carries its own state. The second is idempotency. Distributed systems retry failed steps, so a run has to be designed such that re-executing a step produces the same result rather than duplicating it. The run is where retry policy, partial failure, and replay are reasoned about.
A nightly import-linear-issues template kicks off at 02:00. Run #418 starts, pulls 1,240 issues, and fails at the transform step when one issue has a malformed date. The run's state shows three steps complete, one failed, the rest not started. The retry policy re-runs from the failed step rather than the top, so the 1,240 issues are not fetched twice. On the second attempt the bad record is skipped and logged, the run reaches "succeeded", and it stamps a finish time. Run #419 the next night is a separate object with its own state, even though it shares every line of the template.
In the Unified Product Graph, a workflow run sits in the automation region as the execution record. Its origin is captured by Workflow Templateexecuted asWorkflow Runhierarchy, tying every run back to the definition it enacts. Its outputs are linked through workflow_template_executed_as_workflow_runWorkflow RunproducesWorkflow Artifacthierarchy, so the result is never an orphan. When automated work advances a larger goal, workflow_run_produces_workflow_artifactWorkflow RunimplementsInitiativecross-domain connects the run to that initiativeInitiativeStrategyA large coordinated effort to achieve a strategic goalView reference →. Reactive triggers attach with workflow_run_implements_initiativeAgent Hookfires duringWorkflow Runcausal. Modelling runs as their own entities, distinct from templates, is what lets the graph answer historical questions about what executed and what it produced.agent_hook_fires_during_workflow_run
Type-specific fields on BaseNode
started_atstringISO timestamp when the run started
completed_atstringISO timestamp when the run completed
run_statusstringCurrent execution status of the run
triggering_eventstringEvent or action that triggered this run
step_countnumberNumber of steps executed in this run
total_tokensnumberTotal tokens consumed across all steps
total_costnumberTotal monetary cost of the run
error_messagestringError message if the run failed
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
6 phases — initial: pending
5 edge types connected to this entity.
workflow_template_executed_as_workflow_runworkflow_run_produces_workflow_artifactworkflow_run_implements_initiativeagent_hook_fires_during_workflow_runworkflow_run_passes_through_review_gate