Skip to Content

suspend()

Pauses workflow execution at the current step until explicitly resumed. The workflow state is persisted and can be continued later.

Usage Example

const approvalStep = new Step({ id: "needsApproval", execute: async ({ context, suspend }) => { if (context.steps.amount > 1000) { await suspend(); } return { approved: true }; } });

Parameters

metadata?:

Record<string, any>
Optional data to store with the suspended state

Returns

Promise<void>:

Promise
Resolves when the workflow is successfully suspended

Additional Examples

Suspend with metadata:

const reviewStep = new Step({ id: "review", execute: async ({ context, suspend }) => { await suspend({ reason: "Needs manager approval", requestedBy: context.user }); return { reviewed: true }; } });