UI/UX Case Study

DMS+ Workflow

Designing the approval engine DMS+ was missing

In this case study I am going to talk about how we built the workflow engine that made every record accountable before it went live.

Product Category
Enterprise SaaS
Role
Sr. Product Designer
Team
1 PM, 2 Developers & 1 QA
Scroll to Explore
Enterprise SaaSApproval WorkflowUX/UI Design
13 min read
01 / Intro

Submit meant approved. That was the real bug in DMS+.

An employee record, a vendor entry, anything could go live the moment someone hit submit. No check. No owner. I designed the approval layer that was missing.
02 / Backstory

DMS+ could store a record. It never asked if that record deserved to be trusted.

A Master in DMS+ holds structured records and their documents, employee files, vendor entries, contracts.
The flow before this project was simple:
Record Form Fill
Record Created
Live In The Master
Nothing happened in between. A record went from "just submitted" to "official" in the same second. No one checked if the data was correct. No one signed off. No one owned it.
This gap is exactly where the workflow module needed to exist.
03 / Problem

Problem: submit meant approved. There was no step in between.

Four basic questions had no answer inside DMS+:
  1. 1.When should a process even start?
  2. 2.Who owns the next action on a record?
  3. 3.What happens if the record needs different handling depending on its data, or nobody responds in time?
  4. 4.How does the right person even know it is their turn?
DMS+ had no trigger system, no ownership model, no way to hold a record back. That was the actual gap to design for.
04 / Constraints

Constraints

No dream team. No long runway. Just three months and four people.

3 month timeline

No room for long research or many design rounds.

2 developers

Every screen had to be something they could actually build.

1 QA

Edge cases had to be caught by me, not found later in testing.

1 Product Manager

Kept scope honest, pushed back when I over designed something.

I was the only designer.

No second opinion in the room.

05 / Research

Research

I traced how a record actually enters DMS+. Turns out there were two ways in and neither had a check.

Entry Point 1

Document upload

A user uploads a document, picks a Master & a record gets created inside it.

Entry Point 2

Direct entry

A user opens a Master and creates a record right there.

Both skip review completely. No gate, no matter how the record comes in.
I also checked how the market handles this. Laserfiche, DocuWare, M-Files, Newgen, all of them bundle workflow automation into their DMS. DMS+ had nothing. This was not just an internal gap, it was a market gap too.
I mapped who actually touches a record and where it hurts them most.

What onboarding actually looked like in real companies

I mapped a process with example, employee onboarding, to see where DMS+ fit in and where it did not:
Employee fills form
HR reviews and validates
Hiring Manager reviews
Next stakeholder reviews
Final approval
HR manually adds the approved record to the Master
Every step between "form filled" and "added to Master" happened outside DMS+. Emails. Calls. Messages. HR chasing people for a yes or no.

That created five repeat problems:

01

No visibility

Nobody could see where a record was or who had it.

02

No ownership

No clear person responsible for the next action.

03

No timeline

Delays only got noticed when someone followed up manually.

04

Manual coordination

HR spent time chasing approvals instead of doing HR work.

05

No audit trail

Compliance flagged this as critical. Nobody could prove who approved what or when.

I also went through customer conversations with our BA team, to check how they were handling approvals today and what they expected an automated system to do for them.

Research takeaway

The issue was not simply "DMS+ needs an approval feature."

It was bigger: DMS+ had no system connecting a record's creation to the people, decisions and validations required before that record could become trusted information in the Master.

That is the actual problem I had to solve.
06 / Problem

The Problem

Research pointed to one fundamental gap. DMS+ could store records but couldn't govern how they became trusted.
A record could enter a Master directly. No validation, no approval, no clear owner.
For enterprise workflows, that created a broken journey:
Record created
Manual review
Email / calls
Follow-ups
Unknown status
Final approval
HR manually enters the Master
How might we move the approval process from people's inboxes and conversations into DMS+, so every record has a clear owner, next action, status and audit trail before becoming an approved Master record?

Design goals

01

Clear ownership

Every step should have one person responsible for it.

02

Clear progress

People should know where the record is and what happens next.

03

Easy approval

People should approve or reject inside DMS+ instead of using email or calls.

04

Trusted records

A record should become approved in the Master only after all required steps are complete.

05

Less manual work

HR should not have to keep calling or emailing people to get things done.

07 / Design Strategy & Process

Design Strategy & Process

I had three months and two developers. I could not design multiple versions and decide later.

Before designing the screens I mapped a real employee onboarding process step by step.
This helped me understand what the system actually needed to handle.

What should stay human and what should run automatically?

Human Decision

Department Head approval

HR Director review

Document signing

System Actions

Assign work to IT Admin and Payroll

Update employee status to Onboarded

Send completion email to the manager

These steps do not need human input so the system handles them automatically.
This became the foundation for the node system. I was not starting with a list of workflow features. I was starting with the work people actually do.
07 / Solution Definition & Architecture Plan

Solution Definition & Architecture Plan

One system. Four things had to work together.

I defined this before designing the screens.

Master Pending

Records stay in Pending while approvals are in progress. Once complete they move into the Master.

Roles inside DMS+

Department, Designation, Reporting Manager, Department Head and User Group decide who can act.

Workflow Builder

Admins define the process and assign each step.

Workflow Dashboard

Employees see the tasks assigned to them and take action.

Workflow lifecycle

Record created → Trigger fires → Workflow starts → Record moves to Pending → Task assigned → User acts → Next step → Complete → Record moves to Master

The roles decide who acts.

The Builder defines what happens.

The Dashboard shows what needs action.

Pending shows where the record stands.

08 / Final Solution

Final Solution

Four parts. Each one answers a different question. This is the system from start to finish.

Master and Submission create the record.

Trigger decides when the workflow starts.

Builder defines what should happen.

Dashboard is where people do the work.

1. Master and Submission

A record can start in two ways. A user can upload a document and select a Master. Or they can open a Master and create a record directly.
When a workflow is attached to that Master the record does not go live immediately. It moves into Master Pending.

Why this matters

Before

This change submission and approval were treated as one action.

After

I separated them into two states.

The record can exist and still wait for approval. Once the workflow is complete it becomes an official Master record.

This separation became the base for the approval system.

2. Workflow Trigger

An admin selects a Master and the event that should start the workflow.
When a workflow is attached to that Master the record does not go live immediately. It moves into Master Pending.

Decision: one trigger per workflow

I kept one trigger for each workflow. This makes it clear why a workflow started. If the same Master needs to react to different events those become separate workflows.

3. Workflow Builder

The Builder turns a real process into a workflow the system can run.
I used ten different node elements that we drag, drop, and connect to build workflows.
I used ten node types and kept them in two groups.

Action Node: Approval, Task, Email, Update Metadata

Logical Node: If/Else, Conditional Branch, Split, Merge, Pause, End

This separation keeps each node focused on one job.

Approval Node Configuration

Basic Tab

Five questions it answers:

Who approves?

Approver Type

How many responses needed?

Completion Rule

How is final decision computed?

Mixed Response Rule

Where does the workflow go next?

Post-Decision Routing

What if nobody responds?

Reminder / Escalation / Auto-Finish

Approver Type

  • Hierarchical: Department → Designation → Role → User, each level optional/progressive, terminates in All or Specific users
  • Independent: User Group — flat, no hierarchy needed

Completion Rule (how many must respond)

  • All must respond
  • Majority must respond
  • Anyone (first response wins, others become irrelevant)

Mixed Response Rule (only matters when multiple approvers, split votes)

  • Majority wins, tie → escalate/tie-breaker
  • Any Approved = Approved
  • Any Rejected = Rejected

Post-Decision Routing

  • Approver can end the workflow after their decision
  • Approve can end as Approved
  • Reject can end as Rejected
  • Useful for senior approvers

Sub Approver

This lets the main approver ask for extra approval without creating a separate workflow step.
  • Admin defines who the main approver can choose from
  • The pool can be based on within his department or anywhere inside the organization
  • Main approver chooses Approve, Reject or Need Sub Approval
  • One user per sub approval step
  • Multiple sub approval steps can run sequentially or in parallel
  • After completion the task returns to the main approver
  • Main approver makes the final decision

Advanced

Controls what happens when an approver does not complete their task on time.

Escalation

Moves the task to another person after a set time or on a custom date. This helps keep important approvals moving.

Auto-Finish

Automatically completes the task if no action is taken. The admin can set the default outcome as Approved or Rejected.

Reminder

Sends reminder emails after a set time or on a custom date so approvers do not miss pending tasks.

The Other Nine Nodes, in Short

Approval got the deep dive. Here is what the rest do.

Task Node

Assigns work to a person. They can upload documents, edit selected fields or mark the task complete. It uses the same reminder and escalation options as Approval.

Email

Sends an email when the workflow reaches this step. The admin can use workflow data such as the record name, approver or outcome in the message.

Update Metadata

Updates a record field automatically. No user action is needed. It can be used to update a status after the workflow is approved.

If/Else

Checks one condition and sends the record down either the true path or the false path.

Conditional Branch

Checks multiple conditions and sends the record to the matching path. If nothing matches it goes to Others.

Split

Runs multiple paths at the same time. This lets different teams work in parallel.

Merge

Brings multiple paths back into one. It can wait for any branch or all branches to finish.

Pause

Temporarily stops the workflow for a set time or until a specific date. It then continues automatically.

End

Closes the workflow and marks it as complete.

Decision: Closing the Builder

I kept Split and Merge simple for Version 1.
Research showed more advanced cases like conditional splits and outcome based merging. But with three months two developers and one QA I had to decide what was realistic to build and test.
What shipped

Split

Sends work into multiple paths at the same time.

Merge

Brings those paths back together and waits for Any Branch or All Branches to finish.

What I left out
  • Conditional splitting based on data
  • Merge with its own approval outcome
  • Multiple merge rules
These were not ignored. They were moved to the roadmap. The goal was simple. Build fewer options but make sure they work reliably. That was the right choice for Version 1.

4. Workflow Dashboard

The workflow is now running. Transition visually
Builder
Publish
Trigger
Workflow Instance
Dashboard
Final approval
The Builder creates the process. The Dashboard executes it.

My Actions

Don't show users workflows. Show them responsibility. This is one of your strongest sections.

Only the person whose step is currently active sees the work in My Actions.

Decision: only the active step shows up

Sneha does not see the HR step because she does not need to. Once Rahul finishes the step the workflow finds the next person and the task appears in Sneha's queue.

Core principle

My Actions shows what I need to do now. Not every workflow I am part of. This is the difference between a task list and a status page. A status page shows everything and asks the person to figure out what matters. A task list shows only what matters.

The Action Workspace

Click into a task, and three questions answer themselves at once.

Left, Submissions

Other instances waiting for the same workflow. Switch between them without going back to the dashboard.

Center, Record

The actual record with fields, files and activity log. Everything needed to review and make a decision is in one place.

Right, Process

Shows every step in the workflow with completed, active and pending states. The user can see their current step and the overall progress.

Decision: one screen instead of three pages

Keeping these areas together means the user does not need to move between pages while reviewing a record and checking its progress.

Take Action Approval, Configured to Runtime

Everything the approver sees comes from the settings configured by the admin in the Builder.

This side drawer comes in when the approver clicks the take action button on a record.

Approve & Reject

Always present. These are the two outcomes of every Approval node.

Post Decision Routing

The admin decides what happens after each outcome.

Approve → End Workflow ONApprove ends the workflow immediately.

Approve → End Workflow OFFThe workflow moves to the next connected step.

Reject → End Workflow ONReject ends the workflow immediately.

Reject → End Workflow OFFThe workflow follows the connected path. It can also go back to an earlier step.

The approver does not see these settings. They only see the result when they take action.

Comments

Toggle ON in Builder →approver cannot submit a decision without typing a comment first

Toggle OFF →comment box still there, but optional

Sub Approval

Toggle ON in Builder →Request Sub Approval appears alongside Approve and Reject.

Toggle OFF →Only Approve and Reject are shown.

The Point

The Builder controls what the approver can do. The Dashboard reads the node settings and shows only the actions allowed for that step.
09 / Outcome

Outcome

The process now runs inside DMS+. The four problems we found in research now have a clear answer in the product.
01

Clear ownership

Every active step is assigned to the right person based on their role.

02

Clear progress

Users can see the current step and what happens next from the Process panel.

03

Easy approval

Approvers can review the record and approve or reject it directly inside DMS+.

04

Trusted records

Records stay in Pending until the required workflow is complete. Only approved records enter the Master.

05

Less manual work

The system assigns tasks, sends updates and moves records forward without HR having to chase people.

Result

The process that was spread across people, emails and manual checks now runs inside DMS+.