# Run.resume()
[EN] Source: https://mastra.ai/reference/workflows/run-methods/resume

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

## Usage example

```typescript showLineNumbers copy
const run = await workflow.createRunAsync();

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

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

## Parameters

<PropertiesTable
  content={[
    {
      name: "resumeData",
      type: "z.infer<TResumeSchema>",
      description: "Data for resuming the suspended step",
      isOptional: true,
    },
    {
      name: "step",
      type: "Step<string, any, any, TResumeSchema, any, TEngineType> | [...Step<string, any, any, any, any, TEngineType>[], Step<string, any, any, TResumeSchema, any, TEngineType>] | string | string[]",
      description:
        "The step(s) to resume execution from. Can be a Step instance, array of Steps, step ID string, or array of step ID strings",
      isOptional: true,
    },
    {
      name: "runtimeContext",
      type: "RuntimeContext",
      description: "Runtime context data to use when resuming",
      isOptional: true,
    },
    {
      name: "runCount",
      type: "number",
      description: "Optional run count for nested workflow execution",
      isOptional: true,
    },
    {
      name: "tracingContext",
      type: "TracingContext",
      isOptional: true,
      description:
        "AI tracing context for creating child spans and adding metadata. Automatically injected when using Mastra's tracing system.",
      properties: [
        {
          parameters: [
            {
              name: "currentSpan",
              type: "AISpan",
              isOptional: true,
              description:
                "Current AI span for creating child spans and adding metadata. Use this to create custom child spans or update span attributes during execution.",
            },
          ],
        },
      ],
    },
    {
      name: "tracingOptions",
      type: "TracingOptions",
      isOptional: true,
      description: "Options for AI tracing configuration.",
      properties: [
        {
          parameters: [
            {
              name: "metadata",
              type: "Record<string, any>",
              isOptional: true,
              description:
                "Metadata to add to the root trace span. Useful for adding custom attributes like user IDs, session IDs, or feature flags.",
            },
          ],
        },
      ],
    },
    {
      name: "outputOptions",
      type: "OutputOptions",
      isOptional: true,
      description: "Options for AI tracing configuration.",
      properties: [
        {
          parameters: [
            {
              name: "includeState",
              type: "boolean",
              isOptional: true,
              description:
                "Whether to include the workflow run state in the result.",
            },
          ],
        },
      ],
    },
  ]}
/>

## Returns

<PropertiesTable
  content={[
    {
      name: "result",
      type: "Promise<WorkflowResult<TState, TOutput, TSteps>>",
      description:
        "A promise that resolves to the workflow execution result containing step outputs and status",
    },
    {
      name: "traceId",
      type: "string",
      isOptional: true,
      description:
        "The trace ID associated with this execution when AI tracing is enabled. Use this to correlate logs and debug execution flow.",
    },
  ]}
/>

## Extended usage example

```typescript showLineNumbers copy
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.

## Related

- [Workflows overview](/docs/workflows/overview#running-workflows)
- [Workflow.createRunAsync()](../workflow-methods/create-run)
- [Suspend and resume](/docs/workflows/suspend-and-resume)
- [Human in the loop example](/examples/workflows_legacy/human-in-the-loop)


---
title: "Reference: Run.start() | Workflows"
description: Documentation for the `Run.start()` method in workflows, which starts a workflow run with input data.
---