Skip to main content

All guides

Template & walkthrough

Approval Workflows That Survive Exceptions

Specify routing, escalation, delegation, and audit history before connecting the approval button.

By Ops Automators · Updated

Get the free worksheet
Illustration of a request passing through an approval gate, with separate review and delegated-approval routes.

Who this is for: Process owners designing purchasing, discount, access, or document approvals.

An approval workflow needs more than an Approve button. It needs to know who may decide, which version they are approving, and what happens when that person is absent or the request changes.

Use the matrix below to define those rules. It describes a synthetic purchasing request; the thresholds and authorized roles must come from your own policy.

Separate request state from notification delivery

A message being delivered doesn't mean the request was approved. Store a durable request identifier, version, current state, and decision history. The notification should link to that record.

Represent pending, approved, rejected, withdrawn, and expired states explicitly where the process uses them. Define the permitted transitions. A timed-out request should not silently become approved.

  1. Step 1

    Submitted

    Validate required evidence and assign a request version.

  2. Step 2

    Pending

    Route to an authorized approver or delegate.

  3. Step 3

    Decided

    Record actor, time, decision, and approved version.

  4. Step 4

    Executed

    Perform the authorized action once.

  5. Step 5

    Changed

    Apply the reapproval rule before further action.

Write the routing matrix and the exception route

Use amount, department, request type, or risk classification only when policy makes them relevant. State whether several approvals are sequential or concurrent, and whether one rejection ends the request.

Make the fallback explicit. If the approver is unavailable, route to an authorized delegate; don't select an arbitrary manager. If no authorized delegate exists, leave the request pending and escalate to the policy owner.

Illustrative approval design matrix
ConditionRouteException behavior
Standard request within delegated authorityAuthorized budget ownerAbsent owner → registered delegate
Request outside delegated authorityAdditional authorized approvalNo authority → policy owner
Requester is also approverIndependent authorized approverNo self-approval by default in this example
Required evidence missingReturn for correctionNo execution
Material change after approvalNew request version; reapprovalPrior decision cannot authorize new version

Protect the decision against replay and stale actions

An approval link may be clicked twice or opened after the request has changed. Verify the actor's current authorization, the request version, and the current state before accepting the action.

Record the actor, decision, timestamp, reason where required, and evidence references. Perform the downstream action once using the request's persistent identifier. If the action times out, reconcile the destination before trying again.

  • A second click cannot execute the request twice.
  • An old link cannot approve a changed request.
  • A withdrawn request cannot be executed.
  • A departed or unauthorized approver cannot decide.
  • The destination outcome is linked to the request.

Test absence, delay, and disagreement

Run cases for approver absence, missing evidence, rejection, changed requests, and a timeout after execution. Ask the operator to resolve a pending request using the documented escalation route.

Set reminder and expiry timing from business needs. A reminder should not reset an overdue request's age or count as an approval. Measure unresolved requests by age and owner so the team can see a queue that is falling behind.

Free download · No email required

Approval matrix and exception test sheet

Use your organization's actual authority policy. Example routes are illustrative. Record request versions and test stale links, duplicate decisions, and absent approvers.

Open the CSV in Excel, Google Sheets, or another spreadsheet tool. The Markdown brief is editable in a text editor.

Common questions

Should approval expire automatically?
Only when the process defines what expiry means and who handles it. Expired approval should not imply permission to execute. Make renewal or reapproval behavior explicit.

Your next useful step

Need help implementing the plan? Request a call to discuss the workflow, scope, and next steps.