Approvals
Approvals
An approval gate pauses a persisted run, emits and persists FlowPaused, and issues a pending approval record when persistence is enabled.
Flow::define('invoice.pay')
->withInput(['invoice_id'])
->step('validate', ValidateInvoice::class)
->approvalGate('finance_approval')
->step('pay', PayInvoice::class)
->compensateWith(ReverseInvoicePayment::class)
->register();
CLI decisions
Use flow:approve and flow:reject for operator decisions from the console or automation.