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…
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.
Form
It starts when someone sends the Check Your Resume Score form with:
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
What you need before you start.
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
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
Checked by Mindket on 13 Nov 2026
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.
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.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Recruitment agencies | Recruiters | Sort a stack of resumes for one client role | A recruiter uploads 20 resumes against one sales role, then sorts the sheet by Overall Fit. |
| Software | Hiring managers | Get a second view on engineering applicants | A manager checks a backend resume against the post on the company’s own careers page. |
| Small businesses | Owners who hire a few times a year | Screen applicants without a hiring system | A 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.
Any n8n that can reach OpenAI, Google and the job page will run it. The results stay in your sheet.
Get it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| OpenAI | An API key, for the rating, the contact details and the job post |
| An account and a sheet with ten headers | |
| Resumes | PDF files with real text in them, not scans |
| Job posts | Pages that open without a sign-in |
workflow.json.gpt-5.6-terra and OpenAI Chat Model.Date, First Name, Last Name, Email, Strengths, Weaknesses, Risk Factor, Reward Factor, Justification and Overall Fit.Append Data and replace YOUR_SHEET_ID.On form submission, rename the title if only your team will use it, and limit the Resume field to .pdf.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.
| To change | Where |
|---|---|
| What the agent weighs | The system message in Recruiter Agent |
| The fields it returns | The schema in Structured Output Parser, with the Append Data mapping |
| More contact details | An attribute in Information Extractor and a column for it |
| The date format | Date in Append Data, yyyy-MM-dd hh:m a in the file |
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
}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.
| Step | Model | What to know |
|---|---|---|
Information Extractor1 | gpt-4.1-mini | Gets the job page’s whole HTML and returns one field, the description |
Recruiter Agent | gpt-5.6-terra | The file named o4-mini, which OpenAI shut down on 23 October 2026 |
Information Extractor | gpt-5.6-terra | Returns 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.
Treat the score as a first sort, never as the decision.
hh:m a drops the zero from minutes under ten, as in 03:5 PM. Use hh:mm aExtract from File2, and a scanned PDF leaves the agent nothing to rateHTTP Request or gets no descriptionAn 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.
workflow.json: the workflow as n8n exports it, 14 nodes, one of them a sticky note. It holds no credential and noREADME.md: these notes.Append Data pointed at its author's sheet. It now asks for YOUR_SHEET_ID and writes to the first tab.join("nn"), because the original copy lost itsjoin("\n\n").o4-mini. OpenAI's deprecations page, read on 2 November 2026, lists it as shut down ongpt-5.6-terra as the replacement, so requests to it fail. The node now uses gpt-5.6-terraworkflow.json.gpt-5.6-terra and OpenAI Chat Model.Date, First Name, Last Name, Email, Strengths,Weaknesses, Risk Factor, Reward Factor, Justification, Overall Fit.Append Data and replace YOUR_SHEET_ID with the ID from the sheet's address,/d/ and /edit.On form submission. Its title is Check Your Resume Score. Rename it if only your team will use it, and set the.pdf.On form submission takes the resume file and the job post's link. Both are required.Extract from File2 reads the text out of the PDF, and Set Resume keeps it as resume.HTTP Request fetches the job link, and Information Extractor1 has gpt-4.1-mini pull the jobMerge and Aggregate put the two texts together in one item, the resume first.Recruiter Agent compares them with gpt-5.6-terra. Its answer has to fit the six fields inStructured Output Parser: strengths, weaknesses, risk with the worst case, reward with the best case, aInformation Extractor reads the resume again for the first name, the last name and the email.Append Data adds one row to the sheet, with the date and time of the run.Recruiter Agent, where the output format and the scale are set.Structured Output Parser. Change the Append Data mapping to match.Information Extractor and a column for it.gpt-5.6-terra for the rating and the contact details, OpenAI Chat Model for the job post.On form submission.Append Data writes it with hh:m a, so minutes under ten lose their zero, as in 03:5 PM. Change it tohh:mm a.Extract from File2, and a scanned PDF gives the agent anHTTP Request, or the description comes back empty. A company's own careers page works better.gpt-4.1-mini for shutdown on 14 January 2027, with gpt-6-luna as the replacement.OpenAI Chat Model before then.README.md 5 KB workflow.json 17 KB
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…
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…
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…
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…
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…
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…