Screen CVs with OpenAI and PostgreSQL using chained prompts
Workflow preview
$20/month : Unlimited workflows
2500 executions/month
THE #1 IN WEB SCRAPING
Scrape any website without limits
HOSTINGER
Early Deal
DISCOUNT 20% Try free
DISCOUNT 20%
Self-hosted n8n
Unlimited workflows - from $4.99/mo
#1 hub for scraping, AI & automation
6000+ actors - $5 credits/mo
Overview
How it works
- Webhook receives a job ID and list of candidate IDs from your database
- If the job has no template yet, Prompt 0 reads the job description and automatically extracts mandatory requirements, differentials, behavioral competencies and sets the weight of each criterion
- For each candidate, 3 prompts run sequentially with accumulated context:
- Prompt 1 scores the candidate (0–100) against the job template using calibration anchors to avoid score inflation, plus a breakdown score per criterion
- Prompt 2 receives the score as context and identifies strengths with concrete resume evidence, separating critical gaps (missing mandatory requirements) from secondary gaps (missing differentials)
- Prompt 3 receives the gaps as context and generates personalized interview questions for that specific candidate — not generic HR templates
- Results are saved directly to PostgreSQL after each candidate
- When all candidates are processed, Prompt 4 automatically generates an executive summary of the entire pool with recommendations on who to interview
Set up steps
- Add your OpenAI credentials to all AI nodes (~2 min)
- Add your PostgreSQL credentials to all Postgres nodes (~2 min)
- Create the required tables using the SQL schema provided in the workflow sticky note (~5 min)
- Trigger via
POST /webhook/cv-analyzewith{ "job_id": 1, "candidate_ids": [1, 2, 3] }