A configurable workflow engine for every approval
Replaced a single hardwired approval path with one engine for tasks and multi-level approvals across the product.
- N levels
- of configurable approval
- 1 place
- for all tasks and activities
- 0
- engine internals needed to add a flow
The problem
Document changes, leave requests and new order applications each needed approvals, but the product had one fixed, non-configurable path. Every new requirement meant custom code.
Approach
- 01
Unify tasks and activities
Modelled every approvable action as a task that moves through defined steps, so they all live in one place.
- 02
Make approval levels configuration
Clients can define who approves at each level without code changes.
- 03
Hide the engine behind a small contract
Adding a workflow means declaring what happens at each step. Colleagues don’t need to understand the internals.
Outcome
New workflows went from custom builds to short definitions, and clients got approval chains that match how they actually operate.
What I took awayA good internal engine is measured by how little other developers need to know about it.