Every applicant scored and ranked about 20 seconds after they apply.
A recruiting agency in Charlotte, North Carolina, stopped reading every resume first. AI reads each application, scores it against the role and ranks it in Google Sheets, so recruiters start at the top of the list.
The 30-second version
A recruiting agency in Charlotte, NC receives 500+ applications a month through a Tally form, each with a resume in whatever format the candidate had. Someone had to open, read and judge every one before a shortlist existed. We built an n8n workflow that reads each resume, scores it against the role and logs a ranked row in Google Sheets about 20 seconds after the candidate applies. Before choosing the AI model, we tested 7 model setups on the same resumes and picked the one with the best balance of ranking accuracy, speed and cost: under $2 in AI fees per 500 resumes.
Read everything first
Every application opened, read and judged by a person before anyone knew who was worth a call.
AI first-pass screening
Tally → n8n → AI reads and scores → a ranked row in Google Sheets, with no copying or pasting.
~20 s per applicant
Every good-fit test candidate ranked above every poor fit, from PDFs, scans and phone photos alike.
Recruiters start at the top
The first pass is done before anyone opens the sheet, for less than $2 in AI fees per 500 resumes.
Who we built this for
The agency is not named. The profile below reflects the real engagement.
- Industry
- Recruitment & staffing
- Location
- Charlotte, North Carolina, USA
- Team involved
- Agency owner & recruiters
- Application intake
- Tally form: answers + resume upload
- Volume
- 500+ applications a month
- Where results live
- Google Sheets, one ranked row per applicant
- Project scope
- AI resume parsing, scoring & ranking
- Handover
- Documented, so the owner manages it day to day
Finding candidates wasn’t the problem. Reading all of them was.
The owner’s brief was blunt: screen every applicant and log ranked results, with zero manual work, at 500+ submissions a month.
Reading time at volume
At 500+ applications a month, a careful first read of each one adds up to dozens of recruiter hours, before a single phone call.
Resumes in every format
Two-column templates, tables, dense one-pagers, scanned PDFs, phone photos. Basic PDF-to-text tools break on half of them.
Judgement varied by reader
Two recruiters reading the same resume could rank it differently. There was no shared yardstick for “good fit”.
Strong candidates wait
Good applicants sat in the queue with everyone else. In a market where the typical role takes 39–44 days to fill, slow first contact costs placements.
Copy and paste into the sheet
Name, email, LinkedIn and notes typed by hand into a spreadsheet, one applicant at a time.
It had to stay cheap
A tool that costs more per applicant than it saves isn’t a tool. Running cost at 500+ a month was a hard requirement.
Six manual steps for every applicant
Repeated 500+ times a month, with the ranking living in each recruiter’s head.
- Step 1
Check
Look for new Tally submissions.
Batch, not live - Step 2
Download
Open the resume file, whatever format it’s in.
Every format - Step 3
Read
Work out experience, skills and location.
Minutes each - Step 4
Judge
Compare against the role from memory.
Inconsistent - Step 5
Type up
Copy name, email and LinkedIn into the sheet.
Manual entry - Step 6
Rank
Sort by gut feel into a shortlist.
Days later
What success needed to look like
Taken straight from the owner’s brief, then turned into targets we could test against.
Zero manual entry
Every applicant lands in the sheet with name, email, LinkedIn, score and summary, without anyone typing.
Any resume format
Read two-column layouts, tables, scans and phone photos as reliably as a clean PDF.
A ranking you can trust
Good fits must land above poor fits, every time, with a reason a recruiter can check.
Fast enough to act on
The score should be there before a recruiter next looks at the sheet, not the next morning.
Cheap at 500+ a month
Running cost per applicant has to be small enough that volume never becomes a budget question.
The owner can run it
Change the role, the criteria or the sheet without calling a developer.
Why n8n, and why two AI steps instead of one
The brief asked us to recommend a stack: Zapier, Make, n8n or custom code. We chose n8n. Zapier and Make bill per task, and this workflow runs several steps per applicant, so at 500+ a month the platform fee would grow with every hire. n8n runs the same flow on a flat-cost server, keeps the logic visible to the owner, and still connects natively to Tally and Google Sheets.
Inside the workflow, we split the AI work into read, extract and score. A document model turns any resume into clean text. A small language model pulls out the candidate’s details into a fixed structure, then scores them against a weighted rubric for the role. Small, focused steps are cheaper, faster and easier to check than one large prompt that does everything.
Finding the balance between accuracy, speed and cost.
The most expensive model is rarely the right one for screening. Before choosing, we ran the same mixed-format test set through 7 model setups and compared them on ranking accuracy, speed, consistency and cost. Here is what we measured.
AI cost per 500 resumes vs. processing time
Each dot is one model setup. Down and to the left is better. Every setup ranked candidates correctly except one.
Monthly AI fees as applications grow
Calculated from measured cost per resume. Even at 2,000 applications a month, the chosen setup stays under $8.
| Model setup | AI cost / 500 resumes | Processing time / resume | Good fits ranked above poor fits | Score swing between runs | Verdict |
|---|---|---|---|---|---|
| GPT-5.4 mini, no reasoning | $1.81 | 9.0 s | 100% | 4.3 pts | ChosenFastest, correct ranking, current model |
| GPT-4o mini | $0.33 | 11.3 s | 100% | 2.4 pts | Runner-upCheapest and steadiest, older generation |
| GPT-5.4 nano | $0.57 | 10.8 s | 100% | 5.1 pts | ViableGood value, slightly noisier |
| GPT-4.1 mini | $0.76 | 10.2 s | 100% | 7.8 pts | ViableScores drift more between runs |
| GPT-5 mini, minimal reasoning | $0.93 | 14.7 s | 100% | 3.9 pts | SlowerSlowest setup tested |
| GPT-5.1, no reasoning | $4.40 | 12.3 s | 100% | 5.5 pts | Overkill2.4× the cost, no ranking gain |
| GPT-5.4 mini, low reasoning | $2.50 | 11.1 s | 93% | 10.8 pts | RejectedMore thinking, worse screening |
Ranking is easy; consistency is not
Six of seven setups put every good fit above every poor fit. What separated them was speed, cost and how much a score moved when the same resume ran twice.
More “thinking” made it worse
Turning on reasoning raised cost by 38%, slowed each resume by 2 seconds and more than doubled the score swing. For a fixed rubric, the model overthought it.
Cost is not the constraint
At 500 applications a month, the cheapest and chosen setups differ by about $1.50. That made speed and model longevity the deciding factors, not price.
Facts belong in code
Every model read names, emails and LinkedIn URLs correctly. Years of experience was the weak spot when a resume’s summary and dates disagreed, so dates are counted by the workflow, not guessed by AI.
Read once, score separately
The document model reads a resume in about 4 seconds for a fraction of a cent. Keeping it separate from scoring means a format problem never costs a scoring run.
Fixed output, zero parsing failures
Every AI response is forced into a fixed schema. Across every test run, not one came back in a shape the sheet couldn’t take.
From application form to ranked spreadsheet.
The agency kept the tools it already used. Tally stays the front door, Google Sheets stays the shortlist. n8n does everything in between.
One role, two applicants, the real output.
Two fictional test resumes for the same Sales Executive role. The scores, skills and summaries below are exactly what GPT-5.4 mini returned in testing.
Account Executive with 5 years of experience.
Account Executive, Piedmont Office Supply · 2021–present
- Owned day-to-day sales work, supporting a team of 8.
- Used CRM and lead generation to improve weekly reporting and follow-up.
Associate, Earlier Employer LLC · 2019–2021
Sales, CRM, Lead Generation, Communication, Negotiation
B.S. Business Administration, UNC Charlotte
- Role
- Sales Executive
- Required skills
- Sales · Communication · Lead Generation · CRM
- Preferred skills
- Negotiation · Microsoft Excel · Presentation Skills
- Experience
- 2+ years
- Education
- Diploma or above
- Location
- United States
Weighting: required skills 40% · experience 35% · preferred skills 10% · education 10% · location 5%
“Marcus Bell is a strong match for the Sales Executive role. He exceeds the minimum experience requirement, matches all required skills, has one preferred skill, and is based in the United States. The main minor gap is that his education does not exactly align with the Diploma requirement, but overall the profile is highly relevant.”
Retail Associate, Triangle Outfitters · 2025–present
- Owned day-to-day retail work, supporting a team of 4.
- Used customer service and Microsoft Excel to improve weekly reporting and follow-up.
Retail, Customer Service, Microsoft Excel
High School Diploma
Two-column template in the original PDF.
- Role
- Sales Executive
- Required skills
- Sales · Communication · Lead Generation · CRM
- Preferred skills
- Negotiation · Microsoft Excel · Presentation Skills
- Experience
- 2+ years
- Education
- Diploma or above
- Location
- United States
Weighting: required skills 40% · experience 35% · preferred skills 10% · education 10% · location 5%
“Danielle Ortiz is a retail associate with customer service and Excel experience, but the profile does not show the core sales experience or required skills for a Sales Executive role. She meets the education and location requirements, and has one preferred skill, but overall the match is weak due to missing required sales competencies and unclear relevant experience.”
Fictional candidates from our test set; contact details are placeholders. The full row also stores strengths, concerns and a link to the original resume.
The same applicant, ranked in about 20 seconds.
The workflow does the reading, typing and first-pass scoring. Recruiters step in where judgement matters.
- Step 1
Apply
The candidate submits the Tally form with a resume.
- Step 2
Read
Any format turned into clean text in about 4 seconds.
- Step 3
Extract
Contact details, roles, skills and education pulled out.
- Step 4
Score
Weighted against the role, with a short summary.
- Step 5
Rank
A new row lands in Google Sheets, sorted by score.
- Step 6
Decide
A recruiter reviews the top of the list and calls.
What makes it different
Plenty of tools can turn a PDF into text. These are the parts that make the score something a recruiter can act on.
A score you can explain
Weighted towards what matters: required skills 40%, experience 35%, preferred skills 10%, education 10%, location 5%. Each row lists the strengths and concerns behind the number, so a recruiter can see why a candidate landed where they did.
Matched and missing skills
Each applicant’s row lists which required skills they have and which they don’t. The gap is visible before the call, not discovered during it.
Reads what others can’t
A document AI model reads the page like a person would, so two-column templates, tables, scans and phone photos all come through.
Only uses what’s on the page
The AI is told to leave a field empty rather than guess, and to judge only on what the resume says. No assumptions about missing information.
Criteria the owner can change
Each role’s required and preferred skills, minimum experience, education and location live in one place. Change them and the next applicant is scored against the new brief.
Built to keep running
Automatic retries on every AI and Google step, an alert if a run fails, and the original resume saved and linked from each row.
The AI ranks. People decide.
Screening affects people’s livelihoods, so we drew the line on purpose.
What stays with recruiters
- Who gets a call. The score orders the list; a recruiter decides who to contact.
- Who goes to the client. No candidate is submitted to a hiring client without a person reviewing them.
- The criteria. The owner sets and changes what “good fit” means for each role.
- The second look. The original resume is one click from every row, so any score can be checked.
What we deliberately did not automate
- Rejections. The workflow never declines or emails a candidate on its own.
- Hiring decisions. No score triggers an offer, an interview or a submission by itself.
- Guesswork. Missing information stays missing; the AI does not fill gaps.
- Personal traits. The rubric scores skills, experience, education and location only.
Built, tested, then handed over
Each phase ended with something the owner could check, not just a progress update.
Discovery
Agreed the roles, the scoring criteria and exactly which columns the sheet needed.
Build
Tally to n8n, document reading, extraction, scoring and the Google Sheets log, end to end.
Benchmark
Ran a mixed-format test set through 7 model setups and chose on accuracy, speed and cost.
Launch & handover
Went live with alerts and retries, plus a written guide to changing roles and criteria.
Each piece chosen for one job
Keep the tools the agency already knew, add only what was needed, and keep running costs flat.
Tally
The application form candidates already use, with resume upload.
n8n
The workflow engine. Flat cost per month, however many applicants.
Mistral AI
Reads PDFs, scans and phone photos into clean text.
GPT-5.4 mini
Extracts candidate details and scores them against the rubric.
Google Sheets
The ranked shortlist the recruiters work from.
Google Drive
Keeps every original resume, linked from its row.
The first pass is done before anyone opens the sheet.
Measured in testing on a mixed-format resume set: clean PDFs, two-column and table layouts, scans and phone photos.
At around 6 minutes for a careful first read, 500 applications is about 50 hours of reading a month. The workflow now does that first pass, and recruiters spend their time at the top of the list.
- Time per applicant Measured
- Test resumes sent through the live workflow, one at a time: 16–21 seconds each, 18.4 seconds on average, from upload to the row appearing in Google Sheets. The chosen model’s scoring step was the fastest of the 7 setups tested.
- Ranking accuracy Measured
- Test set built with known good and poor fits across 5 roles. Every setup scored each resume more than once, to measure consistency. With GPT-5.4 mini, the lowest good fit scored 73 and the highest poor fit 48.
- Format coverage Measured
- Single-column, two-column, table and dense layouts, two scanned PDFs and one phone-style image. Every resume parsed with correct contact details, on every model.
- Running cost Calculated
- Token use measured per resume, priced at current OpenAI and Mistral list rates: about $0.0036 per resume for GPT-5.4 mini plus document reading. Hosting for n8n is separate.
Reading time saved is staff capacity, not a cash saving; the 6-minute read is an assumption for illustration. Typical time-to-fill of 39–44 days is SHRM’s 2025–2026 benchmark for non-executive roles. The applicant list at the top of this page is an illustrative interface with sample data.
Screening was step one. Here’s what’s next.
Once every applicant arrives as structured data, the rest of the recruiting pipeline opens up. Our assessment of what to automate next, by impact and effort.
Why it matters
More of our work.
Three more client projects, with the workflow before and the system after.

How a Capital-Raising Team Cut Investor Research from 15 Minutes to 1
- 70%
- shorter deal pipeline timeline
- 15×
- faster than by hand

How a Private Credit Firm Researches a Target Desk in About 7 Minutes
- ~7 min
- per desk, unattended
- 90%+
- coverage on target desks

How an Accounting Firm Saved 100+ Hours a Month with AI Automation
- 1,500+
- invoices a month
- 80%+
- less processing time per invoice
AI resume screening questions.
What recruiting teams usually ask before automating their first-pass screening. Can’t find yours? Ask us directly below.
How accurate is AI resume screening?
Accurate enough to order a list, which is its job here. In our tests on a mixed-format resume set, every good-fit candidate scored above every poor fit, and every name, email and LinkedIn URL was read correctly. Accuracy depends most on clear criteria for each role, so we agree those first. A recruiter still reviews the shortlist before anyone is contacted.
How much does it cost to run per resume?
For this build, AI fees came to about $0.0036 per resume at current list prices: under $2 for 500 resumes and about $7 for 2,000. Hosting for n8n is a separate flat monthly cost. The build itself is quoted after a free discovery call, based on your roles, volume and tools.
Can it read scanned resumes, photos and two-column templates?
Yes. A document AI model reads each page the way a person would, rather than relying on the PDF’s text layer. In testing it read single-column, two-column, table-based and dense layouts, two scanned PDFs and a phone-style photo, with correct contact details on all of them.
Does the AI reject candidates or make hiring decisions?
No. It reads, scores and ranks. It never declines, emails or submits a candidate on its own, and no score triggers an interview or an offer. Recruiters decide who to call and who goes to the hiring client, and the original resume is one click from every row.
Why n8n instead of Zapier or Make?
Zapier and Make bill per task, and screening one applicant takes several steps, so cost grows with every application. n8n runs the same workflow on a flat-cost server, keeps every step visible to the owner, and connects natively to Tally, Google Sheets and the AI models. For low volumes, Zapier or Make can be the simpler choice.
Will it work with our application form or ATS?
Usually. This agency uses Tally, but the same flow can start from Google Forms, a website form, an email inbox or an applicant tracking system with an API, and write results to Google Sheets, Airtable or the ATS itself. We confirm the connection points during discovery.
How do you choose which AI model to use?
We test, rather than assume. For this build we ran the same resumes through 7 model setups and compared ranking accuracy, speed, consistency between runs and cost. The largest model cost 2.4× more with no ranking gain, and adding “reasoning” made scores less stable, so we chose a fast small model. The model can be swapped later without rebuilding the workflow.
What happens to candidate data?
Resumes are read by the AI providers’ APIs and the results land in the agency’s own spreadsheet, with the original file stored alongside. The AI only scores skills, experience, education and location. Data handling, AI providers and hosting are confirmed per project.
How many hours go into reading applications?
Start with a free discovery. We’ll walk through how your team screens candidates today, then prepare a tailored initial plan and proposal. Implementation is quoted after discovery.