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<void>
Cancels the workflow execution

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:

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

suspended:

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

On this page