If CV screening is eating up too much of your time, this AI workflow could be your secret weapon: it automatically evaluates, scores, and suggests a shortlist of the right candidates — fast, accurate, and consistent – even if you have no technical background. No worries — this post will show you how to build an AI workflow on n8n in just 9 steps!
The Biggest Challenge Facing HR Today: Manual CV Screening
What seems like a simple hiring process often hides one of the most exhausting steps: screening CVs. Every recruitment round, HR teams have to:
・Read through hundreds of resumes, take notes, and compare them against the job description
・Struggle with inconsistent evaluations
・Risk overlooking great candidates due to subjective judgment
The more roles you hire for, the more complex it gets.
But now, AI can take over – faster, more accurate, and more consistent than ever.
Are you someone who…?
・Is an HR professional looking to save time on CV screening
・A startup founder handling recruitment solo
・Or anyone working with tons of candidates but can’t possibly read every CV manually
Keep reading – you might just build your own powerful AI assistant!
The Solution: An AI-powered CV Analysis & Evaluation Workflow Using NLP
This workflow combines n8n — a no-code workflow automation tool — with AI NLP to analyze and assess CVs against job descriptions in just minutes.
What is n8n?
n8n is a drag-and-drop no-code/low-code automation platform that lets you connect different apps and services to build automated workflows – no coding required.
You can integrate tools like email, Google Drive, Slack, and even AI like GPT-4 through a simple, visual interface.
How Does the AI Workflow Run?
This AI workflow will automatically:
・Receive CVs (from Google Drive, Email, Forms, etc.)
・Extract content from the CVs
・Compare each CV to the job description using AI (GPT-4 or Claude)
・Generate a match score, highlight matching skills, and explain why the candidate should or shouldn’t be interviewed
・Export the results to a Google Sheet or send them via email/Slack
No Coding Skills? No Problem.
This AI workflow is built on a visual, drag-and-drop platform; so you can set it up easily — no programming knowledge is required. Whether you’re an HR professional, a startup founder, or someone with zero tech background; you can run it smoothly.
Easily Customizable for Any Role.
From office staff and software engineers to senior management positions, you only need to update the job description and upload the CVs. AI workflow will automatically handle the rest.
You can reuse and tweak it flexibly to fit any hiring campaign.
Let’s build it together – just follow the steps below!
Tools You’ll Need
・n8n (self-hosted or cloud version)
・Google Drive + Google Sheets account connected to n8n (If not yet connected, follow the setup guide here)
・OpenAI API
・A sample Job Description (JD) file prepared in advance
・A form for candidates to submit their CVs
Step-by-Step Setup in n8n
1. Trigger: On Form Submission
・Use a Webhook Trigger in n8n and connect it to your Google Form (or any form).
・When a candidate submits their CV through the form, this trigger will activate the workflow.
2. Upload CV & Extract Data
・Google Drive Node – Upload CV: Save the CV file submitted through the form to your Google Drive.
・Extract from File (PDF): Use the “Extract PDF Text” node to retrieve the content from the CV file.
・Google Sheet – List of Job Descriptions: Create a sheet listing JDs for open positions so the system can automatically compare CV data with the appropriate job.
3. Split Information: Personal Data & Qualifications
Use the Information Extractor Node connected to the extracted PDF content to separate two streams of data:
・Personal Data (full name, email, phone number, etc.)
Suggested Prompt Template: “You are an expert extraction algorithm. Only extract relevant information from the text. If you do not know the value of an attribute asked to extract, you may omit the attribute’s value.”
・Qualifications (degrees, skills, work experience, etc.)
Suggested Prompt Template: “You are an expert extraction algorithm. Only extract relevant information from the text. If you do not know the value of an attribute asked to extract, you may omit the attribute’s value.”
4. Merge Data
・Use the “Merge” node to combine data from the two branches — Personal Data and Qualifications — into a unified output called Merge 1.
・Then, merge Merge 1 with the job description data from the Google Sheet list to create the final input for the LLM to analyze.
5. Summarize Candidate Information Using the Summarization Chain Node
・Set up the Summarization Chain node to consolidate key candidate information. This summary will serve as the input for the LLM to analyze matching accuracy.
Suggested Prompt Template:
Write a concise summary of the following:
City: {{ $json.output.city }}
Birthdate: {{ $json.output.birthdate }}
Educational qualification: {{ $json.output[“Educational qualification”] }}
Job History: {{ $json.output[“Job History”] }}
Skills: {{ $json.output.Skills }}
Use 100 words or less. Be concise and conversational in English.
-
Compare with JD: Profile Wanted
Use Edit Fields (Set) to Continue the Workflow Stream.
・The JD can be entered manually or pulled from a Google Sheet containing a list of sample JDs.
・Use a comparison node to evaluate the match between the JD and the candidate’s information.
Suggested Prompt Template:
We are an IT-Outsourcing company specializing in developing Web, Mobile, and Business Systems software for Globalize customers. We are looking for a {{ $(‘Merge1’).item.json.Position }} position with the following job content and experience requirements:
## Job description
{{ $(‘Merge1’).item.json[‘JD – job content’] }}
## Job requirements
{{ $(‘Merge1’).item.json[‘JD – required skill’] }}
{{ $(‘Merge1’).item.json[‘JD – priority’] }}
{{ $(‘Merge1’).item.json[‘JD – other’] }}
7. Evaluate Candidates Using AI with the Basic LLM Chain Node
・Use a prompt to instruct the AI to score the candidate’s fit and make a recommendation on whether to proceed with an interview.
Suggested Prompt Template:
Profilo ricercato:
{{ $json.profile_wanted }}
Candidato:
{{ $(‘Summarization Chain’).item.json.response.text }}
8. Output Parser (Optional)
・Use the Structured Output Parser Node to separate the results into fields: Name, Score, and Recommendation (whether to hire or not) in JSON format. This will be used for the next step to input the results into a Google Sheet.
9. Write Results to Google Sheets
・Write the final data into a Google Sheet for tracking, using the “append: sheet” method.
・Manually map the generated content to the appropriate Excel columns.
Outstanding Benefits
Features |
Real-world Benefits |
Automated CV Screening | Save Up to 80% of Recruitment Time |
Candidate Ranking by Score | Prioritize Candidates Most Aligned with the JD |
AI NLP Evaluation | Consistent Criteria, Reduced Subjectivity, Increased Accuracy |
Easy-to-Deploy Workflow | No Coding Skills Required, Budget-Friendly |
From Hours of Manual Screening | Only a few minutes to get a high-quality shortlist. |
Ready to Give It a Try?
Sign up to receive the template and step-by-step guide today, completely free, right here.
We’ll support you in using the template and setting it up on your local server as per your needs.