Overview

With this n8n workflow, one can accelerate the candidate-job matching process with resume parsing automation. The fresh resume PDF that is uploaded in Google Drive will be parsed into structured data and matched against the job role criteria form in Google Sheets. The program figures out the match percentages, then lists the 3 roles most aligned with candidates and directly sends an email to HR letting them know where to access the results for quicker data-driven hiring.

Objective

The main aim of utilizing n8n to automate the selection process of best fitting candidate for the job role. This ensures that the overall experience remains seamless for everyone and eliminates the hassle. In short, this workflow documentation provides the end to end solution for businesses.

How does it work?

Step 1: Google Drive trigger

The node “google drive trigger”is set to create a trigger which is activated whenever a new resume is uploaded to google drive folder.

  • Aim: The node is triggered whenever anyone uploads the new resume to the dedicated Google Drive folder.
  • Key Configurations: the triggers only start when resumes are stored in the form of PDFs, making sure files don’t begin the workflow.

Step 2: Newly Uploaded Resumes Are Downloaded

If a resume is found, the Download File node grabs the PDF file itself from Google Drive.

  • Objective: To retrieve the uploaded file or resumes in its binary form.
  • Output: It is then downloaded into binary PDFs form.

Step 3: Extract from File

This PDF is downloaded, and then the Extract from File node is used to extract the resume from its PDF format to plain text.

  • Objective: To render resume data machine friendly
  • Output: Convert the text readable for AI resume parsing tools on all candidate information like Name, Contact Details, Education, Skills, Experience.

This is particularly important because AI based parsing tools are unable to read resumes in PDF format.

Step 4: HTTP Request (Resume Parsing with AI)

The plain text is then pushed to AI using an HTTP Request node.

  • Method: POST HTTP
  • Objective: To retrieve liquefied information from sliced text inside unstructured text.
  • Output: A JSON helps in structure the data with details of the candidate such as name, email address, phone number, skills details, experience details, education details, etc.

Step 5: Code (Data Structuring)

The AI parser gives structured output, however, it does not always ensure perfect consistency. The Code node (implemented in JavaScript) parses and tidies the result structure into a normalized JSON object.

  • Use case: To transform the data fields (like “B.Tech” and ” Bachelor of Technology”) to comparison friendly format.
  • Output: Candidate with a profile that is well defined by skills, years of experience, and education.

Step 6: Get Row(s) in Sheet

The subsequent stage involves fetching job role requirements from a Google Sheet using the Get row(s) in sheet node.

  • Contents in the Sheet:Each row will hold the job title, a list of skills needed and experience required.

intended to be used as a reference for comparing candidate summary.

For instance, in the row with title: “Backend developer”, the “Required skills” column can be Java, SQL, Spring Boot etc. and “Experience” can be 3+ years.

Step 7: Code1 (Matching Logic)

A Code node is used to apply the first matching logic. In this process, the candidate’s experience and skills are compared to requirements needed for each job role.

  • Count the number of required skills that overlap with a candidate’s skills.
  • Calculate a percentage of matched skills and total required skills.

Validate if the experience of candidates is greater than or equal to limit.

Step 8: Code2 (Top 3 Selection)

After all roles are scored, Code2 node sorts the roles in descending order of percent match

  • Objective: To establish the candidate’s 3 best fit positions.
  • Output: Top-three recommended roles sorted by compatibility.

Step 9: Code3 (Email Body Creation)

The Code3 node generates a polished email body.

Content includes:

  • Candidate name
  • Top 3 job roles
  • Match percentages for each role

Step 10: Send a Message (Gmail)

Lastly, the Send a message node (using Gmail) sends the email to the HR team.

  • Subject: Top 3 Job Role Matches [Name of the Candidate]
  • Body: The processed text obtained from the previous step.

Technology Stack Included

Key Benefits

Closure

n8n automates candidate selection by connecting different tools to streamline the hiring process. This ensures that the overall experience remains seamless for everyone and eliminates the hassle. In short, this workflow documentation provides the end to end solution for businesses.