Case Study · Business Process Automation · HR
New-Hire Onboarding Automation for a Professional Services Firm
Power Automate flows that take a new hire from "offer accepted" in BambooHR to working accounts, licenses, and a laptop on the desk — the same day HR completes the record.
- Same-day
- account setup, down from 3 days
- 97%
- of hires fully ready on day one
- ~70%
- less HR admin time per hire
Client context
A professional services firm with around 400 staff was hiring 15–20 people a month, and every one of them was onboarded through email threads, spreadsheets, and memory. I came in as an automation consultant to redesign the process end to end — workflow design, development, and rollout.
The problem
On paper, onboarding was simple: HR entered the new hire into BambooHR, IT created their accounts, someone ordered a laptop, and the manager got a heads-up. In practice, it was roughly forty manual steps spread across six systems and three teams, coordinated entirely by email.
The failure mode wasn't dramatic — it was constant small misses. A consultant would show up with a laptop but no access to project folders. A license would get assigned a week late. During the autumn graduate intake, when thirty people started within the same fortnight, IT basically stopped doing anything else.
For this firm the cost was direct. Consultants bill from their first week, so a new hire waiting two days for system access is lost revenue, not just an annoyance. HR estimated they spent about four hours of admin per hire, and still couldn't say with confidence that everything had been done.
The automation I built
I built the onboarding process as a set of Power Automate flows driven by the HR system rather than by people remembering to send emails. When HR marks a record complete in BambooHR, a webhook kicks off the main flow — and the manager only gets a checklist of the few things that genuinely need a human: introductions, first-week planning, a buddy assignment.
The important design decision was where the business rules live. Instead of burying "a senior consultant gets X, Y, and Z" inside the flow, I put the role-to-access matrix in a SharePoint list that HR and IT own together. The automation reads it at runtime; when a role changes, they edit a list — nobody calls a developer. I also deliberately kept two human approval steps: paid license add-ons (cost control) and the payroll handoff (too sensitive to fully automate in the first release).
- Triggered directly by the HR system — no duplicate data entry, no request forms
- Entra ID account creation via the Microsoft Graph API, with collision-safe username generation
- Role-based access matrix stored in SharePoint, editable by HR and IT without touching the flows
- Automatic Microsoft 365 license assignment, with an approval step for paid add-ons
- Equipment tickets raised in Freshservice with lead-time-aware due dates
- Scheduled welcome and first-week emails for both the new hire and their manager
- A daily readiness report listing everyone starting that week and anything still missing
- A per-hire audit log of every action the automation took
What made it hard
The biggest obstacle had nothing to do with software: the role-to-access matrix didn't exist. Access decisions lived in the heads of two IT staff and were made case by case. We spent two workshops with HR and IT writing down, role by role, what a new hire should actually receive. Those sessions surfaced disagreements nobody knew they had, and the resulting matrix ended up being one of the most useful artifacts of the whole project.
The environment was hybrid — on-premises Active Directory synced to Entra ID — which meant some operations couldn't happen back to back. Creating an account and immediately assigning cloud licenses fails if the directory sync hasn't run yet, so I sequenced steps around sync windows and polled for completion rather than assuming instant consistency.
There were smaller headaches too. Two hires with identical names started the same month, which stress-tested the username logic earlier than expected. And the automation is only as good as its input: when HR entered records late, flows fired late. Reminder nudges tied to offer-acceptance dates mostly solved it.
Results
The process went from a three-day email relay to a same-day, mostly unattended pipeline:
- End-to-end account setup went from roughly three days to same-day
- New hires with a working laptop and full system access on day one: up from about 60% to 97%
- HR admin time per hire dropped by roughly 70% — from around four hours to just over one
- IT went from juggling long email threads per hire to receiving one structured, pre-filled ticket
- The autumn graduate intake ran without IT pausing other work, for the first time anyone could remember
Business impact
The obvious win is billable time: consultants start working — and invoicing — days earlier than before. The quieter win is consistency. Because every hire now flows through the same business process automation, access is granted from a documented matrix instead of ad-hoc judgment, which the firm's security reviewer was noticeably happy about. The same structure later became the foundation for offboarding automation, where the stakes — orphaned accounts, lingering access — are arguably higher.
Lessons learned
The automation was the easy part. The hard part was getting the organization to write down rules it had been improvising for years — I've since made the rules workshop a first-class project phase, not prep work. The other takeaway: keep business rules where business people can edit them. The SharePoint matrix has been changed dozens of times since go-live, and not one of those changes needed a developer.