Last year, my team was bleeding engineers. Not a trickle, but a steady, demoralizing stream. We’d lose someone, HR would conduct an exit interview, and we’d get vague feedback about “culture” or “opportunity.” It was useless. We had data scattered across Workday for HRIS, Greenhouse for our ATS, and a custom-built performance review system that was more of a glorified spreadsheet. Connecting those dots manually to find a pattern? Forget it. We needed something that could actually tell us why people were leaving, not just that they were gone. This is where the promise of AI-powered people analytics tools entered the picture.
I’ve shipped enough AI agents to know that the gap between marketing slides and production reality is a chasm. My goal wasn’t to build a crystal ball, but a practical early warning system. We wanted to identify flight risks, understand the drivers of disengagement, and give HR concrete, actionable insights. Not just another dashboard showing historical data, but something that could flag a trend before it became a crisis. The initial thought was to buy a commercial platform. We looked at a few, but they felt like black boxes, expensive ones at that, and integrating our messy, disparate data sources was always the sticking point. Most assumed a perfectly clean, centralized HR data lake, which, let’s be honest, doesn’t exist in most companies.
The Mess Before the Magic: Why We Needed AI
Our HR team was drowning. They spent hours pulling reports from different systems, trying to cross-reference employee tenure with performance ratings, or compensation changes with promotion cycles. It was all reactive. An employee would resign, and only then would we scramble to understand if it was predictable. We had a hunch that certain managers had higher churn rates, or that specific project types correlated with dissatisfaction, but proving it with data was impossible without dedicated resources. We needed to move from reactive firefighting to proactive intervention. This meant automating data collection, standardizing metrics, and then applying some statistical muscle to find the hidden signals.
The first hurdle was data ingestion. Workday has APIs, but they’re not always straightforward. Greenhouse, our ATS, was a bit easier, but our custom performance system? That was a nightmare of CSV exports and manual uploads. We considered using a tool like n8n for custom API integrations, but the sheer volume and variety of data points—everything from login activity in our internal tools to Slack message sentiment (carefully anonymized, of course)—meant we needed something more capable than a simple webhook automation. We weren’t just moving data; we were trying to make sense of human behavior at scale.
We identified key data points: tenure, last promotion date, last compensation adjustment, performance review scores, 1:1 frequency with managers, project assignments, team changes, and even anonymized sentiment from internal communication tools. The challenge wasn’t just collecting this data, but normalizing it. A “good” performance review in one department might be “average” in another. Standardizing these qualitative metrics into something quantifiable was a significant undertaking, requiring a lot of human-in-the-loop validation.
Building (or Buying) an Agent for People Data
Given the integration headaches and the “black box” nature of many commercial offerings, we decided to prototype an internal agent. We didn’t need a full-blown LangGraph or CrewAI setup for this initial phase, though those frameworks are excellent for more complex, multi-step reasoning agents. Our agent’s job was simpler: collect, clean, analyze, and alert. We used Python with Pandas for data manipulation and Scikit-learn for basic classification models. The agent would pull data nightly, process it, and then flag employees who exhibited a combination of risk factors: declining performance scores, reduced 1:1 frequency, no promotion in over 18 months, and a recent spike in external job board visits (inferred from anonymized browser data, with strict privacy controls). This wasn’t about spying; it was about identifying patterns that HR could then investigate with care.
The “agent” part came in its ability to act autonomously on a schedule, pull from various sources, and then generate a concise report for HR. We built a simple UI on top of it, allowing HR managers to see flagged individuals and the contributing factors. It wasn’t perfect, but it was a start. We also considered how an AI sourcing tool might feed into this. If we saw a spike in certain skills being searched for externally, and we knew we had internal talent with those skills, it could indicate a mismatch or a lack of internal growth opportunities. Tools like Gem, for instance, which we’ve used for candidate outreach, collect a lot of data that, if integrated, could offer early signals about market demand for our employees’ skill sets. That kind of external context is invaluable.
One of the biggest wins was identifying a specific manager whose team consistently showed higher disengagement scores and churn rates, despite average performance reviews. The agent highlighted a pattern of infrequent 1:1s and a lack of career development discussions within that team. HR could then intervene with targeted manager coaching, rather than just reacting to resignations. That’s a concrete love right there: moving from guesswork to data-driven action.