The one thing that makes this work
Every grant Ravenna makes becomes an entitlement: a record that a specific person has a specific access level on a specific application, with status, expiry, and history. That record is what makes the last day a list rather than an investigation, and it gets more complete with every request that goes through Ravenna.Three stages, not one
Offboarding needs a middle stage onboarding does not, because one decision cannot be made at intake: where the departing person’s data should go. HR does not know. The manager does.HR intake
The manager confirms the handover
Each team executes on the last working day
1. Build the intake
Short, and mostly about timing.2. Ask the manager where the data goes
3. Know what they have before you start
Filter the Entitlements tab under Settings > Applications by user, before the last day rather than on it. You get every active grant with its access level, status, expiry, and time left, which is where you find the manual application granted eight months ago and the admin tier from a project that ended.4. Build the revocation workflow
The IT child ticket triggers this on Ticket Created. Order matters, because some steps remove the access the earlier ones need.Branch on urgency
Apply the offboarding task template
Wait until the last working day
Transfer the data first
Remove group memberships
Revoke what is left
Suspend the account, do not delete it
Verify and report
Let Copilot build it
Describe the end state and Copilot plans the workflow before creating anything.When a ticket is created in the IT offboarding channel, apply the IT offboarding task template. Wait until the last working day on the ticket, then transfer the departing user's Drive files and calendar to the recipient named on the ticket, remove them from all their identity provider groups, and suspend their account. Post the result on the parent ticket.
When an entitlement's status changes to Failed Revocation, create a ticket in the IT triage channel with the user, the application, and the access level, and post it to #it-ops.
5. Cover the other teams
The rest of the leaver checklist belongs to the teams that do it, on their own child tickets.6. Catch failed revocations
Add a workflow on Entitlement Status Changed, configured for Failed Revocation, that posts to your triage channel and assigns a ticket. That puts the one status you always want to act on in front of a person the moment it happens.7. Produce the compliance evidence
For SOC 2 and similar, the evidence already exists: entitlement history shows every grant and revocation with timestamps and status, and the ticket shows who did what and when, approvals included. Filter entitlements by user after the last day and you have the artifact an auditor asks for.To put it inside a compliance platform, push it there with a Foundry action or an HTTP Request step at the end of the workflow, writing the employee, the date, the applications revoked, the transfer destinations, and the suspension timestamp.8. Shrink the problem
The best offboarding is the access that already expired. Where an access policy sets a duration, the entitlement expires on its own, counted from when access was provisioned. Put durations on anything project-shaped: contractor accounts, vendor tools, elevated production tiers, temporary admin. Then offboarding only deals with permanent access.Then once a quarter, filter entitlements by application and review the list with each application owner. That catches the larger problem, which is people who are still here and no longer need what they have. A Cron trigger can create and assign the review ticket so it happens without anyone remembering.Where teams get this wrong
Revoking before transferring
Revoking before transferring
Deleting the account on the last day
Deleting the account on the last day
Treating manual revocation as done
Treating manual revocation as done
No immediate path
No immediate path
Silent failures
Silent failures
Ignoring untracked tools
Ignoring untracked tools