# Onboarding and offboarding runbooks with approval gates and verified access removal

> Onboarding and offboarding runbooks with approval gates, policy Q&A on Slack grounded in the HR knowledge base, and PII redaction before any data reaches a model.

- Canonical: https://www.brahmalabs.io/use-cases/hr/
- Department: HR & People Ops
- All departments: https://www.brahmalabs.io/use-cases/

## The reality in people ops

HR work is checklist work across systems that do not talk to each other. Onboarding touches identity, payroll, benefits, equipment, and the team calendar. Offboarding runs the same list in reverse, under time pressure, with security consequences when a step is missed. Meanwhile the same twenty policy questions arrive on Slack every week, and leave balances live in a spreadsheet one person truly understands.

The failure mode is rarely dramatic. It is a leaver whose accounts stayed live for three weeks because a deprovisioning ticket sat in a queue. It is a new hire spending day one waiting for logins. It is a benefits answer that varies depending on who happened to reply. None of this is hard work. All of it is unforgiving of dropped steps.

## What changes with governed agents

Runbooks become durable workflows. Each step in each system is a node; the run parks at approval gates and survives restarts, so a process that spans a notice period does not depend on anyone keeping a tab open. Every action lands in an append-only audit log. When security asks whether a leaver's access was removed, the answer is a link to the evidence, not a recollection.

The load-bearing trust point for HR is data handling. Employee records are personal data by definition, so guardrails redact PII before anything reaches a model, and guardrail events are hash-chained. The policy agent on Slack can only search knowledge bases it was explicitly granted: the search_kb tool's scope is fixed server-side, so a question about parental leave has no path into salary data or grievance files. Agents reach your HR systems through the credential vault — short-lived, scoped references, never raw secrets.

Operational records move out of spreadsheets into Data Tables: typed columns, views, and rows that agents and workflows read and write directly, with no export-import loop.

## What stays human

Every access grant and every revocation is approved by a person before it executes. Managers decide leave requests; the workflow only makes the decision cheap to make. Policy answers the knowledge base cannot ground go to a person in the Conversations inbox rather than to a guess. And the conversations that define HR — performance, grievances, exits — are not agent work at all. The platform's job is to make the mechanical parts verifiable so your team spends judgment where it matters.

## The workflows

### 1. Onboarding runbook

- **Trigger:** A new-hire record in the HRIS fires a webhook.
- **Flow:** The agent opens one durable run per hire, drafts account requests across IT, payroll, and workspace systems, creates the equipment ticket, and schedules first-week checkpoints.
- **Human gate:** IT approves every account grant before it executes; non-standard access escalates to the security lead.
- **Output:** Provisioned accounts, a per-hire row in the onboarding Data Table, and a timestamped entry for each step in the audit log.

### 2. Offboarding with verified access removal

- **Trigger:** The termination date arrives on schedule, or HR messages the agent on Slack to trigger an immediate exit.
- **Flow:** The agent enumerates the leaver's accounts across connected systems, proposes the revocation list, executes approved removals, then re-checks each system to confirm access is actually gone.
- **Human gate:** Security approves the full revocation list before anything is removed; any failed verification escalates to a named owner instead of closing quietly.
- **Output:** Every removal and re-check lands in the append-only audit log, with a completion report filed as a versioned artifact.

### 3. Policy Q&A on Slack

- **Trigger:** An employee asks a benefits or policy question in the HR Slack channel.
- **Flow:** The channel agent runs search_kb against the HR-public knowledge base — scope pinned server-side — and answers with the source passage and file cited.
- **Human gate:** Questions the knowledge base cannot ground route to the Conversations inbox, where an HR specialist takes over the thread.
- **Output:** A cited answer in the Slack thread, or a clean handoff with the conversation history intact.

### 4. Leave requests and records

- **Trigger:** A leave request arrives by email, or a weekly schedule reconciles balances.
- **Flow:** The agent extracts dates and leave type, checks the remaining balance in the leave Data Table, and drafts the approval request with the balance attached.
- **Human gate:** The manager approves or rejects from the reviewer inbox; no row changes until they decide.
- **Output:** An updated row in the leave table and a reply to the employee with the decision.

## Platform pieces this leans on

- Durable runs (pause days on an approval)
- HITL approvals with escalation chains
- PII guardrails (redaction before inference)
- Vector knowledge base + search_kb
- Channel agents (Slack, email)
- Data Tables
- Append-only audit log
- Credential vault

---

Brahmalabs — the AgentOps platform for production AI agents. https://www.brahmalabs.io
