TL;DR
- A paper-based leave request had 47 distinct steps across employee, manager, HR, payroll, and filing — documented in a real process audit.
- Nobody had noticed because nobody owned the whole process. Each department only saw their slice.
- Rebuilt with an SPFx web part and Power Automate: 4 steps, 90-minute average resolution, real-time HR dashboard as a bonus.
- Zero rejected applications due to lost paperwork (was 12 per year).
We do process audits before we build anything. Write down every single action. Every handoff. Every wait. Every "I'll do that later." The process audit for one client's leave request filled two A4 pages. The total step count: 47.
When we showed the HR director the list, she went quiet for a moment and then said: "That can't be right." We walked through it together, one step at a time. It was right. It was 47 steps.
The uncomfortable thing is that most of the people involved thought the process was fine. Because they'd only ever seen their part of it.
The 47 Steps — Written Out
Here is exactly what happened every time an employee submitted a leave request at this organisation. We've grouped by role, but in reality the handoffs between roles are where most of the time was lost.
Paper Process — 47 Steps
Employee (8 steps)
Find the leave request form (usually a printed template somewhere on the shared drive, often outdated)
Print the form
Fill the form by hand
Sign the form
Walk to manager's desk (or leave on desk if not present)
Wait
Follow up with manager if no response after 2 days
Wait again
Manager (12 steps)
Receive paper form (or find it on desk after returning from meeting)
Check team calendar for conflicts manually
Check if employee has sufficient leave balance (call HR or check a spreadsheet)
Initial the form
Walk to HR department (different floor)
Leave form on HR's desk or in their inbox tray
Send an email to HR saying "I've left a form for you"
Reply to employee saying "sent to HR"
Make a note in personal diary of the leave dates
If form is rejected by HR (missing info), receive call, retrieve form from HR
Return to employee to correct
Re-walk to HR with corrected form
HR (11 steps)
Collect form from inbox tray
Check form is complete and signed
Look up employee leave balance in the HR system
Check for policy compliance (probation, notice periods, blackout dates)
Stamp form as received
Manually update leave balance in HR system
Email payroll with leave dates and type
Email employee with approval confirmation
Email manager confirming the same
Photocopy the form (one for HR file, one for payroll)
File original in employee's physical HR folder
Payroll (8 steps)
Receive HR email
Open payroll system
Find the employee record
Manually enter leave type and dates
Save and close
Reply to HR email confirming entered
File the email in a payroll folder
Print and file the photocopy sent by HR
Filing (8 steps)
HR admin retrieves filed copy at end of month
Sorts by department
Sorts by month
Updates a master Excel sheet
Stores in physical archive cabinet
If audit query: locate cabinet, find folder, find form
Photocopy for the auditor
Re-file the original
Digital Process — 4 Steps
Employee submits SPFx form on the intranet. Selects leave type, dates, and adds a note. Clicks Submit. Done. 90 seconds.
Manager approves in Teams. Receives a card with leave details. One click — Approve or Reject — without leaving Teams. Leave balance checked automatically.
SharePoint and payroll list updated automatically. HR list updated. Payroll SharePoint list updated simultaneously. Zero manual data entry.
Employee notified via Teams. Leave appears in employee's Outlook calendar automatically via Graph API. Audit record created with full timestamp trail.
Total time: ~90 minutes
From form submission to calendar update. No paper. No walking. No emails. No filing cabinet.
Before: a three-day journey with delays at every handoff. After: 90 minutes, start to calendar update.
Why Nobody Had Noticed
This is the most common question we get after a process audit like this. How does a 47-step process survive for years without anyone flagging it?
The answer is ownership. Or rather, the lack of it.
HR owned steps 21 through 31. They thought the process was fine because their 11 steps felt manageable. The manager owned steps 9 through 20 and thought the same. The employee just accepted that leave requests took a few days — that was "just how it works."
Nobody owned the whole process. Nobody had ever mapped it end to end. So nobody had ever seen the full picture. The 47 steps were perfectly visible to everyone involved. They just couldn't see each other's steps.
This is by far the most common reason paper processes survive for years in otherwise well-run organisations. Not malice. Not laziness. Just fragmented ownership and no one standing back to look at the whole thing.
Before any build, get all stakeholders in one room. Map every step on sticky notes. Include waiting time as an explicit step — "wait for manager" is a step. Most clients find that 40-60% of total process time is waiting. You can't automate waiting, but you can eliminate it by removing the manual handoffs that cause it.
What We Built
The SPFx leave request web part lives on the intranet home page. The moment an employee opens their intranet, the form is visible. No navigation. No searching for the right form. No printing.
The form itself is simple. Leave type (annual, sick, compassionate, unpaid). Start and end dates with a calendar picker. Half-day selector. Optional note. Submit.
That's Step 1. The employee's job is done.
Power Automate picks up the SharePoint list item within 60 seconds. It checks the employee's leave balance against a SharePoint list maintained by HR. If the balance is insufficient, the request is automatically flagged and the employee is notified immediately — before it ever reaches the manager. No wasted approvals.
If the balance is fine, the manager receives a Teams Adaptive Card. It shows the employee name, leave type, dates, duration, remaining balance after approval, and any note the employee added. Two buttons: Approve and Reject. The manager clicks one. Done. Step 2.
When the approval is recorded, Power Automate does four things simultaneously, without any human involvement:
- Updates the HR SharePoint list with the approved leave record
- Updates the Payroll SharePoint list with the leave type, dates, and employee ID
- Sends the employee a Teams notification with the outcome
- Creates a calendar event in the employee's Outlook calendar via Microsoft Graph API
Step 3 and Step 4 happen in the same second. The employee sees the notification, checks their calendar, and the leave is already blocked out. Total elapsed time from submission to calendar update: under 90 minutes on average, assuming the manager is reachable. With escalation logic, it's under 4 hours even if the manager is in meetings all day.
The Hidden Win: Reporting
Nobody asked for this. It came free with the rebuild.
Before, the HR director had no reliable way to see how many leave requests were currently pending, how many days had been taken by department this month, or which employees were approaching their annual leave limit. Getting that information meant either asking HR to trawl through files or waiting for the monthly Excel update.
After the build, all approved leave records live in a SharePoint list. A Power BI report connects to that list. HR now has a real-time dashboard showing pending requests, approved leave by department, leave type breakdown, and year-to-date usage per employee. It updates the moment an approval is clicked.
That dashboard took about half a day to build. It's now one of the most used items in the client's whole Microsoft 365 environment.
What the Numbers Looked Like After
The 12 rejected applications per year due to lost paperwork is worth pausing on. Those weren't just inconveniences. Each one required HR to spend time reconstructing what happened, the employee to resubmit, and the manager to re-approve. When we dug into the detail, each lost-paperwork rejection cost roughly 3 hours of combined HR and manager time. That's 36 hours per year on a single failure mode, now eliminated entirely.
Key Takeaways
Complex paper processes don't survive because they're necessary. They survive because nobody has mapped the whole thing. A 2-hour process audit with all stakeholders in one room is worth more than months of assumptions.
The 4-step digital process didn't require anyone to learn new software. The employee uses a form on the intranet they already visit. The manager uses Teams they already have open. The friction disappears because the tools are already familiar.
Reporting is almost always the unasked-for bonus. When the process data lives in a structured SharePoint list instead of paper files and email chains, a Power BI dashboard is a half-day add-on, not a separate project.