Skip to main content

Run.start()

The .start() method starts a workflow run with input data, allowing you to execute the workflow from the beginning.

Usage example
Direct link to Usage example

const run = await workflow.createRun()

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

Parameters
Direct link to Parameters

inputData?:

z.infer<TInput>
Input data that matches the workflow's input schema

requestContext?:

RequestContext
Request Context data to use during workflow execution

outputWriter?:

(chunk: TOutput) => Promise<void>
Optional asynchronous function to handle output chunks as they are produced

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.

spanId?:

string
The root span ID associated with this execution when Tracing is enabled. Use this for span-level lookup and correlation.

Extended usage example
Direct link to Extended usage example

import { RequestContext } from '@mastra/core/request-context'

const run = await workflow.createRun()

const requestContext = new RequestContext()
requestContext.set('variable', false)

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