Skip to content

Approval workflows that match how you really decide

  • Home
  • Blog
  • Approval workflows that match how you really decide
Approval workflows that match how you really decide

Good approval workflow design starts with one question: who actually says yes, and in what order? Most systems fail because they copy the org chart instead of the real decision, so requests stall behind someone who was never the decision-maker. Map the true sequence, give every gate a fallback, and the workflow holds.

Key Takeaways

  • Model the decision, not the org chart — map who actually says yes, and in what order.
  • Use serial gates for dependent decisions; parallel review only for genuinely independent checks.
  • Give every gate a timeout, a delegate and a required rejection reason.
  • The append-only audit trail is the product — design it before the screens.
  • Threshold routing cuts most of the waiting by keeping small requests off senior desks.
  • Start with your two busiest approval types; a generic workflow engine can wait.
How a request moves through approval gatesOrdered stages from submission through manager and finance gates to a decision and its audit record.How a request moves through approval gates1Submitrequester only2Reviewmanager gate3Checkfinance gate4Decideyes / no / back5Recordaudit + notify
The ordered stages of an approval workflow, from submission through manager and finance gates to a decision and its recorded audit trail.

What is approval workflow design?

Approval workflow design means mapping each real decision — who decides, in what order, and what happens when someone is away — into explicit system states. Built properly, it is a state machine: a request moves from submitted to approved, and every transition records an actor, a timestamp and a reason.

Approvals show up everywhere: leave, expenses, purchase orders, discounts, content publishing, access to production systems. The design work is the same each time — name the statuses, the transitions, the gates and the actors. Get that vocabulary right and every later choice gets easier.

Why do approval workflows break in real organisations?

Approval workflows break in production because they copy the org chart instead of the decision. Requests queue behind an absent approver, staff settle things over chat, and the record stops matching reality. The fix is structural: model who truly decides, then give every gate a timeout, a delegate and a rejection path.

The classic pattern: a director approves everything, so the queue becomes one person's inbox. Staff learn to settle purchases over chat, then retro-approve in the system seconds after a phone call. Nothing malicious — the workflow simply never matched reality. Latency is what teaches people to route around it.

When do you need purpose-built workflow support — and when you don't?

You need purpose-built workflow support once a process involves conditional routing, parallel reviews, delegation or a formal audit trail. If a six-person team approves three leave requests a week, a shared inbox and a spreadsheet are honestly enough. Adding states and notifications to trivial volume just creates a second system to maintain.

Watch for four signals: auditors asking who approved what, turnaround measured in days, approvals that stall whenever one person travels, and rules that shift with the amount involved. These are the moments a system shaped around your own rules earns its keep — the everyday work of custom internal software. Without them, don't build one.

How does an approval workflow actually work?

Under the hood, an approval workflow is a state machine plus a gate table. Each request carries a status; each gate names its actor set, permitted actions, timeout and fallback. Every transition writes an audit row and fires a notification, and a parallel gate stays open until all reviewers — or N of M — have acted.

If your team writes software, you already run one of these: GitHub's pull request reviews require a reviewer's approval before a merge is allowed, with every decision attributed and on the record. The same shape fits a purchase order. Write the transitions before you draw a single screen:

submitted       → manager_review    (auto, on submit)
manager_review  → finance_review    (manager approves)
manager_review  → rejected          (manager rejects — reason required)
finance_review  → approved          (finance approves)
finance_review  → rejected          (finance rejects — reason required)
any state       → cancelled         (requester withdraws)
manager_review  → finance_review    (after 48 h idle: escalate, don't drop)

Seven transitions. That is the whole specification — everything else is interface.

How do you design one step by step?

Design from observed decisions, never from software. Inventory each approval type and its weekly volume, shadow one real request end to end, then draw the states and transitions before touching a database. Define every gate with actors, timeout and delegate, build the audit record first, and pilot on one approval type.

  1. List every approval type in the business, with weekly volume and today's typical turnaround.
  2. Shadow one real request end to end, including the chat messages and phone calls around it.
  3. Draw the statuses and transitions, including rejected, cancelled and returned-for-changes.
  4. For each gate, fix the actor set — a named person, a role, or whoever a rule resolves — plus actions, timeout and delegate.
  5. Design the audit record first: actor, timestamp, action, and the values the approver saw.
  6. Choose notification behaviour — instant for waits, a daily digest for routine completions.
  7. Pilot with one approval type, measure wait time per gate, then tune before rolling out.

Which gate pattern fits which decision?

Four gate patterns cover nearly every approval you will meet: a single approver, a serial chain, a parallel review, and threshold routing that selects the chain by amount or risk. Serial suits dependent decisions; parallel suits independent checks; thresholds keep small requests off senior desks, which is where most latency hides.

Whichever you pick, remember the queue is a screen someone opens fifty times a day, so the usual rules of designing a usable admin panel apply: show age, show what's stuck, make the common action one click.

PatternBest forWatch out for
Single approverLeave, routine expensesOne person becomes the delay — set a delegate
Serial chainDependent sign-offs: budget, then compliance, then paymentEvery gate adds its own wait to every request
Parallel reviewIndependent checks done at onceNeeds an all-complete or N-of-M rule to close
Threshold routingPurchases and discounts by amount or riskPeople split requests to stay under limits
Which gate pattern fits which decisionRows mapping each approval gate pattern to the decisions it suits.Which gate pattern fits which decisionSingleLeave and routine expenses, decided in minutes by one personSerialDependent sign-offs: budget first, then compliance, then paymentParallelIndependent checks at once — legal and finance in the same sittingThresholdAmount or risk picks the chain; small requests skip the seniorsFirst-claimAny trained administrator can claim it — no single-person queue
How the five common gate patterns map to the decisions they suit, from single-approver leave requests to threshold-routed purchase chains.

How do you verify a new workflow — and debug a stalled one?

Verify a new workflow by pushing four request types through a staging copy: the happy path, a rejection, a timeout and a delegation — and confirm the audit table gains a row for each transition. When a live request stalls, debug in order: request state, gate actor resolution, notification log, audit trail.

The timeout path deserves special attention: an escalated request must land on a named human, not back into the same queue. Check the notification actually arrived — mail logs first, assumptions last. And the signature of a shadow process is an approval recorded seconds after a phone call. Decide deliberately whether the system is the record of truth or just a note, and write that into policy, not just software.

What are the security and audit essentials?

Treat every approval as a privileged action. Authorise it server-side, never by hiding a button; keep the requester out of their own chain; and make the audit log append-only — records can be added but never altered. Approvers should see only the fields their decision needs, and configuration rights must sit apart from approval rights.

Also export the trail in a format an auditor can read without your help. Separation of duties — requester, approver and configurator as three different roles — is what makes the record believable.

What does it really cost to run?

The build is rarely the expensive part. Running cost lives in keeping rules current as people change roles, keeping notification mail out of spam folders, and holding the discipline that every request goes through the system. Each extra gate adds waiting to every future request, so prune any gate you cannot justify.

Off-the-shelf tools trade build effort for per-seat licences and their own conventions — confirm current figures with the vendor before committing. Self-built rules age with the org chart, so somebody must own them. Budget engineer time for the boring parts: deliverability, role changes, the quarterly prune.

Which mistakes do we keep seeing?

The same handful of mistakes recurs in almost every broken rollout: copying the org chart, forgetting rejection paths, shipping gates without timeouts, sending approval links with no context, and building a generic engine before a second workflow exists. Each is cheap to avoid on paper and expensive to unwind after go-live.

  • Copying the org chart instead of interviewing the people who actually decide.
  • Rejection paths left undesigned, so refused requests dangle in a half-state.
  • Gates shipped without timeouts, so one holiday stalls every request behind it.
  • Approval emails with no amount, no requester and no link that works on a phone.
  • Building a generic workflow engine before the second workflow exists.

What does this look like in a real company?

Picture a 40-person trading firm in Kathmandu. Purchases used to happen over WhatsApp messages and got reconciled at year end, when invoices went missing. The redesigned flow routes every request through one form: an automatic budget check, a manager gate, then finance, with a 48-hour timeout that escalates to the finance head.

Any trained office administrator can claim supply purchases below a set threshold; department heads approve their own budgets; finance sees everything above it. The general manager approves from a phone between site visits, which is why the approval screen must survive weak mobile data. Year-end reconciliation became a report instead of a hunt through chat threads.

Where a purchase request actually loses timeA five-day timeline marking waits and decisions for one purchase request.Where a purchase request actually loses timeSubmittedday 0Waits formanager2 daysManagerapproves10 minutesQueues infinance3 daysPaid andrecordedday 5Five calendar days end to end — the deciding itself took under an hour.Timeouts, delegates and thresholds attack the waiting, not the deciding.
One realistic purchase request traced across five working days: almost all the elapsed time is waiting for people, not deciding.

Should you build, buy, or keep it simple?

Buy when the workflow is standard — expenses and leave fit tools such as Power Automate's approval actions or your ERP's built-in flows. Build when the workflow is your competitive process or must live inside a custom system. Keep it simple — one status field and email — whenever volume is low and rules rarely change.

We weigh this trade-off with clients constantly; our guide to custom software versus off-the-shelf walks through it in detail. The honest answer for most firms is mixed: buy the commodity approvals, build the two or three processes that are genuinely yours.

In short. Approval workflow design is unglamorous systems work that pays back every week: name the statuses, gates and actors before the screens; serial for dependent decisions, parallel for independent checks, and threshold routing wherever an amount decides who signs. Build the audit table before the forms. Pilot on your two busiest approval types, buy the commodity flows, and only build a generic engine once a third workflow proves you need one. The payoff is boring and real: fewer stalled requests, a record that survives audits, and decisions that no longer depend on whoever happens to be in the office.

People also search for

Mapping how your company really decides is the hard half; the screens are the easy part. Our team can run that mapping with you, then design and build the workflow system around it — in your accounts and repositories, operable by your own people afterwards. Tell us which approvals slow you down, or read how we approach custom software development before you get in touch.

Frequently asked questions

  • A defined path a request follows from submission to a final decision, built as a state machine: each state (draft, pending review, approved, rejected) has rules for which role can move it forward and what evidence they must leave. Every transition is timestamped and attributed, so the audit trail shows not just the outcome but who decided what, when.

  • Once three things appear: volume (approvals arrive faster than anyone can track them in an inbox), money or risk thresholds (purchases, refunds, access grants above a set limit), or an audit requirement (finance controls, ISO 27001, client contracts). Email has no enforcement and no reliable record; a workflow applies the same rule to every request and keeps the evidence.

  • Start from evidence, not the org chart: pull the last twenty or thirty real decisions and note who actually signed, in what order, and which were waved through or escalated informally. Encode the common path as the default, and make the exceptions explicit routes (small amount, urgent, vendor already approved) rather than forcing every case down one chain.

  • States and transitions (the request's lifecycle), actor roles with permissions, routing rules such as thresholds that pick the path, parallel or sequential steps with all-of or any-of completion, escalation timers, delegation for absences, and an append-only audit log. Most systems also need comments and attachments, because approvers rarely decide on the request fields alone.

  • Bypass almost always means the workflow is slower or narrower than the real decision. Debug with data: look at time-in-state per step to find the bottleneck, and ask bypassers which step they skipped and why. Typical causes are a chain longer than the decision deserves, approvers who are never available, or thresholds that route trivial requests upward.

  • Three mechanisms cover it: delegation rules that hand pending approvals to a named deputy after a set number of days, escalation timers that alert the approver's manager when an item sits too long, and admin-held reassignment so operations can move stuck items without waiting. Review the pending queue weekly — a queue nobody watches is where requests stall permanently.

  • Enforce segregation of duties in the transition guard on the server: when a transition is attempted, check whether the current user holds the approver role for that step and is not the request's submitter or a previous approver on it. Hiding the button in the interface is not enough; the API must reject the call and log the attempt.

  • Replay real historical cases through it and compare outcomes with what happened. Then run it in shadow mode: the workflow records its decisions while people keep deciding as before, and you diff the two. Once agreement is high, confirm the audit trail captures who approved, when, which rule fired and any comment — that record is the deliverable.

  • Off-the-shelf approval features in tools like Jira or Power Automate get you running in days but shape the process to their model and keep the record outside your application. Custom logic fits your data model and audit needs, at the cost of building and maintaining states, notifications and delegation yourself. Judge it on volume, integration depth and who maintains it.

  • The main drivers are rule churn (thresholds and approver lists change as the business does), the exception rate (each special case eventually becomes a rule to build), and notification and reminder volume, which affects email deliverability if handled carelessly. Plan a regular review of pending queues, escalation timers and thresholds; an unreviewed workflow quietly drifts back to inbox decisions.

0 comments

Be the first to share your thoughts.

Leave a comment

Chat on WhatsApp