Approval workflows that don't slow you down
Approvals protect the business only if people actually decide. Eight practical rules for workflows that catch what matters and stay out of the way of everything else.
Every growing business reaches the point where someone says "large purchases should be approved". A month later, approvals are the reason purchases are late. The control is right; the design is wrong. Here are the rules we follow when building approval workflows in Modulix.
1. Approve exceptions, not everything
A workflow's conditions decide which records need a decision at all. Approving every expense claim teaches approvers to click without reading. Approving claims above a threshold, or purchase orders over a certain total, keeps their attention for the cases that matter. Use changed to on the status field so the workflow runs once, when a record is submitted, not on every edit.
2. Ask a role, not a person
Approvers can be named people, or everyone with a role. Role holders are resolved when the approval is requested, and only active members are asked. When the finance lead goes on holiday or changes jobs, the workflow keeps working.
3. Decide how many approvals you really need
One approver means the first decision counts: fast, and right for most routine checks. Every approver means one rejection rejects: slower, and worth it only when two different people genuinely need to agree.
4. Keep four eyes on it
Tick The person who made the change cannot approve it. It costs nothing on most days and closes the obvious gap on the day it matters. Expense claims have the same rule built in: nobody can approve their own claim.
5. Escalate instead of waiting
Turn on Escalate if nobody decides and choose after how many hours (from 1 to 720) more people are asked. A request should never wait silently because one person is busy.

6. Handle both outcomes in one workflow
Set If rejected to Continue, then use Run this step on the steps that follow: one step only if the last approval was approved, another only if it was rejected. For expense claims, this is the whole pattern:
- Trigger: an expense claim is updated, with the condition Status changed to Submitted.
- Request approval from the finance role, continuing if rejected.
- Approve an expense claim for the triggering record, only if approved.
- Reject an expense claim, only if rejected, with the approver's comment (
{{approval.comment}}) as the reason.
The employee sees the decision and the reason on the claim, as if a person had clicked the button.
7. Put the decision where people already are
Approvers see requests in the Approvals inbox, as a badge in the top bar and in the Waiting for your approval widget on the dashboard. Approval requests are also notified in the app, by email and as browser push notifications by default. Encourage approvers to keep push on for approvals: it is the notification that most often needs a quick answer.
8. Watch the runs
Each workflow's Runs tab shows what is waiting, what completed and what failed, with a log of every step. If a run fails, the person who created or last edited the workflow is notified, and Retry restarts it from the failed step.
Know the limits
Workflow steps run one after the other: there are no parallel branches or loops. Steps also run with the organization's full permissions, whoever triggered them, so give the right to create and edit workflows only to trusted roles. Within those limits, a handful of well-designed workflows will catch the exceptions and leave everyone else alone.
- workflows
- approvals
- controls
Related resources
- BlogFinance & accounting
Month-end close for small finance teams: a checklist that holds up
A seven-step close for teams where one or two people do the books: post everything, reconcile the banks, check receivables, payables and tax, adjust, review, and close the period.
6 min - White paperPlatform & IT
Designing roles and permissions for a growing team
How to set up roles in Modulix so people have what they need and no more: built-in roles, custom roles, record scopes, separation of duties and how to review it all.
7 min