Onboarding automation
A weekly hire class goes from a roster to provisioned accounts across every platform in a single run.
Context
New hire classes arrive weekly across four domains. Every hire needs a directory account, a mailbox, and access to the platforms their team actually works in — all of it in place before their first shift, not during it.
The problem
Done by hand, each hire meant repeating the same sequence across half a dozen admin consoles: create the account, apply the password policy, assign groups, add licences, then start again in the next platform. The work scaled linearly with headcount, and it was exactly the kind of repetitive sequence where one skipped step doesn't surface as an error — it surfaces weeks later as someone who can't get into a system they should have had on day one.
What I built
A set of scripts that take the week's roster as their input and drive the whole sequence: directory account and mailbox, group membership derived from the team the hire is joining, and platform accounts created through each vendor's API — or, where a vendor doesn't expose one, through scripted browser automation — with role-based permissions already applied. The run ends with a report of what was created and anything that needs a human. Offboarding runs the same path in reverse, triggered by hand or straight from a ticket, so access is removed as consistently as it was granted.
Result
Provisioning one hire by hand took about fifteen minutes spread across half a dozen admin consoles. A weekly class is now a single run, and every hire gets the same steps applied the same way — which is the part that stopped access problems from surfacing later.
Stack
Python · Google Workspace Admin SDK · vendor REST APIs