Skip to main content

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

Workflow preview

Workflow preview
100%
Score and triage Indeed CVs with Mistral OCR, Groq, and Google Sheets preview
Open on n8n.io

1. Workflow Overview

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

Best for

  • HR automation workflows
  • AI Summarization automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.set, n8n-nodes-base.emailreadimap, n8n-nodes-base.code, @n8n/n8n-nodes-langchain.chainllm, @n8n/n8n-nodes-langchain.outputparserstructured, n8n-nodes-base.if, n8n-nodes-base.emailsend

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Federico.

Original n8n.io source

1.1 Workflow description

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

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:

  1. Picks up the application email via IMAP and extracts the CV attachment
  2. Uploads the CV to a dedicated Google Drive folder (organized by job position)
  3. Runs OCR on the PDF using Mistral AI to extract clean text
  4. Sends the CV text to Groq (Llama 3.3 70B) for structured analysis
  5. Validates the AI output and enforces score/recommendation consistency
  6. Appends every candidate to a Google Sheets HR dashboard
  7. 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

  1. Import the workflow into your n8n instance
  2. 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)
  1. Connect your credentials: IMAP, Google Drive OAuth2, Google Sheets OAuth2, Mistral AI, Groq, SMTP
  2. Set up a dedicated mailbox to receive Indeed applications
  3. 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.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - 📋 Overview Workflow

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 2 - ⚙️ Configuration

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 3 - 📥 Note IMAP

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 4 - 🔍 Note Extract

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 5 - 📁 Note Drive

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 6 - 🧠 Note OCR

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 7 - ✨ Note AI Chain

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 8 - 📐 Note Schema

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 9 - ✅ Note Validate

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 10 - 📊 Note Sheets

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 11 - 🎯 Note Notify

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 12 - ⚠️ Note Errori

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 13 - 🔒 Note GDPR

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 14 - IMAP Email Trigger (Indeed)

Type / Role
n8n-nodes-base.emailReadImap - emailReadImap
Config choices
Version 2

Block 15 - Extract Email Metadata

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 16 - ✨ CV Analyzer Chain

Type / Role
@n8n/n8n-nodes-langchain.chainLlm - chainLlm
Config choices
Version 1.7

Block 17 - Structured Output Parser

Type / Role
@n8n/n8n-nodes-langchain.outputParserStructured - outputParserStructured
Config choices
Version 1.2

Block 18 - ✅ Validate & Build Email

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 19 - Has Error?

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 20 - Score >= 75?

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 21 - 📧 Notify Recruiter

Type / Role
n8n-nodes-base.emailSend - emailSend
Config choices
Version 2.1

Block 22 - ⚠️ Notify Error

Type / Role
n8n-nodes-base.emailSend - emailSend
Config choices
Version 2.1

Block 23 - Share file

Type / Role
n8n-nodes-base.googleDrive - googleDrive
Config choices
Version 3

Block 24 - 📁 Upload Drive

Type / Role
n8n-nodes-base.googleDrive - googleDrive
Config choices
Version 3

Showing the first 24 of 30 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Score and triage Indeed CVs with Mistral OCR, Groq, and Google Sheets
Complexity advanced
Nodes 30
Categories HR, AI Summarization
Author Federico
Published 20 May 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/15854/15854.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Score and triage Indeed CVs with Mistral OCR, Groq, and Google Sheets do?

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

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your HR, AI Summarization use case.