π₯ Automate Candidate Screening with LlamaIndex & GPT for Email Responses
β‘ 373 views Β· π₯ HR & Recruitment
Description
Stop drowning in CVs. This n8n workflow, HRMate, parses every incoming job application, scores candidate fit with AI, and sends personalized accept or reject emails. No manual screening, no ghosted applicants.
It triggers on each new email application, extracts candidate info and PDF resumes, parses content with LlamaIndex AI, scores candidates against your requirements with OpenAI, then sends tailored emails and updates status automatically.
Last updated: September 2026.
Why Use HRMate?
- Save hours of manual CV screening and email replies
- Never ghost applicants again. Automatic, polite rejections with AI-generated growth suggestions
- Increase hiring accuracy with AI-assisted candidate scoring
- Centralize communication with auto-acceptance invites including calendly scheduling links
- Fully customizable and scalable for multiple job openings
Who Is This For?
- HR teams overwhelmed with incoming applications
- Small businesses wanting professional recruitment automation
- Recruiters seeking data-driven candidate assessments
- Companies aiming to improve applicant experience and speed
What Problem Does It Solve?
Manual screening is slow, inconsistent, and lets candidates slip through the cracks. HRMate automates parsing, evaluation, and personalized emails, cutting workload while keeping candidates engaged.
What This Workflow Does
-
Trigger: On every new incoming email application via Gmail Trigger (polls every minute)
-
Attachment Check: Detects and uploads PDF resumes to LlamaIndex AI for parsing
-
Parsing: Waits and retrieves clean markdown text of candidate documents
-
AI Evaluation: Matches candidate profile against job criteria using gpt-5.6-terra, scoring fit from 1 to 100
-
Email Communication:
- If score β₯ 80 β sends acceptance email with calendly interview scheduling link
- If score < 80 β sends rejection email with professional, motivational feedback generated by AI
-
Status Update: Marks candidate as accepted/rejected and optionally updates Google Sheets
Setup Instructions
-
Import
.jsonworkflow into n8n -
Add credentials:
- Gmail OAuth2 (trigger & email sending)
- LlamaIndex API key (for PDF parsing, docs)
- OpenAI API key (gpt-5.6-terra model for evaluation)
-
Customize job criteria in βSet Job Criteria Textβ node
-
Update email templates and calendly links as needed
-
Test workflow with real incoming applications
Pre-Requirements
- n8n instance (self-hosted or cloud)
- Gmail account with API credentials
- LlamaIndex API access
- OpenAI API key
- Google Sheets (optional, for status tracking)
Customize It Further
- Add new job positions by replicating job criteria and subject filters
- Modify evaluation criteria or prompts in OpenAI node
- Integrate Slack or other notification nodes
- Adjust email content and branding for acceptance/rejection messages
Nodes Used
- Gmail Trigger
- HTTP Request (LlamaIndex API)
- Wait node (poll parsing status)
- Code node (markdown cleaning)
- OpenAI gpt-5.6-terra node (candidate evaluation)
- IF nodes (conditional email flow)
- Gmail node (send acceptance/rejection emails)
- Set nodes (data preparation & status marking)
- Google Sheets (optional update)
- Sticky Notes for documentation
Quick Answers
What score gets an interview?
80 or above triggers an acceptance email with a calendly scheduling link. Below 80 gets a polite rejection with AI-generated feedback.
What triggers the workflow?
Every new email application via the Gmail Trigger, which polls every minute.
Can it handle multiple openings?
Yes. Replicate the job criteria and subject filters per position.
Support
Made by: khmuhtadin
Tag: hr, recruitment, candidate-screening, openai, gmail
Category: HR & Recruitment
Need a custom? Contact Me
Additional info
Built with n8n. Need an assessment on your business? Feel free to reach out at https://khmuhtadin.com/consultation/
π Nodes Used
Google Sheets, HTTP Request, Gmail, Gmail Trigger, OpenAI
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File