Video Chapters
0:00 How to Build an AI Resume Screening System for Recruiters with n8n - Part 01
0:00 n8n Tutorial: Build an AI HR Assistant That Shortlist Candidates in Seconds - Part 02

AI Resume Screening

Learn AI Resume Screening in this comprehensive n8n tutorial. Step-by-step guide with video, code examples, and expert tips from the n8n Zero to Hero course.

Table of Contents

Overview

This lesson is part of the n8n AI Automation - Zero to Hero course, Section: 6. AI-Powered Workflows.

Watch the video above for the full tutorial, or read the written guide below.

What is the AI Resume Screening workflow in n8n?

The AI Resume Screening workflow in n8n automates the end-to-end recruiter cycle: an n8n Form collects applicant details and a PDF resume, a parallel branch uploads the file to Google Drive while the main branch parses it with the Extract from File node, then two Information Extractor AI nodes pull structured personal and professional data from the raw text. A scoring step routes each candidate to a shortlist, a maybe sheet, or an archive.

How to build the AI Resume Screening workflow in n8n

The n8n Form node acts as the job application trigger. Add text fields for first name and last name, an email-type field, and a file upload field restricted to .pdf. Add a hidden field named "job code" with a static value such as 001 to tag which role the submission belongs to. The hidden field is invisible to applicants but flows into the workflow output, letting one workflow handle multiple job postings without duplication. Copy the form's production URL and embed it in your job posting so candidates apply directly through it.

The Form node feeds two parallel branches simultaneously: a Google Drive Upload node that saves the resume to a designated "resumes" folder, and an Extract from File node that converts the binary PDF into a plain-text JSON field named text. In the Google Drive node, build the file name dynamically by concatenating the job code, first name, and last name from the form output. In the Extract from File node, set the operation to "Extract from PDF" and point the input binary field at the resume upload field. Both branches run in parallel so file storage never delays evaluation.

Two Information Extractor cluster nodes transform the unstructured text field into structured JSON. The first node uses a JSON schema to extract personal information: full name, telephone, city, email, and LinkedIn URL, each with a plain-English description property. The second node uses the "from attribute descriptions" schema type to extract professional information: educational qualification, job history, skills, experience breakdown by role, most recent job title, and total years of experience, each attribute carrying a format instruction such as "summarize in 100 words" or "make a bulleted list." Attach one OpenAI Chat Model sub-node (GPT-4o mini) and share it across both cluster nodes. Add a system prompt to each node instructing the model to return "NA" for any attribute it cannot locate in the text.

Key Takeaways

  • The n8n Form node's hidden field carries a job code (for example, 001) that is invisible to applicants and lets one workflow distinguish between multiple open roles without duplicating downstream nodes.
  • The Extract from File node converts an uploaded PDF resume to a plain-text text field in one step, requiring no external API call or third-party parser.
  • The Information Extractor node is an advanced AI cluster node that requires an attached language model and supports three schema modes: attribute descriptions (UI-driven, no JSON required), a JSON example, or a raw JSON schema with typed properties and descriptions.
  • Splitting extraction into a personal-info node and a professional-info node feeds the LLM smaller, focused prompts per call and produces more accurate structured output than one large combined prompt.
  • One OpenAI Chat Model sub-node attaches to multiple Information Extractor cluster nodes in the same workflow, avoiding credential duplication and keeping model configuration in a single place.

Next Steps

Continue your n8n journey with the full n8n AI Automation - Zero to Hero course.

Frequently Asked Questions

The Extract from File node returns a JSON object containing a `text` property that holds the entire PDF content as a single unstructured string. All resume pages merge into one text blob. Downstream Information Extractor nodes then parse this raw text into typed fields using a schema defined directly in the node configuration.

The Information Extractor node is a cluster node that enforces structured JSON output by accepting a schema with typed properties and plain-English descriptions for each field. A standard OpenAI node takes a free-form prompt and returns narrative text. The Information Extractor guarantees field-level output and lets one attached OpenAI Chat Model sub-node be shared across multiple instances in the same workflow.

Two Information Extractor nodes keep personal data (name, phone, email, LinkedIn) and professional data (job history, skills, experience, education) in separate, focused prompts. Smaller scoped prompts give the LLM a clearer extraction target per call and produce more accurate structured output than a single large prompt attempting to cover every resume field at once.

The workflow assigns a numeric AI score to each resume and routes candidates through an IF node: a score above 7 shortlists the candidate, a score between 5 and 7 places the application in a maybe category, and a score below 5 archives it. Every submission, regardless of score, logs all extracted fields to a Google Sheets job applicants tracker that captures final score, AI status, AI assessment, skills, job history, and contact details.

Dheeraj Sharma

Dheeraj Sharma

AI Systems Builder
Creator of the n8n Zero to Hero course (42 lessons, 31+ hours). I help solopreneurs build AI systems that grow revenue without growing workload.

Get the n8n Mastery Bundle

All workflows, cheat sheets, and premium resources from the entire course in one package.

Get Premium Resources