Skip to main content

Workflow.sleepUntil()

The .sleepUntil() method pauses execution until a specified date.

Usage example

workflow.sleepUntil(new Date(Date.now() + 5000));

Parameters

dateOrCallback:

Date | ((params: ExecuteFunctionParams) => Promise<Date>)
Either a Date object or a callback function that returns a Date. The callback receives execution context and can compute the target time dynamically based on input data.

Returns

workflow:

Workflow
The workflow instance for method chaining

Extended usage example

import { createWorkflow, createStep } from "@mastra/core/workflows";

const step1 = createStep({...});
const step2 = createStep({...});

export const testWorkflow = createWorkflow({...})
.then(step1)
.sleepUntil(async ({ inputData }) => {
const { delayInMs } = inputData;
return new Date(Date.now() + delayInMs);
})
.then(step2)
.commit();

On this page