workflows.fit
Back to n8n workflows
n8n templateFreeBy Lucas Hideki

Screen CVs with OpenAI and PostgreSQL using chained prompts

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, differentia...

DevelopmentData & StorageCore NodesAILangchainSticky NoteWebhookPostgres
Loading interactive preview...

Template notes

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-analyze with { "jobid": 1, "candidateids": [1, 2, 3] }