Product design case study
DMS+ Workflow
Designing the approval engine DMS+ was missing
A workflow engine inside DMS+.
I designed the workflow engine that sends every record for review before it goes live.
Submit meant approved.
Any record went live the moment someone clicked submit. Employee files. Vendor entries. Contracts. No check and no owner.

01Context
DMS+ stored records. It never checked them.
A Master in DMS+ holds structured records and their documents. Before this project a record went from submitted to official in the same second.
02Research
Two ways in. Neither had a check.
A user uploads a document and picks a Master. Or a user opens a Master and creates a record directly. Both skip review.
How approvals worked outside DMS+
With our BA team I mapped employee onboarding step by step. Every step after the form happened on email, calls and chat.
HR spent hours chasing people for a yes or no.
What I found
Nobody owned the next step.
Nobody could see where a record was.
Nobody could prove who approved what.
Compliance marked this as critical.
The market already had this
Laserfiche, DocuWare, M Files and Newgen all have workflow inside their DMS. DMS+ did not. We were losing deals because of this.
| Capability | Laserfiche | DocuWare | M Files | Newgen | DMS+ before |
|---|---|---|---|---|---|
| Workflow trigger | |||||
| Approval rules | |||||
| Escalation | |||||
| Audit trail |
03Problem
Move approvals out of email and into DMS+ so every record has an owner, a status and an audit trail before it goes live?
Clear ownership
One person owns each step.
Clear progress
Everyone can see where a record is.
Approval inside DMS+
No email or calls.
Trusted records
Nothing goes live until every step is done.
Less manual work
HR stops chasing people.
04Constraints
Small team. Short runway.
05Approach
Start with the work people do. Not a feature list.
I split every onboarding step into two groups. That split became the node system.
Four parts that work together
Every record moves through the same lifecycle. Each colour shows which part owns that step.
Master Pending
Holds records until approval is done.
Roles
Department, Designation, Reporting Manager, Department Head and User Group decide who acts.
Builder
Admins create the process.
Dashboard
People act on their tasks.

06Solution
From submit to trusted record
Four parts. Each one answers a different question.
Submission and Master Pending
When a Master has a workflow attached a new record does not go live. It waits in Master Pending.
Separate submission from approval
A record can exist and still wait for approval. The whole system is built on this.

Trigger
An admin picks a Master and the event that starts the workflow, from six trigger types.

One trigger per workflow
You always know why a workflow started. Different events become separate workflows.
Many triggers
Unclear which event started a run.
One trigger
Cost: more workflows to manage.
Builder
Admins drag and connect ten node types to build a real process.




The Approval node
The main node. Its settings answer five questions. Tap one to see the options.



- Hierarchy (Department → Designation → Role → User) or User Group.
- All, Majority or Anyone.
- Majority wins and a tie escalates. Or any approve wins. Or any reject wins.
- Continue or end the workflow on Approve or Reject.
- Reminder, Escalation or Auto Finish.
Sub approval
The approver can ask others for input without adding a new step. The admin sets who can be picked.
When nobody responds
Assigned
Task lands in My Actions.
Reminder
Email goes to the approver.
Escalation
Task moves to another person.
Auto Finish
Closes as Approved or Rejected.
The other nine nodes
Task
Upload files, edit fields or mark done.
Sends a message using workflow data.
Update Metadata
Changes a record field on its own.
If/Else
One condition and two paths.
Conditional Branch
Many conditions. No match goes to Others.
Split
Runs paths at the same time.
Merge
Joins paths. Waits for any or all.
Pause
Stops until a set time or date.
End
Closes the workflow.
Keep Split and Merge simple in V1
With two developers and one QA I picked fewer options that always work over more options that can break.
Shipped
- Split runs paths at the same time
- Merge waits for any or all
Roadmap
- Split based on data
- Merge with its own outcome
- Multiple merge rules
Dashboard
The Builder creates the process. The Dashboard is where people do the work.
My Actions shows your turn. Nothing else.
Shows everything
People search for what is theirs.
Task list
Only what needs action now.
Only the active step shows up
Rahul from HR approves first. Sneha, the Hiring Manager, sees the record only after Rahul is done.

Review and progress on one screen
One screen instead of three pages
Reviewers never leave the record to check progress. In testing, approval was completed in 3 clicks.

The Builder decides what the approver sees
The Take Action screen is built from each step's settings. Change a setting and watch the screen.
Tap a decision card to switch it.

Routing rules
The approver never sees these rules. They only see the result. The cell for your decision lights up.
07Edge cases
What breaks at enterprise scale
Seven cases I solved in design before QA ever saw them. Pick one.
Admin edits a workflow while records are still inside it
Running records break or jump steps.
Every edit creates a new version. Running records finish on the version they started on. New records use the new one.
Approver leaves the company
Task goes to nobody and the workflow stops.
When the account is deactivated its tasks move to the Reporting Manager. Approvers are picked by Department and Role so there is always a next person.
Approver is on leave
Records wait for days.
Escalation already solves this. After the set time the task moves to a backup person. No separate leave logic needed.
No user matches the role, like no Department Head set
Workflow cannot find who should act.
The task goes to a default admin group and is logged as an exception. Nothing gets stuck without anyone knowing.
Builder has a loose node or a loop
Workflow never ends or skips steps.
Loops are allowed because Reject can go back a step. Publish checks that every path can reach an End. If one cannot, publish is blocked and the node is flagged.
Record is edited while pending
Approver approves data that changed later.
Only fields the current step allows can be edited. If a reviewed field changes that step is sent for review again.
Who can create and publish workflows
Anyone could change a company process.
Two separate permissions. Anyone with access can build and edit. Only Workflow Admins can publish, so every live change has one owner.
08Results
Approvals now run inside DMS+.
“We finally know who needs to act next.”
— PM
09What is next
Roadmap
Complexity is acceptable when responsibility is clear.















