Bonsai-27B-GGUF
lmstudio-community · Kit
A GGUF conversion of the 27B Bonsai model for LM Studio, with a 3.80 GB Q1_0 language file and a 0.93 GB BF16 vision projector. Tested for text, vision and par…
An n8n workflow for ERPNext. A webhook sends each new job applicant to Google Gemini, which scores the resume against the job opening. The workflow saves the score and sets the applicant’s status.
ERPNext job applicants scored against the opening by AI 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.
New job applicant in ERPNext
It starts when ERPNext sends a new applicant to the webhook, with:
Each applicant carries an AI score and a reason in ERPNext, with a status of Accepted, Rejected or Hold
What you need before you start.
Applicants and openings
Sends each new applicant to the webhook, returns the job opening, and takes the score and the status back.
NeedsAn ERPNext API credential, a webhook on Job Applicant and three custom fields
Language model
Reads the resume text and the job description, then writes the fit level, score, rating and reason.
NeedsA Google Gemini API key
Applicant notice, empty
An empty node after a rejection, left for you to write an email to the applicant. It sends nothing until you fill it in.
NeedsA Microsoft Outlook OAuth2 credential, if you use it
Applicant notice, empty
An empty node after an acceptance, left for you to write a message to the applicant. It sends nothing until you fill it in.
NeedsA WhatsApp Business Cloud credential, if you use it
Checked by Mindket on 13 Nov 2026
This n8n workflow scores each new ERPNext job applicant against the opening they applied for. ERPNext calls a webhook when an applicant is added. A resume link that does not start with http gets the applicant rejected, and an applicant who named no opening is put on hold. For everyone else the workflow downloads the PDF resume, turns it into text and fetches the job opening. Google Gemini reads both and writes a fit level, a score from 0 to 100, a rating and a short reason. The workflow saves those four values on the applicant. A score under 80 sets the status to Rejected, and 80 or more sets Accepted. Two empty message nodes follow, ready for an email or a WhatsApp notice. The file holds 38 nodes, fifteen of them sticky notes.
HR teams and recruiters who run ERPNext and want a first screen of each application, with a score they can sort by. Skip it if a person must approve every rejection. As imported, an applicant who scores under 80 is set to Rejected with nobody looking.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Staffing | Recruiters | Sort a large pile of applicants by fit before reading any | A staffing agency gets 200 applicants for one warehouse role and opens the highest scores first. |
| Manufacturing | HR officers | Check technical applicants against the skills in the posting | A factory scores each welder applicant against the skills its opening lists. |
| Education | School administrators | Shortlist teaching applicants for a subject | A school ranks the applicants for its physics post by score. |
| Retail | Store managers | Screen seasonal applicants quickly | A retailer scores the applicants for a holiday supervisor role. |
You need to know n8n and ERPNext: a webhook with a custom body, three custom fields on the applicant, two credentials and resume links that end in .pdf.
Any n8n that can reach your ERPNext and Google Gemini will run it. ERPNext has to reach the webhook’s address over the internet, and n8n has to open each resume link without a login.
Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Add the three custom fields in ERPNext first.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| ERPNext | An API credential, permission to add a webhook, and three custom fields on Job Applicant |
| A Google Gemini API key, added as a credential in n8n | |
| Resumes | PDF files whose link opens without a login, kept in the applicant’s Link field |
| Field name | What it holds |
|---|---|
custom_fit_level | Strong Fit, Moderate Fit or Weak Fit |
custom_score | The score from 0 to 100 |
custom_justification_by_ai | The reason Gemini gives |
workflow.json.applicant_rating is already there.<YOUR_ERPNEXT_HOST> in the address with your ERPNext host, such as erp.example.com.Google Gemini Chat Model.Microsoft Outlook and WhatsApp Business Cloud, or delete one or both. As they stand, neither has a recipient or a message.name, Job_opening and resume_link. Use the Webhook test address first.Nothing to open once it is published. Add an applicant in ERPNext with a resume link and a job opening. The workflow runs for each new applicant and leaves a status on the record.
| To change | Where |
|---|---|
| How Gemini scores and what it writes | The prompt in Recruitment AI Agent |
| The pass mark, 80 by default | If score less than 80 |
| Which resumes are accepted | Resume Link Provided, and the rules in File Type |
| Whether an opening is required | Applied Against Job |
| The model | Google Gemini Chat Model |
A school adds a physics teacher applicant, with a link to a PDF resume and its Physics Teacher opening. ERPNext posts the applicant to the webhook.
The workflow downloads the PDF and turns it into text, then fetches the opening and its description. Gemini compares the two and answers Strong Fit, a score of 86, a rating of 4 and a short reason. The applicant gets those values, and the status becomes Accepted because 86 is above 80.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This one has two gates near the start, then one long path to the AI step. Three statuses can come out: Rejected, Hold and Accepted. Test with an applicant of your own first.
For experts. Only the PDF route is wired, and Gemini’s answer is read back by fixed labels.
| Node | What it does | What to know |
|---|---|---|
File Type | Sorts the link by its ending: .pdf, .doc or .jpg | Only the .pdf output leads on, and the match is case sensitive, so .PDF goes nowhere |
Download PDF Resume | Fetches the link with no credential | The link has to open without a login |
Recruitment AI Agent | Runs a ReAct agent on Gemini with the job description and the resume text | A scanned PDF gives it no text to read |
Convert to Fields | Reads the fit level, score, rating and reason from the answer by text patterns | The answer must keep the labels FitLevel:, Score:, Rating: and Justification: |
If score less than 80 | Rejects below 80 and accepts the rest | A score of exactly 80 is accepted |
A low score sets Rejected with nobody looking, and two of its nodes are empty.
gemini-2.0-flash-exp. Google’s deprecations page, read on 12 November 2026, shows the 2.0 flash family shut down on 1 June 2026, with gemini-3.6-flash as the replacement, and Mindket set that oneMicrosoft Outlook and WhatsApp Business Cloud have no recipient, subject or message. Fill them in or delete them before the first testWebhook has no authentication, so anyone who learns its address can post a fake applicant. Add Header Auth in the node and in ERPNextAn n8n workflow for ERPNext. When a job applicant is added, it reads the PDF resume, compares it with the job opening and has
Google Gemini write a fit level, a score, a rating and a reason. It saves them on the applicant, and a score under 80 sets the
status to Rejected while 80 or more sets Accepted.
workflow.json: the workflow as n8n exports it, 38 nodes. Fifteen are sticky notes that explain its steps. It holds noREADME.md: these notes.gemini-2.0-flash-exp. It is now models/gemini-3.6-flash, which Google names as the replacement for its 2.0FitLevel with no colon, while Convert to Fields looks for FitLevel:. The prompt now has the colon,<YOUR_ERPNEXT_HOST>, so put in your own.erpnext-job-applicant-shortlist.Microsoft Outlook, WhatsApp Business Cloud and Txt File to Text (Example) are as the original left them.workflow.json.custom_fit_level,custom_score and custom_justification_by_ai. applicant_rating is already there.ERPNext - Reject if Resume not Attached, ERPNext - Hold Applicant,Get Job Opening, Reject Applicant, Update Applicant Data and Accept Applicant.Reject Applicant, Update Applicant Data and Accept Applicant, replace <YOUR_ERPNEXT_HOST> in the address with yourerp.example.com.Google Gemini Chat Model.Microsoft Outlook and WhatsApp Business Cloud, or delete one or both. As they stand, neither has a recipient or aname, Job_openingresume_link (a link ending in .pdf). Use the Webhook test address first.Webhook receives the applicant. Code adds a field called myNewField that nothing uses, and ApplicantData keeps theResume Link Provided checks that body.resume_link starts with http. If not, ERPNext - Reject if Resume not AttachedApplied Against Job checks that body.Job_opening is not the text None. If it is, ERPNext - Hold Applicant sets theReume Attachment Link copies the link into body.resume_attachment, and File Type sorts it by its ending. Only the pdfDownload PDF Resume fetches the file, PDF to Text reads its text and Merge1 passes it on.Get Job Opening fetches the opening from ERPNext by name.Recruitment AI Agent sends Gemini the job title, the description and the resume text, and asks for FitLevel, Score,Convert to Fields reads the four values out of the answer, and Update Applicant Data saves them on the applicant.If score less than 80 decides. Reject Applicant sets Rejected, and Accept Applicant sets Accepted. The emptyMicrosoft Outlook and WhatsApp Business Cloud nodes come after them.Recruitment AI Agent. It says what to compare and how to grade.If score less than 80.Reject Applicant. Set its status to Hold if a person should decide.Resume Link Provided, and the three rules in File Type.Google Gemini Chat Model.Microsoft Outlook or WhatsApp Business Cloud.gemini-3.6-flash as its replacement. It does not list the experimental gemini-2.0-flash-exp by name.Reject Applicant at Hold.Microsoft Outlook and WhatsApp Business Cloud are empty. They have no recipient, subject or message, so fill them in or.pdf links go on, and the match is case sensitive. A .doc or .jpg link ends the run with no change to theTxt File to Text (Example) has no input. It is a sketch of a second file type.Webhook has no authentication, so anyone who learns its address can post a fake applicant. Add Header Auth in the node andNOTICE.md 640 B README.md 6 KB workflow.json 29 KB
lmstudio-community · Kit
A GGUF conversion of the 27B Bonsai model for LM Studio, with a 3.80 GB Q1_0 language file and a 0.93 GB BF16 vision projector. Tested for text, vision and par…
LibertAIDAI · Kit
Runs DeepSeek-V4.1-Flash-1017 as a 2.9 bits-per-weight EXL3 quantization, a 196 GiB copy for people serving large models on their own hardware. Perplexity stay…
facebook · Kit
Generates short music clips from a text description or an audio prompt, in the small checkpoint of facebook's MusicGen. It suits developers and music hobbyists…
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…