Workflow Flow
Application Received (email / form)
↓
n8n Email / Webhook Trigger
↓
Extract CV Text (PDF parser)
↓
OpenAI — Score vs Job Requirements
(fit score 1–10, skills gap, recommendation)
↓
┌──────┼──────┐
High Medium Low
Fit Fit Fit
↓ ↓ ↓
Slack Sheets Auto-
Alert Log Reject
Email Nodes Required
| Node | Purpose |
|---|---|
| Email Trigger | Receives application emails |
| Code (PDF) | Extracts text from CV attachment |
| OpenAI Chat | Score candidate vs job spec |
| Switch | Route by fit score |
| Slack | Notify hiring manager of high-fit candidates |
| HTTP Request (Resend) | Send acknowledgment email |
| Google Sheets | Candidate tracking sheet |
ROI Calculation
| Before | After |
|---|---|
| 45 min per CV reviewed manually | < 30 seconds per application |
| Qualified candidates wait days | Hiring manager alerted instantly |
| Inconsistent evaluation criteria | Same rubric applied to every applicant |
Configuration Variables
OPENAI_API_KEY GPT-4o for scoring
JOB_REQUIREMENTS Paste full job description as system context
HIRING_SLACK_CHANNEL e.g. #hiring-alerts
RESEND_API_KEY Candidate acknowledgment emails
SHEETS_ID Candidate tracking spreadsheet