Case study · SaaS
How we cut 4 hours of recruiter work to under 10 minutes.
By ZappientUpdated 5 min read
- Client
- A recruitment software company
- Industry
- SaaS for recruiters
- Users
- 10 founding recruitment firms
- We built
- A multi stage AI agent with job search and outreach
The short version
We built a multi stage AI agent for a recruitment software company. It reads a candidate's LinkedIn profile and resume. It searches over 10 million jobs across four sources. Then it picks the best 15 matches and plans outreach to each hiring manager. Work that took a recruiter about 4 hours now takes under 10 minutes.
The results
- per candidate. It used to take about 4 hours.
- <10 min
- candidates run through the agent so far
- 150
- recruitment firms using it from day one
- 10
- recruiter hours saved across those candidates
- 500+
The problem
Good candidates. Hours of manual search.
Our client sells software to recruitment firms. Their users place candidates in open roles.
For every candidate, a recruiter did the same slow work. First they hunted for jobs that fit. That took about 2 hours.
Then they found the hiring manager for each job and wrote the outreach. That took about 2 more hours.
So each candidate cost half a day before a single message went out. Our client wanted an agent to do that work inside their product.
Time per candidate
Half a day of work. Now a coffee break.
Time a recruiter spends on one candidate, from profile to outreach plan.
Before
About 4 hrs
- Find matching jobs: 2 hrs
- Research managers and write outreach: 2 hrs
With the agent
Under 10 min
The recruiter still makes the calls that matter. The agent does the digging.
What we built
One agent. Seven steps.
The agent runs the research. The recruiter decides which jobs are worth a message.
- 01
Build the profile
Reads the LinkedIn profile, the resume and any recruiter notes. Predicts the candidate's next career move.
- 02
Pick the keywords
Turns that profile into search terms for the roles the candidate should target next.
- 03
Search four sources
Runs the search across four job sources at once. Over 10 million jobs in total.
- 04
Shortlist 300 jobs
Narrows the results to 300 jobs. Every source gets a fair share of the list.
- 05
Score and rank
Scores all 300 jobs against the candidate. The best 15 go to the recruiter.
Human checkpoint
The recruiter picks
The recruiter reviews the top 15. They choose which jobs move on to outreach.
- 06
Find the hiring manager
For each chosen job, the agent researches who owns the hire.
- 07
Plan the outreach
Writes an outreach plan for each manager. Email runs through Instantly. LinkedIn runs through Unipile.
The search
From 10 million jobs to the 15 that matter.
Each stage throws away noise. The recruiter only sees the jobs worth their time.
- 10M+
jobs across four sources
- 300
jobs on the shortlist
- 15
best matches shown to the recruiter
- You pick
jobs that get manager research and outreach
The four job sources
- 01
Client database
Our client's own job database. Over 10 million third party jobs in one place.
- 02
Coresignal
Job posting data from a large public web dataset.
- 03
Firecrawl
Reads career pages and job sites live.
- 04
Exa
AI web search that finds roles by meaning, not just exact words.
The hard parts
Three problems worth solving.
Most of the work was not the AI model. It was getting the details right around it.
01
A profile that predicts the next move
Why it was hard
A resume shows where someone has been. A recruiter needs to know where they want to go next.
The inputs look nothing alike. A LinkedIn URL, a PDF resume and a few lines of notes.
What we did
The agent merges all three into one profile. Skills, seniority, industries and career path.
Then it predicts the roles that make sense next. A senior engineer may be ready to lead a team, for example.
Every later step depends on this profile. If it is wrong, every match is wrong. So we tested it hardest.
02
The right keywords across four sources
Why it was hard
Each source searches in its own way. A database wants exact titles. Exa searches by meaning. Firecrawl reads live pages.
One source can also flood the results. The client database alone holds over 10 million jobs.
What we did
The agent picks the best keywords for the candidate's target roles. Then it shapes them to fit each source.
The shortlist of 300 always includes jobs from all four sources. So the final 15 come from the widest pool, not the loudest one.
03
Manager research and outreach integrations
Why it was hard
Finding a job is one thing. Finding the person who owns the hire is harder.
Outreach also has to run through real email and LinkedIn accounts. Each tool has its own rules.
What we did
The agent researches each chosen job and finds the likely hiring manager. Then it plans the outreach for that person.
We built deep integrations with the Instantly API for email and Unipile for LinkedIn. These took the most care of any part.
Before and after, task by task.
| Task | Before | With the agent |
|---|---|---|
| Build the candidate profile | Read the resume and LinkedIn by hand | Built from three inputs in one pass |
| Find matching jobs | About 2 hours of manual search | Over 10 million jobs searched in minutes |
| Pick the best roles | Manual review across many tabs | 300 jobs scored. The best 15 shown. |
| Find hiring managers | Part of another 2 hours | Researched for every job the recruiter picks |
| Plan the outreach | Written one by one | A plan per manager, ready in Instantly or Unipile |
| Total time | About 4 hours | Under 10 minutes |
Where it is now
Live with 10 recruitment firms.
Our client launched the agent with 10 founding recruitment firms. Together they have run around 150 candidates through it.
Each of those candidates used to cost a recruiter about 4 hours. Now it takes under 10 minutes.
That is over 500 hours of recruiter time back so far. Recruiters spend it on calls and placements, not search tabs.
Tools the agent connects to
- Client databaseOver 10 million third party jobs
- CoresignalJob postings
- FirecrawlLive career pages
- ExaSearch by meaning
- InstantlyEmail outreach
- UnipileLinkedIn outreach