Mindket

Resume fit score against a job post

Newversion 1 · updated

Overview

An n8n workflow that scores a PDF resume against a job post link. OpenAI reads the post, lists strengths and weaknesses, rates risk and reward, and gives a fit score from 0 to 10. Google Sheets keeps it all with the candidate’s contact details.

Resume fit score against a job post is an n8n workflow in the Business category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

At a glance

Runs in
  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps
  • The form: n8n hosts it, so you share its address with your team
  • Google Sheets: one row for each resume, across ten columns

Platform

Connects 2 apps

How it works

Trigger

Form

It starts when someone sends the Check Your Resume Score form with:

  • A resume, as a PDF file
  • A link to the job post

Actions

  1. Reads the text out of the PDF resume
  2. Fetches the job post and has OpenAI pull out the description
  3. An OpenAI agent rates strengths, weaknesses, risk, reward and fit from 0 to 10
  4. OpenAI picks the candidate’s first name, last name and email out of the resume
  5. Adds one row with the date, the contact details and the ratings to Google Sheets

Result

A row for each candidate in Google Sheets, with a fit score from 0 to 10, its reasons, and a risk and a reward rating

Integrations

What you need before you start.

OpenAI

Language model

Runs gpt-5.6-terra for the rating and the contact details, and gpt-4.1-mini to find the job description.

NeedsOpenAI API key

Google Sheets

Spreadsheet

Keeps one row for each resume, with the contact details, the ratings and the reasons.

NeedsA Google account to sign in with, and a sheet with ten headers

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
10 steps, starting on a form
AI
3 steps call an AI model: Recruiter Agent, Information Extractor and Information Extractor1
Sign-ins
Signs in to: Google Sheets and OpenAI
API keys
No API key is left in the file
Step types
Mindket’s checker reads all 9 of its step types

Read from the workflow’s file, not from a run.

About

What it is

This n8n workflow scores a resume against one job post. On a form, someone uploads a PDF resume and pastes the post’s link. OpenAI pulls the description out of the job page, and an OpenAI agent compares the two texts. It lists strengths and weaknesses, rates the risk and the reward of the hire, and gives a fit score from 0 to 10 with its reasons. The candidate’s name and email come from the resume, and the result fills one row in Google Sheets. The candidate never sees the score. It runs on 13 nodes.

Who it suits

Recruiters, hiring managers and small teams who get many resumes for one role and want a first sort before they read each in full. Skip it if your resumes arrive as Word files or scans. The same goes for job posts behind a sign-in. It reads PDFs with text only.

Who uses it, and how
IndustryWho uses itHow they use itExample
Recruitment agenciesRecruitersSort a stack of resumes for one client roleA recruiter uploads 20 resumes against one sales role, then sorts the sheet by Overall Fit.
SoftwareHiring managersGet a second view on engineering applicantsA manager checks a backend resume against the post on the company’s own careers page.
Small businessesOwners who hire a few times a yearScreen applicants without a hiring systemA café owner runs five resumes against a shift lead post on the café’s site.

You need some n8n, an OpenAI key and a Google sheet. Its author puts setup at 9 minutes.

Where to use it

Any n8n that can reach OpenAI, Google and the job page will run it. The results stay in your sheet.

  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps
  • The form: n8n hosts it, so you share its address with your team
  • Google Sheets: one row for each resume, across ten columns

Setup

Get it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
OpenAIAn API key, for the rating, the contact details and the job post
GoogleAn account and a sheet with ten headers
ResumesPDF files with real text in them, not scans
Job postsPages that open without a sign-in
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. Add an OpenAI credential and select it in gpt-5.6-terra and OpenAI Chat Model.
  3. Give the first tab of your sheet the headers Date, First Name, Last Name, Email, Strengths, Weaknesses, Risk Factor, Reward Factor, Justification and Overall Fit.
  4. Add a Google Sheets credential in Append Data and replace YOUR_SHEET_ID.
  5. In On form submission, rename the title if only your team will use it, and limit the Resume field to .pdf.
  6. Save, send one resume through the test address, then publish.

How to use it

Open the form, upload a resume and paste the job post’s link. Then open the sheet. Each submission adds a row with the ratings and the reasons. Sort by Overall Fit to see the closest matches, and read the Justification before you decide anything.

What to change for a different result
To changeWhere
What the agent weighsThe system message in Recruiter Agent
The fields it returnsThe schema in Structured Output Parser, with the Append Data mapping
More contact detailsAn attribute in Information Extractor and a column for it
The date formatDate in Append Data, yyyy-MM-dd hh:m a in the file

Example

A recruiter uploads jordan-lee-resume.pdf and pastes a link to a backend engineer post on a company’s careers page. The sheet then gets a row like this one, shown with its text cut:

{
  "Date": "2026-11-02 03:45 PM",
  "First Name": "Jordan",
  "Last Name": "Lee",
  "Email": "jordan.lee@example.com",
  "Strengths": "…\n\n…\n\n…",
  "Weaknesses": "…\n\n…",
  "Risk Factor": "Medium\n\n…",
  "Reward Factor": "High\n\n…",
  "Justification": "…",
  "Overall Fit": 7
}

For newcomers and experts

If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. Here two branches start at the form, one for the resume and one for the job post, and they meet at Merge. Upload a resume you know well first. Then open the run and set the agent’s view beside your own.

For experts. Three model calls do the work. The agent has no tools.

The calls behind each step
StepModelWhat to know
Information Extractor1gpt-4.1-miniGets the job page’s whole HTML and returns one field, the description
Recruiter Agentgpt-5.6-terraThe file named o4-mini, which OpenAI shut down on 23 October 2026
Information Extractorgpt-5.6-terraReturns the first name, the last name and the email, all three required

The agent reads the resume from data[0] and the job description from data[1]. The order out of Merge matters. OpenAI’s deprecations page, read on 2 November 2026, lists gpt-4.1-mini for shutdown on 14 January 2027, with gpt-6-luna as its replacement.

Good to know

Treat the score as a first sort, never as the decision.

  • Billing: OpenAI bills three calls a run, and one of them carries a whole job page’s HTML
  • The date: hh:m a drops the zero from minutes under ten, as in 03:5 PM. Use hh:mm a
  • Files: a Word file stops the run at Extract from File2, and a scanned PDF leaves the agent nothing to rate
  • Job links: many job boards block plain requests or need a browser. The run then stops at HTTP Request or gets no description
  • Contact details: all three are required, so a resume with no email may still get one from the model. Check it before you write to anyone
  • Repeats: every submission is a new row. Nothing checks for a candidate sent twice
  • Open form: anyone with its address can send files on your OpenAI credit. The candidate sees no score, despite the form’s title
  • Fair hiring: in some places, New York City among them, software that helps rank candidates needs a bias audit and a notice to candidates. Check the rules where you hire. Have a person read every row
  • Your data: each resume and job post goes to OpenAI, and names and emails sit in your sheet
  • Credentials: the JSON holds none and no sheet ID. The backslashes the original copy lost from two columns are back

README and files

README

Resume fit score against a job post

An n8n workflow that rates a resume against one job post. Someone uploads a PDF resume on a form and pastes the job
post's link. The workflow reads the resume, fetches the post and has OpenAI pull the description out of the page. An
OpenAI agent then lists the candidate's strengths and weaknesses, rates the risk and the reward of hiring them, and
gives a fit score from 0 to 10 with its reasons. The candidate's name and email come out of the resume, and everything
lands as one row in Google Sheets.

What is inside

  • workflow.json: the workflow as n8n exports it, 14 nodes, one of them a sticky note. It holds no credential and no
    sheet ID.
  • README.md: these notes.

What we changed from the original copy

  • Append Data pointed at its author's sheet. It now asks for YOUR_SHEET_ID and writes to the first tab.
  • The Strengths and Weaknesses columns joined each list with join("nn"), because the original copy lost its
    backslashes. They are back, so the items sit on their own lines again: join("\n\n").
  • The agent's model node named o4-mini. OpenAI's deprecations page, read on 2 November 2026, lists it as shut down on
    23 October 2026 with gpt-5.6-terra as the replacement, so requests to it fail. The node now uses gpt-5.6-terra
    and carries that name.

Before you start

  • An n8n instance, on n8n Cloud or your own server.
  • An OpenAI API key.
  • A Google account and a sheet for the results.
  • Resumes as PDF files with real text in them, not scans.
  • Job posts at addresses that open without a sign-in.

Set it up

  1. In n8n, create a workflow, open its menu and choose Import from File. Pick workflow.json.
  2. Add an OpenAI credential and select it in gpt-5.6-terra and OpenAI Chat Model.
  3. Make a sheet whose first tab has these headers in row 1: Date, First Name, Last Name, Email, Strengths,
    Weaknesses, Risk Factor, Reward Factor, Justification, Overall Fit.
  4. Add a Google Sheets credential in Append Data and replace YOUR_SHEET_ID with the ID from the sheet's address,
    the part between /d/ and /edit.
  5. Open On form submission. Its title is Check Your Resume Score. Rename it if only your team will use it, and set the
    Resume field's accepted file types to .pdf.
  6. Save, open the form from its test address, upload a resume with a job link, then publish the workflow.

How a run goes

  1. On form submission takes the resume file and the job post's link. Both are required.
  2. Extract from File2 reads the text out of the PDF, and Set Resume keeps it as resume.
  3. On a second branch, HTTP Request fetches the job link, and Information Extractor1 has gpt-4.1-mini pull the job
    description out of the page.
  4. Merge and Aggregate put the two texts together in one item, the resume first.
  5. Recruiter Agent compares them with gpt-5.6-terra. Its answer has to fit the six fields in
    Structured Output Parser: strengths, weaknesses, risk with the worst case, reward with the best case, a
    whole-number score out of 10, and the reasons.
  6. Information Extractor reads the resume again for the first name, the last name and the email.
  7. Append Data adds one row to the sheet, with the date and time of the run.

Change the look

  • What the agent looks for: the system message in Recruiter Agent, where the output format and the scale are set.
  • Which fields come back: the schema in Structured Output Parser. Change the Append Data mapping to match.
  • More contact details, such as a phone number: add an attribute in Information Extractor and a column for it.
  • The models: gpt-5.6-terra for the rating and the contact details, OpenAI Chat Model for the job post.
  • The form: its title, its labels and its accepted file types in On form submission.

Good to know

  • Billing: OpenAI bills three calls a run. The one that reads the job post receives the whole page's HTML, which can
    be long.
  • The date: Append Data writes it with hh:m a, so minutes under ten lose their zero, as in 03:5 PM. Change it to
    hh:mm a.
  • Files: only PDFs can be read. A Word file stops the run at Extract from File2, and a scanned PDF gives the agent an
    empty resume to rate.
  • Job links: many job boards block plain requests or need a browser to show the post. Then the run stops at
    HTTP Request, or the description comes back empty. A company's own careers page works better.
  • Contact details: all three fields are required, so when a resume has no email, the model may still return one.
    Check that column before you write to anyone.
  • Repeats: every submission adds a new row, so the same candidate sent twice shows up twice.
  • Open form: once it is published, anyone with its address can send files and spend your OpenAI credit. The candidate
    sees no score. It goes only to your sheet.
  • Models: OpenAI's page lists gpt-4.1-mini for shutdown on 14 January 2027, with gpt-6-luna as the replacement.
    Change OpenAI Chat Model before then.
  • Fair hiring: the score is one model's reading of two texts. In some places, New York City among them, software that
    helps rank candidates needs a bias audit and a notice to candidates. Check the rules where you hire, and have a person
    read every row before a decision.
  • Your data: each resume and job post goes to OpenAI, and names and emails sit in your sheet. Tell candidates how their
    resume is handled.
Files
README.md  5 KB
workflow.json  17 KB

2 files, 22 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-03

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

Huashu Design

alchaincyf · Skill

Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…

New29.4k

Guizang PPT Skill

op7418 · Skill

Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…

New29.8k

Claude Code Skills & Plugins

alirezarezvani · Skill

Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…

New29.8k

Similar in Business

See all in Business

pplx-decider-v1.1-27b

perplexity-ai · Kit

Picks the best option for a decision from text and images, such as which team should handle a request, with a probability for each choice, for developers who b…

New

NuExtract3

numind · Kit

Reads documents as text or images and fills a JSON template with the fields you ask for, or converts the pages to Markdown. A 4B model for teams that process s…

New

Drex DLM

nace-ai · Kit

Scores yes or no, multiple choice and rating questions about a document in one pass, with a probability for every option. An 8B decision model from Nace.AI tha…

New