Help Center
Offboarding

Offboarding

The Offboarding Board (in English, German, French and Spanish, following your language setting) shows every open and completed departure in your organisation, as a kanban board or a list (the choice is remembered on your device). People limited to some departments see only those departments' offboardings. People limited to "direct reports only" see the offboardings they started and the ones where they are the manager (the case's manager email is their own), whoever started them.


Offboarding stages

Every offboarding moves through five stages in order:

StageDescription
PendingCreated but not started yet (CSV imports, bulk offboardings, the API, and records started from a copy begin here). Move it on to Notice Period when you're ready.
Notice PeriodThe person is working their notice: knowledge transfer, exit interview
IT RevocationAccess is being removed across connected tools
Asset RecoveryCollect laptops, phones, badges and other equipment
CompletedOffboarding closed

Anyone who can edit offboardings can move a card forward or back one stage, with the card's arrows, by dragging it to the next column, or in bulk. A completed offboarding is reopened from its record page, and counts against your plan's limit again.

A sixth status, Canceled, is for a resignation that was withdrawn (see Canceling an offboarding). It is final and sits outside the stages.


Who can do what

PermissionBy default
See the boardoffboardings_viewEveryone
Start an offboarding, or start one again from a copyoffboardings_createSuper Admin, Admin, HR, Manager
Move stages, confirm asset return, edit detailsoffboardings_editSuper Admin, Admin, HR, Manager
Cancel or deleteoffboardings_deleteSuper Admin, Admin
Revoke access (Nuke Access)access_revocation_manageSuper Admin, Admin, HR
Legal holdSuper Admin, Admin

Custom roles can change these (Custom roles). The board only shows the buttons you can use; for example a manager sees "Waiting for someone who can revoke access" on a card in IT Revocation.


Creating an offboarding

Click Start Offboarding on the board header. The wizard has four steps:

  1. Employee Info - pick someone from your directory (fills in their role, department and worker type), then set the resignation date, the last working day (not before the resignation date), and the separation reason (resignation, termination, layoff, redundancy, retirement, contract end or other). The Manager's email is optional, and filled in from the employee directory when it knows the person's manager; it can't be the person's own address. The Microsoft 365 out-of-office reply names it, and Google Drive files can be transferred to it (Integrations). Offboardings started another way (bulk, CSV import, HRIS sync, SCIM, Slack, the API) get the manager from the directory too, when it knows one. You can change it later by editing the offboarding
  2. Select Apps - choose which connected integrations to revoke access to (apps found in your identity provider for this person are pre-selected)
  3. Assign Assets - optionally set an asset return deadline (it's set on every asset assigned to the person, and return reminders go out 2 days before), and apply a checklist template. Without one, a default checklist is used (a shorter one for contractors and vendors), plus a role template's checklist and apps if one matches the person's role
  4. Finalize - check the details and create the record

The new offboarding starts in Notice Period. A person can only have one open offboarding at a time (matched by email, ignoring capitals); a completed or canceled one does not count. A department left blank stays blank and shows as No department (it is no longer filled in as "Engineering"); someone limited to certain departments has to pick one of theirs.


Advancing stages

PurpletGo checks these gates on every path (the board, bulk actions, the API and automation rules):

  • IT Revocation → Asset Recovery: every app selected for revocation must be revoked, or confirmed as removed by hand
  • Asset Recovery → Completed:
    • every asset assigned to the person must be returned or marked lost, and someone must click Confirm Asset Return (it's refused while an asset is still out)
    • every checklist task must be done or marked Not needed (see below)

Editing the record can't get around these gates: from IT Revocation on, an app can only be taken off the list once its access is revoked, and the email can be changed but not removed.

Saving the stage a record is already in changes nothing and sends nothing.

Tasks that don't apply

On the offboarding's page, an open task has a Not needed? action: say why (for example "contractor, no payroll") and it counts as resolved. The reason and who marked it are shown on the task and recorded in the audit log; Needed after all puts it back. Marking a task not needed takes the permission to edit offboardings; ticking a task done is open to everyone, as before.

Completing with open tasks

When tasks are still open, Complete lists them. Super Admins and Admins can Complete anyway by giving a reason (for example an urgent termination, or a task owned by someone who has left). The reason and the list of open tasks go into the audit log. Only the checklist can be overridden: access and asset checks can't.


Revoking access

Nuke Access on a card in IT Revocation removes access for real in each connected app: accounts can be suspended or deleted and keys removed. The dialog warns before it starts. Revoke all access starts the revocation in the background, and the dialog shows each app's result and message as soon as that app is done:

  • Revoked / Nothing to revoke - done
  • Remove by hand - the app has no automatic revocation (or isn't connected). Remove the person there, then click I removed it by hand to record it
  • Failed - the message says why; fix it and Try again, or remove the person by hand and record it
  • Not attempted - the run stopped before it reached the app, so the person still has access there; Try again finishes it

You can close the dialog while the revocation runs: it keeps going. Open the dialog again to follow it. Meanwhile the offboarding's page shows Running: 2 of 5 apps (or Queued just before it starts), and each app's result once the run is over. An offboarding has one revocation at a time: starting another while one is going shows the one already running.

Apps are revoked one at a time, and each vendor gets 30 seconds to answer. A failure gives the vendor's HTTP status and its reason, for example Okta revocation failed (HTTP 403): Insufficient permissions; a timeout or connection failure says so. A run starts no new app after 8 minutes, and stops any vendor call still going at 10 minutes; the apps it didn't reach show Not attempted. A run cut short by a server restart shows as stopped, with the apps it finished.

Try again starts a new run for the whole case. Apps already revoked or recorded as removed by hand are skipped; every other app (failed, not attempted, by hand, or nothing to revoke) is sent to the vendor again.

Access is also revoked automatically when the last day ends (if Revoke access when the last day ends is on in Settings → General), with the same steps. Each offboarding due then runs on its own, several at a time, so a slow vendor for one person doesn't hold up anyone else. If a run doesn't finish (an error, or it's stopped by its time limit or a server restart), it's tried again 15 minutes later and then an hour after that, 3 attempts in all; after the third, HR, Admins and whoever started the offboarding are told by email and in-app. A run still going 20 minutes after it started is flagged on the record, and Admins are told. Changing the last day while the automatic revocation is still waiting to run, or to be retried, gives the new date all 3 attempts again. An app that fails or needs removing by hand is not retried automatically: the same people are told that it needs attention.

Once the last day has ended, a revocation someone starts from the dashboard counts as the automatic one only when it covered every app listed on the offboarding and each one ended revoked (or had nothing to revoke): the automatic revocation then doesn't run again, and a Failed one is cleared. Otherwise the automatic revocation still runs, and still tells HR and Admins about anything left over. Each run's progress is kept for 90 days (longer while the offboarding is under legal hold); each app's result stays on the record and in the audit log.


Filtering & search

Filter by department, separation type or stage (including Canceled, which is otherwise hidden), and use the quick filters (Active, Overdue, Legal Hold, Exiting This Week). Sort by last working day or name. The Completed column shows offboardings completed in the last 7 days, with the older ones one click away.

Dates are calendar dates: a last working day of 20 September shows as 20 September wherever you are. A record is overdue from the day after its last working day.


Bulk actions

Bulk actions are on the Starter plan and above. Select cards (the checkbox at a card's corner, or in the list) and a bar appears with:

  • Advance Stage / Revert Stage - moves every selected record one stage (needs the edit permission)
  • Delete - permanently removes the selected records and their files (needs the delete permission)

Up to 200 records at a time. Each record goes through the same checks as moving it alone: stage gates, your department scope, legal holds (held records are skipped) and, when reopening completed ones, the plan limit. The result lists what couldn't be done and why. Changing the search or filters drops hidden records from the selection.

⚠️

Bulk deletion is permanent and cannot be undone.


Canceling an offboarding

When a resignation is withdrawn, or a case was started by mistake, Cancel offboarding (in the record page's More menu, or the card's ⋯ menu on the board) keeps the record instead of deleting it. It needs the same permission as deleting, and a reason (5 to 500 characters), which is stored on the record and in the audit log.

Canceling is allowed from Pending, Notice Period, IT Revocation and Asset Recovery, not from Completed (move a completed case back a stage first if it was completed by mistake). It is final: a canceled case cannot be reopened; start a new offboarding for the person instead. Canceling:

  • cancels the scheduled access revocation if it has not run yet (access already revoked stays revoked: restore it in each app by hand)
  • revokes the self-service portal link, like completing does
  • puts the person back to Active in the employee directory
  • sends the same stage notifications as any status change (email, in-app, Slack or Teams, your offboarding.stage_changed webhook and the SIEM status_changed event, with status cancelled)

A canceled case is allowed under legal hold, since nothing is deleted; the audit entry notes the hold. Canceled cases leave the open-offboarding counts (the plan limit, the dashboard, reports) and the board's columns; pick Canceled in the board's status filter to see them, in their own column or in the list, and the public API lists them with status=cancelled. The record page shows when it was canceled, by whom and why.


Legal hold

Super Admins and Admins can place a record under legal hold from the card's ⋯ menu (a reason is required). A held record shows a Hold badge and can't be deleted, erased or purged by retention until the hold is lifted. It can still be edited, and every edit is recorded with before and after values.

A held offboarding can still be completed: the hold is about keeping the records, and completing deletes nothing (the person's access and directory record should still be closed off). The board asks you to confirm, and the completion's audit entry notes the hold.

Access can still be revoked on a held offboarding: the person is locked out, but what their data depends on is kept. For example, Google Workspace and Microsoft 365 accounts are suspended or disabled and signed out, but keep their group memberships (and, on Microsoft, their licenses), AWS credentials are deactivated rather than deleted, and a Google Drive transfer to the manager waits until the hold ends. Integrations has the details for each app.


Starting again from a copy

If someone needs to be offboarded again (say, a rehire who leaves again), open the card's ⋯ menu and choose Start again from a copy. This creates a new Pending offboarding for the same person with the same role, department, apps, separation type, worker type, custom fields and checklist tasks (not their progress), a resignation date of today and a last working day 30 days out. It's refused while the person still has another open offboarding, or when your plan's limit is reached.


Offboarding detail view

Click a card (or its name) to open the full record. From here you can:

  • Checklist - check off tasks, set due dates and SLA targets, and see AI-suggested additions (if the AI assistant feature is enabled)
  • Notes - add internal notes for the team
  • Assets - track and mark assets as returned
  • Access revocation - revoke access for the selected apps, record manual removals, and see the access audit log
  • Exit interview - schedule and record exit interview responses
  • Knowledge transfer - track handoff items, with an AI-generated KT summary where available
  • Documents - generate or attach compliance documents (e-signature support on every plan)
  • Timeline / event log - every status change and action on the record, timestamped: the latest 100 audit log entries about this offboarding (Super Admins, Admins and HR). Entries are found by the record, not by the person's name, so they are still listed after an erasure, with the person's details shown as [erased]

Every stage change, from any source, notifies your team the same way: the stage email, the in-app notification, Slack or Teams, your webhooks and SIEM (bulk changes send one summary to people and a webhook per record).