Recruitment automation: what to automate, and where to start
Published
Recruitment automation means letting software do the repeatable parts of hiring: capturing applications, turning CVs into records, sorting applicants against stated requirements, scheduling, and sending status messages. The parts that need judgement, such as deciding who to interview and who to hire, stay with people. The best place to start is almost never the flashy step. It is the boring one underneath all the others: getting every candidate into the same structured record, because every later step reads from it.
This guide walks the hiring process stage by stage and says, for each one, what automation looks like, what it needs underneath, and when doing it by hand is still the better choice. It is written for the people who build or run hiring tools: a developer on a job board or applicant tracking system, or a recruiting operations lead deciding what to wire up next. We build ResumeJSON, a CV parsing API, so read the parsing section as written by an interested party.
The hiring process, and what automation does at each stage
Most hiring runs through the same seven stages, whatever the company calls them. Here is where automation helps and what it depends on:
| Stage | What gets automated | What it needs underneath |
|---|---|---|
| Sourcing | Search your own past applicants before posting | Searchable candidate records |
| Application | Prefill the form from the uploaded CV | CV turned into fields |
| Intake | Deduplicate, tag, file into the right job | CV turned into fields |
| Screening | Sort against hard requirements | Fields plus written rules |
| Scheduling | Self-serve interview booking | Calendar access |
| Communication | Status emails at each stage change | A pipeline with named stages |
| Reporting | Time to hire, drop-off per stage | Stage changes recorded with dates |
Read the right-hand column. Four of the seven stages depend on having each CV as structured data. That is why so many recruitment automation projects stall: the team buys a screening tool or writes matching logic, and then discovers the input is a folder of PDFs.
Start with intake: turn every CV into a record
An application usually arrives as a file. A PDF, a Word document, sometimes a phone photo of a printed page. Until that file becomes fields (name, contact details, each job with its dates, education, skills, languages), nothing downstream can run on it.
You have three honest ways to get there:
- Ask the candidate to type it. A structured application form gives clean data with no parsing at all. The cost is drop-off: every extra field loses applicants who already have a CV they would rather upload.
- Parse it yourself. Extract the text, then pull the fields out with rules or a language model. We have walked this path in Python and Node.js. It works for clean single-column CVs, and the long tail of layouts is where the time goes.
- Call a parsing API. Send the file, get typed JSON back, pay per document.
ResumeJSON is the third option. One call takes a PDF, DOCX, plain text or an image of the page and returns a typed record: basics with name and contact details, a work list where every role carries start_date and end_date as YYYY-MM or YYYY, plus education, skills, certifications and languages. A field the CV does not state comes back as null instead of a guess. The parse is synchronous and the median is about two seconds, so it can run inline on upload. You can try it on your own CV with the free parser, no signup.
Whichever route you choose, store the result in one schema you own. Every later stage should read your schema, never a vendor's raw response, so swapping the parser later costs one adapter. The candidate database guide covers the tables.
Automate the application form
Once a CV can become fields, the cheapest win is the application form itself. The candidate uploads a CV, your form fills in name, email, phone, current title and employer, and the candidate only corrects what is wrong.
This removes the most common complaint about online applications: typing out a CV that was just uploaded. It also gives you cleaner data than either route alone, because a person checked the parsed values. The job application autofill guide has the code.
Keep every prefilled field editable. A parser misreading a date is a small problem when the candidate can fix it, and a large one when they cannot.
Automate screening, but only the part you can write down
Screening is where recruitment automation gets its reputation, good and bad. The safe version is narrow:
- sort applicants on hard requirements you can point at a field: a licence held, a language at a stated level, a location or willingness to relocate;
- apply an experience floor computed from job dates, the same way for everyone;
- route anyone who misses a rule to "needs a human look" rather than to a rejection email.
The unsafe version is asking a model to score CVs out of ten. The score cannot be explained to the candidate, drifts when the model changes, and can encode bias nobody chose. Rules over parsed fields avoid all three because every decision names the field and the rule that made it.
The full approach, with code, is in automated resume screening. For ranking applicants against a role in both directions, see candidate matching. If you want to hide identifying details from reviewers during this stage, blind resume screening shows how.
Automate the logistics: scheduling and status messages
These two stages need no CV data at all, which is why they are often the first thing a team automates.
Scheduling. Send the candidate a booking link tied to the interviewers' calendars instead of trading emails about times. Most applicant tracking systems include this, and standalone booking tools do it well.
Status messages. Every stage change (received, under review, interview, offer, closed) triggers a short email. Candidates mostly complain about silence, and a pipeline with named stages makes this a template per stage.
Both depend on one thing your system must already have: a pipeline where each application sits in exactly one named stage, and every move is recorded with a date. If you are building that yourself, how to build an ATS treats the pipeline as a state machine.
Automate reporting last
Time to hire, applicants per source and drop-off per stage are the numbers people ask for first. They are also the ones that come free once the earlier stages exist, because each is a query over stage changes you are already recording. Building a dashboard before the pipeline records clean dates gives you charts of guesses.
What not to automate
Some steps look automatable and should stay with people:
- Final rejection on anything subjective. A rule can say a required licence is missing. It cannot say someone is a poor fit.
- Interview decisions. Automation can collect structured interview feedback. A person should still weigh it.
- Anything a candidate cannot see or contest. If an automated step affects someone's application, you should be able to tell them which rule applied.
Depending on where you hire, rules about automated decisions in hiring may also apply to you. Check the rules for your jurisdiction before an automated step can reject anyone without a person involved.
Build or buy: three routes to recruitment automation
| Route | Good for | What you own |
|---|---|---|
| An off-the-shelf ATS | Teams that hire, rather than build hiring software | Configuration only |
| An ATS plus integrations | Teams with a few custom steps | The glue between tools |
| Your own pipeline plus APIs | Job boards, ATS vendors, internal platforms | The whole pipeline, with each hard part bought |
If your company hires and does not sell hiring software, an off-the-shelf ATS is usually the right answer. Most of them parse CVs, schedule interviews and send status emails already, and none of this guide needs building. When you need that data somewhere else later, our guides to two popular ATS APIs and what they parse cover getting it out.
If you are building the job board, the ATS or the matching tool, the third route is yours, and the order in this guide is the build order: intake, then the form, then screening, then logistics, then reports.
When the manual way is enough
Recruitment automation pays off with volume. If you hire a handful of people a year and each opening draws a few dozen applicants, a shared inbox, a spreadsheet and a calendar link are fine, and a person reading every CV gives every candidate a fairer look than a rule would. Turning a folder of CVs into a spreadsheet is often the only automation such a team needs.
Automate when the same step is costing someone hours every week, and start with the step that feeds the others.
Where to start this week
- Pick one open role and collect its applications in one place.
- Turn each CV into a record with the free parser and look at what comes back.
- Write down the hard requirements for the role as fields and values.
- Decide which stage costs you the most time, and automate that one first.
When the parsing step needs to run inside your own product, the quickstart has the API call and the plans.