Start form
Employee offboarding
Filled in by whoever starts the process
HR & People package
A manager submits a leaver; access is revoked on the right day, equipment recovered, final pay scheduled, the exit interview held and the termination recorded.
About this package
Employee offboarding coordinates everything that has to happen when someone leaves. A manager or HR fills in the start form: employee number, last working day, reason, whether they are eligible for rehire and any notes.
The workflow reads the employee from your HR system (job, manager, privileged access, devices, leave balance) and evaluates the Offboarding controls decision table. Dismissals and leavers with privileged access lose access immediately; others on their last day. The table also decides whether an exit interview is offered and whether garden leave applies.
IT then revokes access and recovers equipment (the manager is emailed if anything is outstanding), payroll confirms the leave payout and final pay date, and HR runs the exit interview when required. The termination is recorded in the HR system, and the leaver and manager receive confirmation emails. Adapt the control rules to your security policy and the API paths to your HR system.
Starts from a form: the manager or HR fills in the leaver details (Run dialog in the app, or your HR portal posting them to the start API).
Someone fills in a form to start it: the workflow inputs are the start form (Run dialog in the app, or your own portal posting to the API), and people complete User Task forms along the way.
The flow
Leaver submitted
The start form collects the employee number, last working day, reason, rehire eligibility and notes.
Read the employee
Get employee returns the job, manager, privileged access flag, issued devices and leave balance.
Apply the controls
The Offboarding controls decision table sets the access revocation timing, exit interview and garden leave.
IT revokes and recovers
IT disables accounts and recovers devices; the manager is emailed if anything is outstanding.
Payroll and exit interview
Payroll confirms the leave payout and final pay date; HR runs the exit interview when the controls require one.
Record and confirm
The termination is recorded in the HR system and the leaver and manager get confirmation emails.
Forms
The workflow inputs are the start form: the Run dialog renders them, and your own portal can post the same fields. User Tasks show their fields and outcome buttons to the assignee.
Start form
Filled in by whoever starts the process
User Task
Offboard {{employee_name}}: revoke access ({{revocation_timing}}) and recover equipment
User Task
Final pay for {{employee_name}} (last day {{last_working_day}})
User Task
Exit interview with {{employee_name}}
From your code
Every workflow can be started over REST, MCP or the CLI, whatever its trigger, with the sample input below. Runs start straight away on the published version; replace <workflow id> with the id the install created.
REST
curl -X POST "$USERTASKS_URL/api/v1/workflows/start" \
-H "Authorization: Bearer $USERTASKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"workflow_id":"<workflow id>","variables":{"employee_id":"E-1042","last_working_day":"2026-11-27","reason":"resignation","rehire_eligible":true,"notes":"Four weeks notice. Handover of the on-call rota to the platform team."}}'CLI
usertasks workflows inputs <workflow id> # the start form: keys, types, required
usertasks workflows run <workflow id> --input employee_id=E-1042 --input last_working_day=2026-11-27 --input reason=resignation --input rehire_eligible=true … --waitInbound webhook
usertasks webhooks create <workflow id> # prints the hook slug and secret once
curl -X POST "$USERTASKS_URL/api/webhooks/inbound?hook=<slug>" \
-H "Authorization: Bearer <webhook secret>" -H "Content-Type: application/json" \
-d '{"employee_id":"E-1042","last_working_day":"2026-11-27","reason":"resignation","rehire_eligible":true,"notes":"Four weeks notice. Handover of the on-call rota to the platform team."}'What's included
| Type | Name | Details |
|---|---|---|
| Email template | Equipment outstanding | Sent to the manager when IT could not recover every device or disable every account. |
| Email template | Leaving information | Sent to the leaver with their last day, final pay date and what to return. |
| Email template | Offboarding complete | Sent to the manager when the termination is recorded and final pay is scheduled. |
| Integration | HR system | |
| API reference | Get employee | GET /employees/{{employee_id}} — Employee record: name, email, job, manager, privileged access flag, issued devices and remaining annual leave. |
| API reference | Record termination | POST /employees/{{employee_id}}/terminations — Record the termination in the HR system with the last day, reason, rehire flag and final-pay details. |
| Decision table | Offboarding controls | 6 rules — Controls for a leaver by reason and privileged access: when access is revoked, whether an exit interview is offered and whether garden leave applies. First matching rule wins. |
| Workflow | Employee offboarding | 17 steps — A manager or HR submits a leaver; the offboarding controls decide access timing, exit interview and garden leave, then IT, payroll and HR complete their steps and the termination is recorded. |
Requirements
Credentials never travel in a package. The install wizard asks for what your environment must provide, or installs it incomplete until you finish setup.
Integration “HR system”Required
Workflow “Employee offboarding” assigneesRequired
Install
Works on UserTasks cloud and on any self-hosted instance. Installing creates the assets above; nothing runs until you complete setup and start it.
curl -fLO https://usertasks.com/gallery/employee-offboarding-1.0.0.utpkg
usertasks packages inspect employee-offboarding-1.0.0.utpkg # offline: checksum, hashes, signature
usertasks packages install employee-offboarding-1.0.0.utpkg --dry-run
usertasks packages install employee-offboarding-1.0.0.utpkg # prompts for each requirement
usertasks packages install employee-offboarding-1.0.0.utpkg --keep-incomplete --yes # in CI; finish with:
usertasks packages complete employee-offboarding -f values.yamlVerify the download
shasum -a 256 employee-offboarding-1.0.0.utpkg should print the file SHA-256. How gallery packages are signed.
Versions
Installing a newer version upgrades in place: local credentials and requirement values are kept, and changes you made are flagged first. How packages work
More packages
HR & People
HR enters a new hire; the HR record, laptop, accounts, buddy and first-week plan are all arranged before day one, with a 30-day check-in.
Needs:REST APIAssigneesEmail
HR & People
Employees request kit from an equipment catalogue; a cost and role policy routes approval, IT fulfils the request and the asset is registered.
Needs:REST APIAssigneesEmail
HR & People
Employees request leave from a form; the balance, leave-type rules and an approval policy decide auto-approval, manager or HR review, then the leave is booked.
Needs:REST APIAssigneesEmail