Skip to main content

Run class

The Run class represents a workflow execution instance, providing methods to start, resume, stream, and monitor workflow execution.

Usage example
Direct link to Usage example

const run = await workflow.createRun()

const result = await run.start({
inputData: { value: 'initial data' },
})

if (result.status === 'suspended') {
const resumedResult = await run.resume({
resumeData: { value: 'resume data' },
})
}

Run methods
Direct link to Run methods

start:

(options?: StartOptions) => Promise<WorkflowResult>
Starts workflow execution with input data

resume:

(options?: ResumeOptions) => Promise<WorkflowResult>
Resumes a suspended workflow from a specific step

stream:

(options?: StreamOptions) => MastraWorkflowStream
Monitors workflow execution as a stream of events with enhanced streaming features

resumeStream:

(options?: ResumeStreamOptions) => MastraWorkflowStream
Resumes a suspended workflow with streaming support

cancel:

() => Promise<{ message: string }>
Cancels the workflow execution, stopping any running steps and preventing subsequent steps from executing

restart:

(options?: RestartOptions) => Promise<WorkflowResult>
Restarts the workflow execution from last active step

timeTravel:

(options?: TimeTravelOptions) => Promise<WorkflowResult>
Re-executes a workflow starting from any specific step, using either stored snapshot data or custom context you provide.

timeTravelStream:

(options?: TimeTravelOptions) => MastraWorkflowStream
Time travels a workflow execution with streaming support

Run status
Direct link to Run status

A workflow run's status indicates its current execution state. The possible values are:

pending:

string
The run was created but hasn't started executing yet

running:

string
Workflow execution is in progress

waiting:

string
Workflow execution was interrupted before finishing, for example when the executor was aborted

success:

string
All steps finished executing successfully, with a valid result output

failed:

string
Workflow execution encountered an error during execution, with error details available

tripwire:

string
A processor tripwire stopped workflow execution, with tripwire details available

suspended:

string
Workflow execution is paused waiting for resume, with suspended step information

paused:

string
Workflow execution stopped after a single step because the run uses per-step execution

canceled:

string
Workflow execution was canceled via the cancel() method, stopping any running steps and preventing subsequent steps from executing

bailed:

string
A step called bail() to end the workflow early. The run itself completes with a success status and the bail payload as its result

skipped:

string
Execution was skipped, for example a branch whose condition didn't match. Mainly reported for individual steps
On this page