HomeServicesWorkAboutBlogContact Let's Talk
BlogBusiness Automation
Business Automation

We Counted Every Step in a Leave Request. There Were 47. Now There Are 4.

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

E

Employee (8 steps)

1

Find the leave request form (usually a printed template somewhere on the shared drive, often outdated)

2

Print the form

3

Fill the form by hand

4

Sign the form

5

Walk to manager's desk (or leave on desk if not present)

6

Wait

7

Follow up with manager if no response after 2 days

8

Wait again

M

Manager (12 steps)

9

Receive paper form (or find it on desk after returning from meeting)

10

Check team calendar for conflicts manually

11

Check if employee has sufficient leave balance (call HR or check a spreadsheet)

12

Initial the form

13

Walk to HR department (different floor)

14

Leave form on HR's desk or in their inbox tray

15

Send an email to HR saying "I've left a form for you"

16

Reply to employee saying "sent to HR"

17

Make a note in personal diary of the leave dates

18

If form is rejected by HR (missing info), receive call, retrieve form from HR

19

Return to employee to correct

20

Re-walk to HR with corrected form

H

HR (11 steps)

21

Collect form from inbox tray

22

Check form is complete and signed

23

Look up employee leave balance in the HR system

24

Check for policy compliance (probation, notice periods, blackout dates)

25

Stamp form as received

26

Manually update leave balance in HR system

27

Email payroll with leave dates and type

28

Email employee with approval confirmation

29

Email manager confirming the same

30

Photocopy the form (one for HR file, one for payroll)

31

File original in employee's physical HR folder

P

Payroll (8 steps)

32

Receive HR email

33

Open payroll system

34

Find the employee record

35

Manually enter leave type and dates

36

Save and close

37

Reply to HR email confirming entered

38

File the email in a payroll folder

39

Print and file the photocopy sent by HR

F

Filing (8 steps)

40

HR admin retrieves filed copy at end of month

41

Sorts by department

42

Sorts by month

43

Updates a master Excel sheet

44

Stores in physical archive cabinet

45

If audit query: locate cabinet, find folder, find form

46

Photocopy for the auditor

47

Re-file the original

Digital Process — 4 Steps

1

Employee submits SPFx form on the intranet. Selects leave type, dates, and adds a note. Clicks Submit. Done. 90 seconds.

2

Manager approves in Teams. Receives a card with leave details. One click — Approve or Reject — without leaving Teams. Leave balance checked automatically.

3

SharePoint and payroll list updated automatically. HR list updated. Payroll SharePoint list updated simultaneously. Zero manual data entry.

4

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.

TIMELINE COMPARISON BEFORE ~3 days average AFTER ~90 minutes 0 6hrs 12hrs 24hrs 48hrs+

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.

The process audit rule

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:

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

4
Steps in the digital process (down from 47)
90min
Average resolution time (down from 3 days)
0
Applications rejected due to lost paperwork (was 12/year)

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.

Frequently Asked Questions

Can we integrate leave requests with Microsoft Teams?
Yes. Power Automate sends the manager an Adaptive Card in Teams with the leave request details and Approve/Reject buttons. The manager actions it without leaving Teams. The employee also receives their result as a Teams notification. The entire approval interaction happens inside Teams — no SharePoint navigation required.
Does this connect to payroll systems?
Power Automate has connectors for many payroll systems including SAP, ADP, and Xero. For systems without a native connector, we use HTTP actions or the Power Automate custom connector framework. At minimum, approved leave data lives in a SharePoint list that your payroll team or system can read directly from.
How do we handle half-day or hourly leave?
The SPFx form includes a duration selector: full day, half day AM, half day PM, or hourly. The Power Automate flow handles each type differently, with separate routing rules and balance deduction logic per type. The SharePoint list stores the duration type alongside the dates for accurate reporting.
What if an employee has no access to SharePoint?
If the employee has a Microsoft 365 licence, they have SharePoint access. For employees without M365 licences — frontline workers, for example — we can build a Power Apps mobile form as the submission interface. It feeds the same SharePoint list and triggers the same Power Automate flow. Same outcome, different entry point.
AT

Akshara Technologies Team

Microsoft 365 Development Specialists

Microsoft 365 SPFx and Power Automate development specialists with 10+ years building enterprise automation solutions. We've mapped, rebuilt, and optimised HR and approval workflows across manufacturing, healthcare, finance, and professional services organisations worldwide.

If your leave process is more than 5 steps, we should talk.

We do process audits before any build starts. Map every step, find every delay, and show you exactly what a digital version looks like — before you commit to anything.

Start the Conversation See Our Services