Approval Workflow
Route a request through one or more reviewers with clear status, accountability and an auditable history.
9 states8 edge casesDesktop + Mobile
01The problem
Spend requests, contracts, content and access changes need sign-off before they take effect. Without a clear workflow, requests stall in inboxes, requesters chase reviewers in chat, and nobody can later say who approved what, when, or on what basis.
02When to use
Use when
- Purchase orders, expenses and invoices above a threshold
- Publishing content that needs editorial or legal review
- Granting elevated access or permissions
- Contract and pricing exceptions
- Any change where accountability must be recorded
Avoid when
- The reviewer approves almost everything — replace the gate with post-hoc auditing.
- The action is easily reversible and low-risk; use undo instead.
- Real-time collaboration is the norm and review is informal — comments suffice.
03Recommended UX
Statecraft recommendation
Make the request page the single place where a decision happens: current status and who it's waiting on at the top, the decision actions in a fixed area, and a chronological timeline below.
04Desktop behaviour
Desktop shows the request content and the decision context side by side, so reviewers can read details and act without losing their place.
Desktop rules
- Status banner at the top: state, current step, and named approvers it's waiting on.
- Approve, Request changes and Reject live in a fixed action area — never at the bottom of a long page.
- Show the full approval chain as a stepper so everyone can see what comes next.
- Hide decision actions entirely for users who cannot act; show who can instead.
05Mobile behaviour
Reviewers often approve from a notification on their phone. The mobile view must make a safe decision possible in under a minute.
Mobile rules
4 mobile rules are included in Pro.
Statecraft Pro
Unlock the full pattern
Get the complete interaction flow, states, edge cases, mobile rules and implementation prompt.
- Interaction flow · 6 steps
- 4 mobile rules
- 9 states
- 8 edge cases with recommendations
- 5 microcopy comparisons
- Accessibility notes
- Developer notes
- Claude Code / Codex implementation prompt
- React + TypeScript reference code and tests
Edge cases covered in this pattern
- Request edited after approval
- Approver unavailable
- Self-approval
- Concurrent decisions
- Any vs. all approvers
- Revoking an approval
- Permissions change mid-flight
- Notification fatigue