Skip to main content

Approval Gate

<Approval> pauses a workflow at an explicit node, waits for a human decision, then continues. For simpler inline approval, use the needsApproval prop on <Task>: see workflow-approval.

Workflow Definition

Running

Approving or Denying

Approve and resume:
Deny and halt:

Listing Pending Approvals

How It Works

  • <Approval> persists a decision object (approved, note, decidedBy, decidedAt) on resume; decidedAt stays deterministic because Smithers records the timestamp in its approval records and event log.
  • Re-running after approval replays completed tasks from the database and continues from the approval point.
  • Denial is permanent for that run; retry by starting a new run.