← All work
Applied AI/Enterprise RAG/2025/Delivered

Policy HR Assistant

Policy-grounded assistant that cut average HR response time by over 60%, wired into ticketing, approvals, escalations and Teams notifications.

OpenAIRAGMicrosoft TeamsVector search
Etihad Airways, Abu Dhabi
01

The problem

HR fielded the same policy questions thousands of times — leave entitlement, allowances, assignment rules, benefit eligibility. Answers lived in long policy PDFs that changed periodically, so staff either waited for a human or acted on an out-of-date copy.

02

Who uses it

3 groups

Employees

A direct answer about their own entitlement, with the policy clause attached.

HR advisors

The routine question volume taken off their queue so they can work the real cases.

Policy owners

Confidence that answers track the current document version, and visibility into what is being asked.

03

Workflow

6 stages
01Question in Teams
02Retrieve policy clauses
03Answer with citations
04Confident? deliver
05Unsure? raise a ticket
06Escalate & notify
01 · AskTriggerEmployee sends a question in Teams or the HR portalSystemTeams bot, portal endpointOutputQuestion captured with the requester's identity and unit
02 · RetrieveTriggerQuestion receivedSystemVector search over chunked, versioned policy documentsOutputTop clauses with document, section and version
03 · AnswerTriggerRelevant clauses retrievedSystemOpenAI model constrained to the retrieved textOutputA grounded answer that cites the clauses it used
04 · GateTriggerAnswer producedSystemConfidence and coverage check; out-of-policy topics blockedOutputDeliver, or hand over to a human with the context already gathered
05 · TicketTriggerHandover, or an employee asks for a personSystemTicketing integration, approvals where an action is neededOutputTicket created, pre-filled with the question and retrieved policy
06 · EscalateTriggerTicket ageing past its thresholdSystemEscalation rules, Teams notificationsOutputOwner notified, then escalated; resolution logged
04

How it was built

5 parts

Policy as versioned chunks

Policy documents are chunked along their own structure — section and clause, not fixed character windows — and every chunk keeps document, section and version metadata. When a policy is reissued the old version is retained but no longer retrieved, so answers cannot quietly drift onto a superseded rule.

Grounded answering

The model only sees retrieved clauses and is instructed to answer from them. Every answer cites the clause it used, which makes it checkable — an employee can open the section rather than trust the phrasing.

Knowing when to stop

Questions with weak retrieval, or that touch individual cases rather than policy, are not answered. They are handed to a human with the question and retrieved context already attached, so the handover costs the advisor nothing.

Wired into the process, not bolted on

The assistant sits inside the existing flow: Teams for the conversation, ticketing for anything needing a human, approvals where an action follows, and escalation timers with notifications so nothing stalls unseen.

Feedback loop

Questions the assistant could not answer are logged and reviewed. Recurring gaps point at policy that is missing, ambiguous or badly structured — the review loop improved the documents, not just the retrieval.

05

What it is built with

Model

  • OpenAI models
  • Prompt constraints
  • Citations

Retrieval

  • Chunking
  • Embeddings
  • Vector search
  • Versioning

Integration

  • Microsoft Teams
  • Ticketing
  • Approvals
  • Escalations
06

Outcome