Get the file
Join Discord and open #freebies. The flow file and setup help are there.
This workflow scores an application against criteria you write, saves every applicant to a sheet, and once each weekday tells HR which three scores were highest that day. It does not reject anyone, and it does not offer a role, a placement, or an interview. It is free. There is no form on this page. You import it into your own n8n and run it there.
The flow file and setup help are in #freebies on our Discord.

Two entry points in one workflow.
Application In is a webhook. Post JSON with name, email, and resumeText. Job Criteria holds the role title and the must-haves. The file ships with a performance marketing example. Replace it. Claude: Screen calls claude-haiku-4-5 with $env.ANTHROPIC_API_KEY and returns a score, a recommendation, strengths, gaps, and a summary.
Shape Row builds the sheet row. The date is the calendar day in Asia/Kolkata, not UTC. A constant named TIMEZONE at the top of that node is the place to change it. Log Candidate (everyone) appends the row to a Google Sheet tab named Candidates. ACK answers the webhook. Every applicant is logged. The file does not delete or hide a low score.
Weekdays 8am uses cron 0 8 * * 1-5. The workflow timezone is Asia/Kolkata, so that is 08:00 IST on weekdays. Read Candidates loads the sheet. Rank Top 3 keeps rows whose date is today in the same timezone, sorts by score, and takes three. Slack: Top 3 to HR posts the note to $env.SLACK_WEBHOOK_URL. Everyone else stays on the sheet for a person to read.
ANTHROPIC_API_KEY for Claude: Screen.YOUR_GOOGLE_SHEET_ID on both sheet nodes. The tab name in the file is Candidates.SLACK_WEBHOOK_URL.TIMEZONE = 'Asia/Kolkata'. The workflow setting uses the same zone so the 08:00 cron and the "today" filter agree. Change all three together if your morning is not IST.This file reads secrets with $env. n8n 2.x blocks that by default. If a node stops with an env access error, use the n8n env access fix.
Four steps. The file in #freebies is rup-recruitment-screening.json.
Join Discord and open #freebies. The flow file and setup help are there.
In n8n, use Import from File and pick the JSON from #freebies.
Set the two env vars, connect Google Sheets, paste the sheet id, and rewrite Job Criteria.
POST a test application to the webhook path n8n shows for Application In. The sheet should gain a row, and the webhook should answer. On a weekday at 08:00 IST, Slack gets the three highest scores from that IST day.
No. Every application is appended to the sheet. The Slack note only highlights three names. A person still reads the sheet.
No. It scores text you send it and notifies HR. A person still decides what happens next.
The digest is meant for 08:00 IST. UTC dates were dropping applications that arrived after midnight in India but before 05:30 UTC. Both the logged date and the digest filter now use Asia/Kolkata.
JSON with name, email, and resumeText to the production URL of the Application In webhook.
Goat O Mate is a community of builders shipping marketing and AI automations together.
Join Discord