👥 Screen and score CV candidates with Mistral OCR and Gemini

⚡ 128 views · 👥 HR & Recruitment

Description

AI-Powered Hiring Pipeline: Auto-Screen CVs, Score Candidates & Send Interview Invites

Stop manually reading every CV. This workflow watches your inbox, extracts CV text using Mistral OCR, scores every candidate against your job description using Google Gemini AI, and automatically routes them - shortlisted candidates get a professional interview invite, rejected ones get a polite decline, and HR receives a full AI summary with the CV attached. All hands-free.

Who Is This For?

What Problem Does This Solve?

Manually reviewing CVs is time-consuming, inconsistent, and expensive. This workflow eliminates the bottleneck by automatically:

You focus on interviewing. The pipeline handles everything else.

Key Features

How It Works (Step-by-Step)

  1. 📥 Watch Inbox → IMAP trigger fires when a new email arrives with a CV attachment
  2. 📄 OCR Extraction → Mistral’s mistral-ocr-latest model reads the CV and outputs clean structured text
  3. 🤖 AI Scoring → Google Gemini evaluates the CV against your job description and returns a structured JSON with score, decision, candidate name, 3–4 sentence summary, and top 5 skills
  4. ⚙️ Parse & Route → a Code node cleans Gemini’s response, extracts candidate email from the IMAP from field, and passes the binary CV forward
  5. 🔀 IF Decision → routes shortlisted candidates to the true branch and rejected to the false branch
  6. 📧 HR Email → HR receives a branded email with the AI score, candidate summary, key skills, and the original CV attached
  7. 📧 Interview Invite → shortlisted candidate receives a professional invitation with a scheduling link and “What to Expect” section
  8. 📧 Polite Decline → rejected candidate receives a warm, empathetic decline with a link to your careers page

🛠️ Setup Instructions

Step 1 - Credentials Required

You need to set up 4 credentials in n8n:

CredentialNode UsedWhere to Get It
IMAP accountEmail TriggerYour email provider settings (Gmail: use App Password)
Mistral Cloud APIOCR ExtractionMistral AI Studio → API Keys
Google Gemini (PaLM) APIAI ScoringGoogle AI Studio → Get API Key
SMTP accountAll 3 email nodesYour email provider SMTP settings

> 💡 Gmail users: Enable 2FA and generate an App Password for both IMAP and SMTP. Use imap.gmail.com:993 and smtp.gmail.com:587.

Step 2 - Update Email Addresses

In all 3 Send Email nodes, replace the placeholder emails:

Step 3 - Add Your Job Description

Open the 🤖 AI Score CV (Gemini) node and replace the JOB DESCRIPTION: section in the prompt with your actual role requirements. The current template uses an AI Engineer JD from AppStoneLab as a working example.

In the 📧 Send Interview Invite to Candidate node, find YOUR_CALENDLY_OR_CAL_LINK_HERE in the HTML and replace it with your actual booking link (Calendly, Cal.com, TidyCal, etc.).

How to Customize for Your Use Case

What to ChangeWhereExample
Job descriptionGemini node promptSwap in your own role requirements
Scoring thresholdIF node conditionChange "shortlisted" to score-based logic e.g. score >= 70
Company name & brandingAll 3 HTML email templatesReplace “AppStoneLab Technologies” with your company
Careers page URLDecline email HTMLReplace appstonelab.com/career with your URL
AI modelGemini nodeSwitch to gemini-3-flash-preview or gemini-3.1-pro-preview for different speed/quality
Watched mailboxIMAP triggerChange INBOX to a dedicated folder like INBOX.careers
Interview questionsInvite email HTMLAdd/edit the “What to Expect” section steps

Important Notes

💬 Questions or Issues?

Drop a comment on this template or reach out on the n8n community forum. Happy to help you adapt this for your specific hiring use case.

🔗 Nodes Used

Email Trigger (IMAP), Send Email, Mistral AI, Google Gemini

📥 Import

Download workflow.json and import into n8n: Workflow menu → Import from File

📖 Importing guide · 🔑 Credential setup