# The open-source HR policy agent that drafts replies for HR to send

> An HR policy agent should answer only what the policy library already documents, then hand the reply to a person. Kortix is the open-source AI Operating System, and the HR policy agent it runs reads the inbox every 15 minutes, drafts a cited answer from the Notion library, and escalates anything ambiguous, legal, personal or about compensation to Slack.

URL: https://aiagentsforhrguide.com/hr-policy-qa-agent

## The rules the policy desk runs under

`hr-policy-qa.md`

```
The agent never invents, infers, or extends a policy beyond what's written in the Notion library.
If the library doesn't clearly cover the question, it escalates instead of guessing.
Every reply the agent writes is a Gmail draft. HR reviews and sends it; the agent has no send authority.
Anything ambiguous, legal in nature, about an individual's personal situation, or related to compensation is routed to Slack for a human, with no attempted answer.
The agent never edits a Notion page.
```

Source: https://kortix.com/markdown/use-cases/hr-policy-qa.md

Four guardrails from the write-up of Kortix's own HR policy desk.

## Documented answers wait in the same queue as everything else

Four questions land in an HR inbox most weeks: how much unused PTO carries into January, whether a month of remote work from another country is allowed, what a conference expense actually covers, and when parental leave starts accruing. Each answer is already written down in a policy library the whole company can read.

The inbox cannot tell them apart. A question about sick days and a message that opens with "I need to discuss a medical accommodation" sit in the same list, and somebody has to read both before deciding which one they are. Triage competes for the attention the hard conversation needed.

A handbook page helps the employee who thinks to open it. A link to the handbook in an auto-reply does not find the section that settles the question, and it cannot quote it either. So the routine questions compete with the exception requests and the legal ones, and they win most of the time, because there are more of them.

## The reply stops at a draft

In the policy desk Kortix runs for its own HR inbox, the agent reads the inbox and the policy library, writes nothing but a draft, and holds no send authority at all. Every answer it writes becomes a Gmail draft that quotes or closely paraphrases the policy section behind it. HR reads the draft, checks the quote, and presses send.

That one missing permission does most of the work. A wrong retrieval is caught before an employee reads it. The reply that arrives comes from a person's address, sent by a person who chose to send it. The quote in the draft is checkable in seconds, because the draft names its source.

Automatic sending is the first thing a team asks for, since it removes the last click. It also removes the one moment when a confident wrong answer can still be stopped.

## The policy library is the whole source of truth

The agent searches Notion, read-only, for the page that answers the question, and it drafts from that text. Where the library does not clearly cover the question, the agent escalates instead of reasoning its way to a plausible answer. It cannot grant, waive or bend a rule, and it never edits a policy page.

That constraint gives a team something to improve. When a question arrives that the handbook never addressed, the escalation is evidence of a gap. HR writes the missing paragraph once, and the next employee who asks gets a draft instead of another thread in Slack.

## Four kinds of question never get an answer

Anything ambiguous, legal in nature, about an individual's personal situation, or related to compensation goes to the HR Slack channel. The post carries the question and the reason it needs a person. The agent attempts no reply. Whoever picks it up has the question and the routing reason together, which is the context they would otherwise spend ten minutes rebuilding from the thread.

## What a person is still doing

Three jobs stay with HR: reviewing drafts, answering the escalations, and owning the policy text. The first shrinks in volume. The second is where the judgement sits, and it arrives without a stack of routine questions queued in front of it.

## Configuring the same shape on another inbox

A cron trigger fires every 15 minutes and starts a fresh session in its own sandbox. Each run begins with no memory of the last one, so run two hundred behaves like run one. Gmail's own labels record which threads have been handled, so a restart loses nothing and nothing is processed twice.

Three connectors do the work: Gmail for reading threads and writing drafts, Notion for the policy text, Slack for escalations. Connector credentials are brokered server-side and never enter the machine. The rules that separate a documented question from one that needs a person live in a skill that travels with the agent. The skill holds what counts as answerable, where the escalation bar sits, and how closely a draft must follow the source text.

Connector actions follow the policy the team sets, call by call. Approval gates you set. Off until you set them. On an HR inbox the gate earns its place on any write that reaches past a draft.

The same shape runs the other HR workflows. [Five of them are on the home page](/), from onboarding to interview scheduling, each ending at a person.

## Where the other tools point the answer

Workativ's HR agent gives employees grounded answers from approved knowledge and moves an exception to a human through its Shared Live Inbox, keeping the context already collected ([workativ.com](https://workativ.com/blog/ai-agent-for-hr-policy-questions-how-to-give-every-employee-accurate-policy-answers-without-hr-getting-involved)). Krista answers from handbooks and policy documents, filtered by role and location, and has a human-in-the-loop step for escalation ([krista.ai](https://krista.ai/solutions/hr-policy-qa-agent/)). StackOne supplies the connectors an agent needs to read an HRIS and search policy documents, with escalation as one step in its four-step flow ([stackone.com](https://www.stackone.com/use-cases/ai-agent-hr-policy-chatbot/)). Copilot Studio is where a team assembles an agent from uploaded documents and publishes it into Teams and SharePoint ([microsoft.com](https://www.microsoft.com/en-us/copilot/products/copilot-studio)).

Three of the four put the answer in front of the employee: in a chat window, a self-service portal, or a Teams conversation. StackOne is the odd one out, because it sells the connectors an agent calls to reach the HRIS and the documents. That design fits a benefits portal, where the reader is the person asking. A policy library is a different kind of document: the record of what the company promised, and the thing an exception gets measured against. Where that record is what is at stake, the first reader of a new answer should be the person accountable for it. An HR lead can send a wrong draft back. An employee has already read it.

## What the company keeps, and what the record shows

The policy text, the escalation list, the tone of the drafts and the permissions are the company's own. The library stays in Notion, and the agent reads it without editing. The triage rules live in a skill. Connector reach sits in the project's configuration file, so a reviewer can diff a change to who may read the inbox. A settings-screen edit lands on the default branch as a commit, which is why the diff is the thing to keep. [The governance page](/hr-ai-governance-and-approvals) covers those files in detail.

Every action is recorded. Reading, exporting and streaming the audit log depend on the plan. A month later, someone can open the sessions and see which threads were read, which drafts were written and which questions went to Slack, without asking anyone to remember.

Open source. Read it, fork it, audit it. The agent, the triage skill and the connector scopes sit in a repository the company owns, so the security reviewer who signs off on an HR system can inspect them before the first draft is written.

_FAQ_

## What people ask before wiring an HR inbox

### What are the 5 components of an AI agent?

A model, the instructions it works from, the tools it may call, the knowledge it reads and the trigger that starts it. On the policy desk the knowledge is the Notion library, the tools are Gmail, Notion and Slack, and a cron trigger starts each run.

### What is an AI agent for HR?

Software that takes one recurring HR task from question to finished output, using the company's own documents and systems, and stops at the decision a person has to make. For policy questions it finds the section that answers the request and writes the reply.

### Can an HR policy agent approve an exception?

No. It drafts from documented policy and escalates the rest, because granting, waiving or bending a rule is a decision for HR. A case the library never covered shows up as an escalation instead.

### Does the agent read employee records?

On this setup it reads the HR inbox and the policy library and posts escalations to Slack. It has no HRIS connection, so a question about a leave balance or someone's pay goes to a person.

## Put the policy desk on an inbox you own.

The agent drafts from documented policy. A person sends, and a person decides the rest.

[Try Kortix](https://kortix.com)
