IAMV Consulting
Back to case studiesAI Agents

AI People Analytics: People Analytics Specialist on Slack

People indicators in natural language, directly in Slack, without opening a dashboard.

HR domains covered by the agent
5 (Hiring, Team Metrics, eNPS, Payroll, People Development)
People indicators queryable in natural language
12+
Systems the user needs to open for consultation
Zero

The challenge

Leaders make decisions about headcount, hiring, turnover, and engagement every day, but the data that supports these decisions resides in static dashboards or behind a queue of requests to the data team. The cycle is well-known: the manager needs a number, opens a ticket or messages the analyst, waits, and by the time the answer arrives, the decision has already been made based on intuition.

For the People Analytics team, the cost is the opposite. The same recurring questions ("how many open positions this month?", "what is the voluntary turnover for the last quarter?") consume the schedules of analysts who should be producing higher-value analyses. There was a need for a controlled and secure self-service path, without granting direct access to the warehouse for those who do not write SQL.

The solution

An AI agent that resides where leadership already is: Slack. When a leader sends a question in natural language, the workflow in n8n detects the message, identifies the user, and triggers the orchestrating agent, a GPT-4.1 via Azure OpenAI defined by a system prompt structured as "Strategic Partner of People Analytics." The agent interprets the intent, selects the corresponding data tool, executes the query in the data warehouse asynchronously, and returns the formatted answer in the conversation itself.

The architecture is multi-agent and tool-oriented: multiple sub-workflows, each mapped to a specific table or view of the warehouse, which the orchestrator selects dynamically based on the question. A reusable integration sub-workflow receives the SQL query, triggers execution via REST API, waits for completion with polling logic, and uses a second LLM chain to summarize the raw result into a readable format for the agent. Conversational memory scoped by Slack ID allows for multi-turn conversations, and each query logs who is accessing the data.

How it works

The manager writes in Slack as they would to an analyst: "How many positions are open this month?". The trigger filters bot messages, enriches the context with the sender's profile, and delivers the question to the orchestrator, which covers five domains: Hiring, Team Metrics, eNPS, Payroll, and People Development.

The agent has access to metrics such as headcount, turnover, attrition, salary positioning, hours bank, eNPS, climate survey response rate, time to hire, time to fill, job pipeline, payroll composition, and individual movement history. These are the most recurring questions from leadership, answered without opening any dashboard. Before sending, a code node converts the Markdown of the response to Slack's native syntax. Follow-up questions in the same session maintain context: the agent remembers what was asked before.

All behavior is governed by the system prompt and the Tool Workflows. Pointing the agent to another SQL warehouse requires only updating the HTTP endpoint and the query templates in the integration workflow.

Results

  • Self-service people data for leadership, with 5 domains and 12+ indicators queryable in natural language
  • Zero additional systems for the user: question and answer occur entirely in Slack
  • Embedded governance: bot filtering, identification of the requester in each query, and access to the warehouse restricted to pre-mapped tools
  • Recurring leadership questions no longer turn into tickets in the data team's queue, allowing them to focus on higher-value analyses

The takeaway: in people analytics, the barrier is rarely a lack of data. It is the distance between where the data resides and where the decision is made. Putting the warehouse a Slack message away changes who can use it.