Somebody chases a joiner because somebody else is waiting on them. Nobody chases a leaver, which is exactly why leaver access is what turns up in the audit.
The joiner, mover and leaver process gets automated against user attributes, so a departure fires the same dependable sequence that an arrival does. It runs to a schedule, keeps a history of everything it did, and takes the whole thing out of the hands of whoever might otherwise have remembered. That last property is precisely what a SOC 2 examiner or a HIPAA assessor wants sitting behind your termination procedure.

- 3 phasesJoiner, mover and leaver
- 4 triggersAttribute, group, time and sign-in inactivity
- 3 hoursDefault evaluation interval once scheduled
- 100Maximum workflows in a tenant
Eight things that decide whether the automation is reliable.
Joiner, mover and leaver as one model
A joiner is somebody entering the scope of needing access. A mover is somebody crossing a boundary inside the business. A leaver is somebody exiting that scope entirely. Modeling all three as one system is what stops leaver handling from being an afterthought bolted onto the side of an onboarding process.
Tasks plus execution conditions
Every workflow has two halves. Tasks are the actions it performs when it runs. Execution conditions define who falls in scope and what makes it trigger. The worked example in the documentation is emailing a manager seven days ahead of the employeeHireDate attribute value, which shows the shape as clearly as anything.
Four scheduled triggers to choose from
Four kinds: a change to an attribute, a change in group membership, something time based, or sign-in inactivity. That final one is more valuable than it first appears, because it catches accounts nobody ever formally offboarded on account of nobody having told IT. That is the exact category responsible for the worst audit findings.
Scheduling is not on by default
A newly created workflow arrives enabled, but scheduling is a separate switch somebody has to turn on by hand. This catches people out regularly, because a workflow can look active and perfectly configured while never actually running. With scheduling on, evaluation happens at whatever interval is set in workflow settings, which defaults to every three hours.
Attributes must be there before the trigger time
With a time based trigger, every relevant trigger and scoping attribute has to be on the user account before the scheduled execution arrives. There is some tolerance for HR running late: where setup happens after the fact, the workflow will still try to process that user, provided the setup finishes within three days of the original processing time.
It complements HR-driven provisioning rather than replacing it
The split is documented plainly. HR provisioning handles creating user accounts and keeping their attributes updated. Lifecycle workflows add automation around that, doing the tasks provisioning does not. Anyone already syncing from an HR system is layering onto what they have rather than replacing it.
What it can do beyond group membership
Static groups can be managed with no dynamic group rule involved at all, and you do not need a rule per group, because the rule defines which users are in scope rather than which group is being acted on. Workflows can also operate on the group itself rather than only its membership, and they can assign or remove access packages.
History and versioning for the audit conversation
History is viewable three ways, by user, by run and by task, and workflows carry versioning so that changes to tasks or to scope appear separately in the logs. Those two features together are what turn automated joiner and leaver handling into something you can evidence, rather than something that is merely efficient.
Run a workflow on demand and it disregards its own execution conditions entirely.
This is documented plainly, and no other detail causes more confusing test results during a pilot.
- Trigger a workflow on demand against a user and it makes no assessment of whether that user meets the execution conditions. The tasks run either way. What that means is your on-demand test has proven the tasks function, and has proven precisely nothing about whether your scope and trigger are right.
- Testing scope and trigger means running it on the schedule, which brings you to the second behavior. Scheduling has to be turned on by hand, even though a newly created workflow is enabled by default. The result is a workflow that reads as correct and active while sitting there doing nothing at all.
- With scheduling enabled, evaluation runs at whatever interval workflow settings specifies, three hours by default. That interval is the resolution of the entire system, so your leaver process is accurate to within that window. It is not instantaneous, and planning around it as though it were causes problems.
- Third comes the three day grace period, which is worth building into your plan. With a time based trigger the attributes need to be in place before the scheduled execution. Where HR runs late and they arrive afterwards, the workflow will still make the attempt, provided setup completes inside three days of the original processing time.
Four things that make this reliable rather than impressive.
We fix the attributes before we automate
Trigger a workflow seven days ahead of employeeHireDate and you have made yourself dependent on that attribute being populated, accurate and there in time. The requirement is that the account carries its trigger and scoping attributes before execution. Automate on unreliable data and the one thing you get reliably is failure.
We test scope through scheduled runs, not on demand
An on-demand run applies the tasks whether or not the user meets the execution conditions. That makes it genuinely useful for validating tasks and completely useless for validating scope. A pilot built on on-demand testing goes live full of confidence and then processes the wrong set of people.
We check that scheduling is actually enabled
A new workflow arrives enabled, while scheduling remains a separate switch somebody has to throw manually. So a workflow can be correct in every single respect and never run once. Checking it takes two seconds, which is why it belongs in the handover checklist rather than being left to memory.
We design for the audit conversation
Being able to read history by user, by run and by task, with versioning keeping later changes traceable, is what converts this from an efficiency exercise into evidence. Leaver access removal is among the most frequently requested items during SOC 2 and HIPAA fieldwork, and this produces a genuine record instead of an export from a ticket system.
Four phases across roughly six to eight weeks.
- 01Weeks 1 to 2
Fix the attributes before automating anything
Anything triggered by employeeHireDate or employeeLeaveDateTime inherits the reliability of those two attributes and nothing more. So the prerequisite is establishing what is actually populated, how accurate it is, how promptly it arrives, and who owns keeping it right. Build a workflow on poor data and all you have done is automate the wrong outcome at scale.
- Attribute population and accuracy measured
- Source of truth and update path confirmed
- HR data timeliness measured, and compared against the three day tolerance
- Attribute ownership assigned
- 02Weeks 3 to 4
Design the workflows and choose triggers deliberately
We decide which processes get automated and which trigger each one runs on, choosing against data quality rather than whichever option looks easiest. Creating a workflow through the admin center means starting from a template, and the template dictates which tasks are even available to you, so that choice has to happen early rather than late.
- Workflow catalog defined against the 100 workflow limit
- Trigger and scope chosen per workflow with reasoning
- Templates selected and task lists agreed
- Logic app extensibility identified where needed
- 03Weeks 5 to 6
Build and test properly
This is the phase where the on-demand behavior starts to matter. An on-demand run exercises the tasks and disregards execution conditions completely, which means scope and trigger can only be validated through scheduled execution, with scheduling explicitly switched on first.
- Workflows built from templates
- Tasks validated by on-demand execution
- Scope and trigger validated through scheduled runs
- Scheduling enabled and interval confirmed
- 04Weeks 7 to 8
Operate, evidence and hand over
Administration is delegated to the Lifecycle Workflows Administrator role, history gets reviewed through the users, runs and tasks views, and versioning is understood well enough that later changes stay traceable. What comes out the other end is the artifact an audit actually wants: evidence that the joiner and leaver processes ran, user by user.
- Delegated administration configured
- History review routine established
- Versioning approach agreed for future changes
- Audit evidence path documented
Six situations where lifecycle automation pays back quickly.
A business where leaver access keeps appearing in audits
This drives more of these engagements than anything else. Leaver handling hangs on a ticket somebody has to remember to raise, and every exception stays invisible until an access review eventually stumbles across it. A scheduled leaver workflow removes that dependency entirely, and the history it leaves behind is exactly what an auditor asks for.
An operator with contractors and seasonal staff
Manual offboarding collapses fastest wherever turnover is high, because the volume is relentless and no single person owns any individual departure. A time based trigger on the end date handles the planned departures, and a sign-in inactivity workflow behind it catches the ones nobody reported.
A regulated business being asked to prove its joiner and leaver control works
An examiner, a SOC 2 auditor or an FTC Safeguards assessment will ask for a sample of joiners and leavers with dates attached and evidence of what was actually done. Reading history by user, by run and by task hands that over directly, instead of somebody spending two days reconstructing it from a ticket system and an old email thread.
An organization where internal moves cause access accumulation
Movers are the problem nobody talks about. Each new role brings new access and almost never takes the previous set away. An attribute change trigger watching department or job title, paired with access package removal, deals with that accumulation directly, rather than leaving it for an access review to clean up months afterwards.
An employer where access has to end on the same day the employment does
Where a departure carries an immediate access consequence, which is what HIPAA workforce termination procedures expect, the interval between somebody last working and their ticket being processed becomes a governance problem in itself. A scheduled workflow evaluated every three hours narrows that gap to a figure you can state out loud with confidence.
A company that already runs HR-driven provisioning
Account creation and attribute updates stay with HR provisioning. Lifecycle workflows sit around that and automate the tasks: issuing a temporary access credential, emailing a manager ahead of a start date, stripping access packages when somebody leaves. It extends what already works instead of replacing it.
How US organizations handle joiners, movers and leavers.
| Feature | Automated with workflows | HR sync plus manual tasks | Ticket driven |
|---|---|---|---|
Account created on time | Yes | Yes | Usually |
Pre-hire preparation automated | Yes | Manual | No |
Mover handled consistently | Yes | Inconsistent | Rarely |
Leaver access removed promptly | On schedule | Depends on the ticket | Depends on the ticket |
Unreported leavers caught | Sign-in inactivity trigger | No | No |
Access packages assigned and removed | Automated | Manual | Manual |
Evidence of what ran, per user | History views | Ticket records | Ticket records |
Change traceable | Versioning | No | No |
Dependent on somebody remembering | No | Partly | Entirely |
Scales with headcount | Yes | Poorly | No |
Four trigger types, and what each is genuinely suited to.
Trigger
Time based
- Fires when
- A user reaches a date or time value you specified
- Best used for
- Pre-hire preparation and scheduled departures
Trigger
Attribute changes
- Fires when
- A defined attribute changes for a user
- Best used for
- Role, department and status changes
Trigger
Group membership change
- Fires when
- Somebody joins a group, or is taken out of one
- Best used for
- Access tied to team or project membership
Trigger
Sign-in inactivity
- Fires when
- An account has gone without a sign-in for a period you set
- Best used for
- Accounts nobody formally offboarded
Trigger
On demand
- Fires when
- An administrator runs it manually
- Best used for
- Exceptions, and testing the tasks only
Trigger
Depends on
- Fires when
- Attribute quality in the source of truth
- Best used for
- Which is the real constraint in most estates
Trigger
Evaluation resolution
- Fires when
- The scheduling interval, three hours by default
- Best used for
- So nothing here is instantaneous
Trigger
Late attribute tolerance
- Fires when
- Three days after the original processing time
- Best used for
- For the time based trigger
Trigger
Scope configured by
- Fires when
- A rich set of user properties
- Best used for
- Department, country, job title and more
Trigger
Creation route
- Fires when
- A template, in the admin center
- Best used for
- Templates define which tasks are available
Five steps, and the first one has nothing to do with workflows at all.
- 1
Assess attribute quality and timeliness
We establish whether hire and leave dates are populated, whether they are accurate, whether they arrive in time, and who is accountable for keeping them right. Since the time based trigger only tolerates late setup within three days of the original processing time, how long your HR data takes to appear is a design input rather than a footnote.
- 2
Define the workflow catalog
We decide which joiner, mover and leaver processes get automated, working inside the tenant limits of 100 workflows and 100 custom task extensions. Templates are chosen at this stage rather than later, because creating a workflow in the admin center requires one and the template you pick governs which tasks are available to you afterwards.
- 3
Choose triggers against data quality
Each workflow gets a trigger chosen on the basis of what data can genuinely be relied upon: time based, attribute change, group membership change, or sign-in inactivity. That last one earns its place specifically because it catches the accounts nobody ever formally offboarded.
- 4
Build, then validate scope through scheduled execution
Tasks get validated through on-demand runs, while scope and trigger have to be validated through scheduled ones, since an on-demand execution applies the tasks whatever the execution conditions say. Scheduling is explicitly switched on as part of this, being a separate control from whether the workflow itself is enabled.
- 5
Delegate, evidence and hand over
Administration is delegated using the Lifecycle Workflows Administrator role, a routine is established for reviewing history across the users, runs and tasks views, and versioning is agreed so that a future change shows up traceably in the logs rather than quietly altering how things behave.
What US organizations ask about lifecycle workflows.
Fifteen questions worth answering first.
Data
- Is employeeHireDate populated for everyone?And accurate.
- Is a leave date recorded before departure?Not after.
- How late does HR data typically arrive?The tolerance is three days.
- Who owns attribute accuracy?Name them.
- Do we already run HR-driven provisioning?This complements it.
Design
- Which processes are we automating?Against a 100 workflow limit.
- Which trigger suits each one?Four scheduled types available.
- Do we need sign-in inactivity handling?For unreported leavers.
- Which templates give us the tasks we need?Templates define availability.
- Do we need logic app extensibility?For complex scenarios.
Operation
- Is scheduling actually enabled?It is manual, and separate from enabled.
- What interval is set?Three hours by default.
- Do we understand on-demand behavior?It ignores execution conditions.
- Who holds Lifecycle Workflows Administrator?The delegated role.
- How will we evidence this to an auditor?History by user, run and task.
Work out what share of your user accounts carry a hire date that is both present and correct.
Every time based workflow rests on that attribute, and it has to be in place before the trigger fires, with only three days of tolerance behind it. A low number means what you have in front of you is a data project, and the automation comes afterwards.
Related Services
Explore more solutions that work great with this service
Microsoft Entra ID Governance
Entra ID Governance implementation for US organizations: automating
Learn moreMicrosoft Entra Entitlement Management
Access packages, catalogs and time-boxed entitlements
Learn moreMicrosoft Entra Access Reviews
Entra access review programs for US organizations: entitlement
Learn moreMicrosoft Entra Privileged Identity Management
Privileged Identity Management deployment for US organizations:
Learn moreMicrosoft Entra
Identity and access management solutions
Learn moreMicrosoft Entra ID P1 and P2 Licensing Review
Independent Entra ID P1 against P2 advice for US organizations:
Learn more