A specialist technology staffing agency processing 150–200 applications per week was operating on a 48–72 hour screening cycle. Top candidates were accepting offers from competitors while sitting in an unread pile.
A specialist technology staffing agency processing 150–200 applications per week was operating on a 48–72 hour screening cycle. Three recruiters were spending half their working day on CV review. Top candidates were accepting offers from competitors while sitting in an unread pile.
"We lost three strong placements in one quarter because we were too slow to call. These were people who applied to us first. We just did not move fast enough. In this market, 48 hours is an eternity."
Technology staffing agencies operate in one of the most time-sensitive recruiting environments that exists. Senior software engineers and specialised technologists are typically fielding multiple approaches simultaneously. The agency that calls first, with a relevant opportunity and evidence of having read the CV, wins the relationship. An agency that processes the same CV 48 hours later is not competing - the candidate has already spoken to three other people and made decisions about which conversations to continue.
This agency specialized in software engineering roles across the Pacific Northwest and was processing 150-200 applications per week across 10-15 open roles. The three senior recruiters were spending approximately four hours per day on initial CV review - reading applications, comparing them against job briefs, and drafting initial outreach. This was work that required domain knowledge to do well: a recruiter needed to understand what a specific tech stack implied about a candidate's background, what years of experience in a particular type of role indicated about seniority level, and how to frame a message that would resonate with a developer who was probably receiving ten InMail messages per week. The recruiters were good at this work. The problem was volume and speed. By the time a qualified candidate was identified and contacted, 48-72 hours had typically passed. Competing agencies were faster.
We built a multi-agent screening pipeline using LangGraph and Claude. Applications are ingested automatically from all channels, normalised into a structured format, and evaluated against role-specific criteria. Top-tier candidates receive a personalised outreach message within 12 minutes of application.
The pipeline is built on LangGraph, which gave us the ability to model the screening process as a graph of specialized agents rather than a single monolithic prompt. Four agents handle distinct stages. The ingestion agent normalizes CVs from all input channels - job boards including LinkedIn and Indeed, email submissions, referral introductions, and the agency's own ATS - into a consistent structured schema. This normalization step handles the variety of CV formats, layouts, and content structures that human screeners deal with intuitively but that require explicit logic in code.
The scoring agent evaluates normalized CVs against role-specific criteria: primary tech stack match, years of relevant experience, role type fit (individual contributor versus technical lead versus architect), and location or remote-work compatibility. The classification agent assigns a tier - shortlist, review, or reject - with written reasoning for each decision. Shortlisted candidates are handed to the outreach agent, which drafts a personalized email referencing specific elements of the candidate's background and the relevant open role. We chose LangGraph over a simpler sequential pipeline because the scoring and classification steps needed to be able to refer back to role configuration dynamically, and the graph structure made that dependency explicit. A feedback loop allows recruiters to override tier decisions from within the ATS; the reasoning for each override is captured and fed back into the scoring calibration on the next run.
The most operationally important challenge was role criteria management. Each open role had different screening requirements, and those requirements evolved as roles progressed - a role that started as "senior full-stack engineer" might narrow to "senior full-stack with React and AWS experience in fintech" after the first round of client feedback. Static criteria would have required code changes every time a role brief evolved. We built a role configuration system where recruiters update screening criteria in plain language through a simple form in the ATS. The pipeline reads the current role configuration on each run, so criteria changes take effect immediately without any engineering involvement.
The second challenge was outreach quality. Early drafts of the outreach agent produced messages that were accurate but felt templated - they mentioned specific CV details but did not read like they were written by a recruiter who understood the candidate's career trajectory. We iterated on the prompt with input from all three recruiters, working through examples of outreach they considered excellent versus mediocre. The breakthrough was instructing the agent to lead with the most interesting thing about the candidate's background relative to the role, rather than leading with a generic introduction. Response rates to agent-drafted outreach in the first month were within 5% of response rates to manually written outreach from the same recruiters.
Recruiter screening time dropped 87%. The qualified pipeline tripled. Time to first contact fell from 48–72 hours to 12 minutes on average.
The tripling of the qualified pipeline was partly a speed effect - more candidates reached before accepting elsewhere - and partly a consistency effect. Human screeners, under time pressure, develop shortcuts. Applications that arrive at the end of the day, or in a particularly high-volume week, are more likely to be evaluated quickly and less charitably. The pipeline scored every CV with the same criteria every time, regardless of when it arrived. Candidates who would have been missed at 4pm on a Friday were scored identically to those who arrived Monday morning. The recruiters now spend their four hours per day on calls, relationship building, and client management - the work that requires human judgment and interpersonal skill - rather than on CV triage.
The fastest improvement in this engagement was not the screening time reduction - it was the consistency. Human screeners have good days and bad days. Attention varies. The pipeline scored every CV with the same criteria every time. For a business where a missed candidate can mean a missed placement fee, consistency is not just an efficiency gain - it is a quality guarantee. If you are running a recruiting operation and experiencing inconsistent pipeline quality, the problem is often not the screening criteria, which the team probably has right. It is the inconsistent application of those criteria under time pressure. That is exactly the problem automated screening solves.