Joiner-Mover-Leaver with your HR system: standard or custom?
Automating JML from your HR system sounds like one button, but it sits at two levels. What ServiceChanger does as standard at the group and role level, and what creating and deleting accounts from HR is as custom work.
Joiner-Mover-Leaver (JML) is the cycle of an employee who joins, changes role, and eventually leaves. "Connect your HR system and handle JML automatically" sounds like one button, but it sits at two levels. One level is standard, the other is custom work. This post explains the difference, so you know what to expect.
TL;DR
- JML sits at two levels: membership of groups and roles, and the creation and deletion of accounts.
- The membership level is standard: attributes decide groups and roles, and joiner, mover, and leaver follow on their own.
- Creating and deleting accounts from your HR system is custom work, not a standard button.
- We build that custom work with PowerShell in Azure Automation, runbooks on hybrid workers, that read the API of your HR system.
- The reason it is custom: every HR system has different fields and rules, so a one-size-fits-all would fit no one.
The two levels of JML
A lot of confusion about onboarding and offboarding comes from mixing two things:
- The membership level. Which groups and roles a person should have, given who they are. This is about access.
- The account level. Whether the account exists at all, and whether it is created, disabled, or deleted at the right moment. This is about the existence of the account itself.
What is standard: the membership level
At the membership level, JML is simply a result of your attributes. ServiceChanger keeps group and role memberships correct based on the attributes already in your directory (the bucket model).
- Joiner. As soon as the account has the right attributes (department, job title, location), the rules pick up the standard access. No ticket needed.
- Mover. When someone's department or job title changes, the membership changes with them. What no longer fits falls away.
- Leaver. When the attributes fall away or the status changes, the rules pull the access back.
What is custom: accounts from HR
Creating and deleting the account based on your HR system, that is, true onboarding and offboarding, is not a standard product button. The standard Access module does not create or delete accounts from an HR source. If you do want that, we build it as custom work on top of the same platform.
In practice:
- PowerShell scripts run in Azure Automation, in a runbook on hybrid workers.
- The scripts read the API of your HR system.
- Based on that, they perform actions on the local Active Directory and/or Entra ID: create, disable, or delete accounts, set attributes, and so on.
How the custom work works technically
The pattern is always the same: read the source, decide the action, perform it, and let the membership follow automatically.