Score and triage Indeed CVs with Mistral OCR, Groq, and Google Sheets

Go to Workflow
0 views
Built by Federico Federico
Created on June 10, 2026

Description

Who is it for

This template is for HR teams, recruitment agencies, and startups that receive job applications via Indeed and want to eliminate manual CV screening. If you're spending hours reading CVs before deciding who to call, this workflow automates that first-pass evaluation entirely.

What it does

Every time a candidate applies through Indeed, this workflow:

Picks up the application email via IMAP and extracts the CV attachment
Uploads the CV to a dedicated Google Drive folder (organized by job position)
Runs OCR on the PDF using Mistral AI to extract clean text
Sends the CV text to Groq (Llama 3.3 70B) for structured analysis
Validates the AI output and enforces score/recommendation consistency
Appends every candidate to a Google Sheets HR dashboard
Sends a formatted HTML email to the recruiter — but only for candidates scoring ≥ 75

Each candidate receives a score from 0 to 100 and one of four recommendations: REJECT, REVIEW, INTERVIEW, or STRONG_HIRE. The AI also extracts key skills, years of experience, languages, education, strengths, and weaknesses.

Estimated cost: ~€0.005 per CV (OCR + LLM combined).

How to set up

Import the workflow into your n8n instance
Open the ⚙️ Configuration node and fill in your values:
Google Drive root folder ID
Google Sheets ID
Recruiter and ops email addresses
Score threshold for notifications (default: 75)
IMAP subject filter: set it to Nuova candidatura per (the subject prefix Indeed uses for Italian accounts — adapt it to your language, e.g. New application for for English)
Connect your credentials: IMAP, Google Drive OAuth2, Google Sheets OAuth2, Mistral AI, Groq, SMTP
Set up a dedicated mailbox to receive Indeed applications
Activate the workflow

Requirements

n8n (cloud or self-hosted)
Mistral AI** API key — used for PDF OCR (mistral-ocr-latest)
Groq** API key — used for LLM analysis (free tier: 30 RPM)
Google Drive and Google Sheets OAuth2 credentials
An IMAP mailbox configured to receive Indeed application emails
SMTP credentials for outgoing notifications

> For high-volume hiring, a self-hosted n8n instance with queue mode (Redis + PostgreSQL) is recommended to handle parallel CV processing.

How to customize

Change the AI model**: swap the Groq model in the Groq Chat Model node (e.g. mixtral-8x7b)
Adjust the scoring threshold**: update SCORE_THRESHOLD in the Configuration node
Extend the output**: add Slack or Telegram notifications, auto-create tasks in Asana/Trello, or trigger a rejection email for scores below 30
Use a different OCR**: for text-only CVs, replace Mistral OCR with the free Extract from File node
Change the destination**: Google Sheets can be replaced with Notion, Airtable, Baserow, or a direct PostgreSQL insert

How Indeed email notifications work

Indeed does not offer a public API or webhooks for receiving applications in real time. Instead, every time a candidate applies to one of your job postings, Indeed automatically sends an email notification to your registered employer address — with the CV attached as a PDF.

The subject line follows the format:
> Nuova candidatura per [Job Title] - [Candidate Name] (Italian)
> New application for [Job Title] - [Candidate Name] (English)

This workflow connects to that mailbox via IMAP, polls it every minute for unseen emails matching that subject prefix, downloads the CV attachment, and kicks off the automation. No manual steps required.

> Tip: use a dedicated mailbox (e.g. [email protected]) forwarded from your Indeed account to keep things clean and avoid false positives.

Nodes Used (8)

Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm
Code
n8n-nodes-base.code
Google Drive
n8n-nodes-base.googleDrive
Google Sheets
n8n-nodes-base.googleSheets
Groq Chat Model
@n8n/n8n-nodes-langchain.lmChatGroq
HTTP Request
n8n-nodes-base.httpRequest
Send Email
n8n-nodes-base.emailSend
Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured