Inspiration
HR teams sit on rich workforce data — performance trends, compensation insights, attrition risk, and engagement signals — yet extracting meaningful insights often requires dashboards, manual reporting, or dedicated data teams.
We wanted to rethink HR analytics. What if workforce intelligence could be accessed conversationally — securely, contextually, and in real time — without sacrificing governance or structure? Our goal was to build an enterprise-safe, AI-powered system where both HR leadership and operational teams could interact with workforce data naturally across multiple interfaces. That vision became ElasticHR Copilot.
What it does
ElasticHR Copilot is a dual-channel, multi-agent HR intelligence platform built on Elastic Serverless. It enables:
- Leadership teams to interact with domain-specific AI agents in Elastic Agent Builder.
- Slack users to query workforce data conversationally.
- Secure, index-level access control for HR domains.
- Real-time analytics powered by ES|QL.
The system operates across three specialized domain agents: HR Insights Agent, Performance Intelligence Agent, and Compensation Analytics Agent. Each agent is restricted to specific Elastic indices, ensuring clear separation of concerns and controlled data exposure.
How we built it
Architecture Overview
Elastic Serverless (ES|QL + domain indices) acts as the single source of truth. Two access layers sit on top:
- Elastic Agent Builder (Leadership Interface): Direct interaction with domain-restricted AI agents and strategic workforce analytics.
- Slack Bot + Backend (Hosted on Render): Integration via Slack Events API, intent detection, and structured ES|QL query execution.
Analytical Model
Workforce analytics calculations are expressed formally and executed via ES|QL. For example, the average salary per department is calculated as:
$$\text{Average Salary}{dept} = \frac{\sum{i=1}^{n} \text{Salary}_i}{n}$$
Projected payroll increases after a hike use the following formula:
$$\text{New Salary} = S + \left( \frac{h}{100} \times S \right)$$
Where:
- $S$ = Current salary
- $h$ = Hike percentage
- $n$ = Number of employees in department
Challenges we ran into
- Intent Mapping Accuracy: Translating natural Slack queries into structured ES|QL required reliable routing logic and fallback handling.
- Domain-Level Data Separation: Ensuring HR, performance, and compensation data remained isolated demanded careful index modeling.
- Query Determinism: We avoided fully free-form LLM query generation in Slack to maintain precision and trust in analytics.
- Cross-Channel Consistency: Keeping Elastic Agent Builder responses aligned with Slack outputs required a shared data access strategy.
Accomplishments that we're proud of
ElasticHR Copilot introduces a governance-first, domain-driven AI architecture. Key innovations include:
- Dual-channel conversational access (Elastic UI + Slack).
- Multi-agent domain isolation.
- ES|QL-powered real-time analytics.
- Enterprise-ready data control.
What we learned
- ES|QL enables powerful structured analytics when combined with conversational interfaces.
- Governance must be built into the architecture — not added later.
- Domain isolation simplifies scalability and maintainability.
- Balancing LLM flexibility with deterministic query logic is essential for enterprise trust.
What's next for ElasticHR Copilot
- Attrition risk modeling using historical signals.
- Sentiment-driven engagement scoring.
- Role-based Slack access control.
- Executive KPI dashboards powered by ES|QL.
- Workforce anomaly detection.
Built With
- cloud-hosting
- elastic-agent-builder
- elastic-cloud
- elasticsearch-serverless
- esql
- express.js
- intent-routing
- javascript
- node.js
- render
- rest-api
- slack-api
- slack-events-api
Log in or sign up for Devpost to join the conversation.