Skip to main content

Run.resume()

The .resume() method resumes a suspended workflow run with new data, allowing you to continue execution from a specific step.

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 resumedResults = await run.resume({
resumeData: { value: "resume data" },
});
}

Parameters
Direct link to Parameters

resumeData?:

z.infer<TResumeSchema>
Data for resuming the suspended step

step?:

Step<string, any, any, TResumeSchema, any, TEngineType> | [...Step<string, any, any, any, any, TEngineType>[], Step<string, any, any, TResumeSchema, any, TEngineType>] | string | string[]
The step(s) to resume execution from. Can be a Step instance, array of Steps, step ID string, or array of step ID strings

requestContext?:

RequestContext
Request Context data to use when resuming

runCount?:

number
Optional run count for nested workflow execution

tracingContext?:

TracingContext
Tracing context for creating child spans and adding metadata. Automatically injected when using Mastra's tracing system.

currentSpan?:

Span
Current span for creating child spans and adding metadata. Use this to create custom child spans or update span attributes during execution.

tracingOptions?:

TracingOptions
Options for Tracing configuration.

metadata?:

Record<string, any>
Metadata to add to the root trace span. Useful for adding custom attributes like user IDs, session IDs, or feature flags.

requestContextKeys?:

string[]
Additional RequestContext keys to extract as metadata for this trace. Supports dot notation for nested values (e.g., 'user.id').

traceId?:

string
Trace ID to use for this execution (1-32 hexadecimal characters). If provided, this trace will be part of the specified trace.

parentSpanId?:

string
Parent span ID to use for this execution (1-16 hexadecimal characters). If provided, the root span will be created as a child of this span.

tags?:

string[]
Tags to apply to this trace. String labels for categorizing and filtering traces.

outputOptions?:

OutputOptions
Options for output configuration.

includeState?:

boolean
Whether to include the workflow run state in the result.

Returns
Direct link to Returns

result:

Promise<WorkflowResult<TState, TOutput, TSteps>>
A promise that resolves to the workflow execution result containing step outputs and status

traceId?:

string
The trace ID associated with this execution when Tracing is enabled. Use this to correlate logs and debug execution flow.

Extended usage example
Direct link to Extended usage example

if (result.status === "suspended") {
const resumedResults = await run.resume({
step: result.suspended[0],
resumeData: { value: "resume data" },
});
}

Note: When exactly one step is suspended, you can omit the step parameter and the workflow will automatically resume that step. For workflows with multiple suspended steps, you must explicitly specify which step to resume.

On this page