workflow_with_suspend_resumeTier 1 · 70% confidence

ai-agents-workflow-with-suspen-when-you-need-to-implement-a-multi-step-business-p-b971a752

agent: ai_agents

When does this happen?

IF When you need to implement a multi-step business process that requires human approval at certain points.

How others solved it

THEN Use the VoltAgent createWorkflowChain function to define a workflow with suspend/resume capabilities. In the step that requires approval, call suspend() with context data, then resume with manager's decision via resumeSchema. This pattern enables human-in-the-loop automation.

const expenseApprovalWorkflow = createWorkflowChain({
  id: 'expense-approval',
  input: z.object({ employeeId: z.string(), amount: z.number() }),
  result: z.object({ status: z.enum(['approved','rejected']), approvedBy: z.string() })
})
  .andThen({
    id: 'check-approval-needed',
    resumeSchema: z.object({ approved: z.boolean(), managerId: z.string() }),
    execute: async ({ data, suspend, resumeData }) => {
      if (resumeData) return { ...data, approved: resumeData.approved, approvedBy: resumeData.managerId };
      if (data.amount > 500) await suspend('Manager approval required', { employeeId: data.employeeId });
      return { ...data, approved: true, approvedBy: 'system' };
    }
  })
  .andThen({ id: 'process-decision', execute: async ({ data }) => ({ status: data.approved ? 'approved' : 'rejected', approvedBy: data.approvedBy }) });

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics