🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Google Sheets + Gmail: CV screening without inbox chaos

Lisa Granqvist Partner Workflow Automation Expert

Hiring sounds simple until your inbox turns into a CV landfill. PDFs everywhere, follow-ups slipping through, and your “tracker” living in five different versions.

This CV screening automation hits HR managers first, honestly. But recruiters juggling volume and founders doing hiring on top of everything else feel it too. You get a scored CV, a clean row in Google Sheets, and confirmations sent automatically.

Below you’ll see how this workflow runs in n8n, what results to expect, and what you can tweak so it matches your role, your roles, and your standards.

How This Automation Works

Here’s the complete workflow you’ll be setting up:

n8n Workflow Template: Google Sheets + Gmail: CV screening without inbox chaos

Why This Matters: CV screening that doesn’t break your process

Most hiring “systems” fall apart at the exact moment you need them most: when applications start coming in fast. A candidate submits a PDF, you download it, rename it, skim it, then try to remember where to log it. Maybe you reply. Maybe you don’t. Meanwhile your hiring spreadsheet is missing half the applicants, and the other half have notes scattered in email threads. That’s not just messy. It slows decisions, creates awkward candidate experiences, and makes it harder to defend why someone did or didn’t move forward.

It adds up fast. Here’s where the friction usually shows up.

  • CVs live in Gmail attachments, which means no single source of truth for the role.
  • Manual screening turns into “quick skims,” and consistency drops after the first few candidates.
  • Confirmation emails get delayed or forgotten, so candidates follow up and your inbox gets worse.
  • Copy-pasting into Google Sheets invites mistakes like wrong names, wrong emails, or missing files.

What You’ll Build: AI-scored CV intake logged to Sheets with auto emails

This workflow gives you a dependable intake lane: a candidate submits their details and CV through a form, and n8n takes it from there. The PDF gets processed so the resume text can be extracted, then an AI step reviews the content and produces a compatibility rating you can actually sort and filter. Next, the workflow writes everything into a Google Sheet, so your tracker is always up to date without anyone “keeping it updated.” Finally, Gmail sends two emails: one to HR so you know a new CV arrived (with the key details), and one to the candidate confirming you received their application. Same flow every time, even when you’re slammed.

The workflow starts at the candidate intake form. Then it extracts resume text, runs AI resume scoring, and stores the results in Google Sheets. After that, Gmail sends notifications so both HR and the candidate get timely updates.

What You’re Building

Expected Results

Say you receive 20 applications in a day. Manually, you might spend about 10 minutes per candidate downloading the PDF, skimming, logging to Sheets, and sending a receipt, which is roughly 3 hours of pure admin. With this workflow, the “work” is basically reviewing the scored rows in Google Sheets. Candidates still get a near-instant email, HR gets notified automatically, and you get those 3 hours back for actual hiring decisions.

Before You Start

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for storing candidates and scores.
  • Gmail to send HR alerts and candidate receipts.
  • OpenAI API key (get it from your OpenAI dashboard).

Skill level: Beginner. You’ll connect accounts, paste a prompt, and map a few fields into a sheet.

Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).

Step by Step

A candidate submits your intake form. The workflow begins the moment someone uploads their CV PDF and enters their basic details (name, email, role applied for, and anything else you ask).

The CV is converted from PDF into usable text. n8n extracts the resume content so the scoring step isn’t guessing based on a file name or a few visible lines.

AI scores the resume using your criteria. The Basic LLM Chain runs your “CV screening” prompt and returns a compatibility rating plus summary points you can store, review, and compare across candidates.

Sheets becomes the system of record, and Gmail handles the communication. A new row is added or updated in Google Sheets, HR gets an email about the new application, and the candidate receives a receipt email so they’re not left wondering.

You can easily modify the AI scoring rules to match different roles or seniority levels based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Form Trigger

This workflow starts when a candidate submits the intake form. Configure the form fields and ensure file uploads match the resume extraction step.

  1. Add and open Candidate Intake Form.
  2. Set Form Title to Application for Software Engineer Position.
  3. Confirm the form fields include Full Name, E-mail, Expectation, Linkedin, and Your Resume/CV with acceptFileTypes set to .pdf.
Tip: The resume upload field must use the label Your Resume/CV to match the Extract Resume Text node’s binaryPropertyName value.

Step 2: Connect Google Sheets

Store candidate data and AI scoring into a Google Sheet for tracking.

  1. Add and open Update Candidate Sheet.
  2. Credential Required: Connect your googleSheetsOAuth2Api credentials.
  3. Set Operation to append.
  4. Set Document to [YOUR_ID] and Sheet to [YOUR_ID].
  5. Map columns to these expressions exactly:
    CV{{ $('Candidate Intake Form').item.json['Your Resume/CV'][0].filename }}
    Full Name{{ $('Candidate Intake Form').item.json['Full Name'] }}
    E-mail{{ $('Candidate Intake Form').item.json['E-mail'] }}
    Expectation{{ $('Candidate Intake Form').item.json.Expectation }}
    Linkedin{{ $('Candidate Intake Form').item.json.Linkedin }}
    AI Rating{{ $json.text }}
⚠️ Common Pitfall: Replace both [YOUR_ID] placeholders in Update Candidate Sheet with your actual Google Sheet document and sheet IDs.

Step 3: Set Up Resume Extraction and AI Scoring

This step extracts text from the uploaded PDF and runs it through the AI scoring chain using Gemini.

  1. Open Extract Resume Text and set Operation to pdf and Binary Property Name to Your_Resume_CV.
  2. Open AI Resume Scoring and set Text to {{ $json.text }}.
  3. Confirm the AI prompt content remains unchanged in AI Resume Scoring to preserve the rating format and language controls.
  4. Open Gemini Chat Engine and connect it as the language model for AI Resume Scoring.
  5. Credential Required: Connect your googlePalmApi credentials to Gemini Chat Engine (credentials are added to the parent language model node, not the chain node).
Tip: The execution flow is linear: Candidate Intake FormExtract Resume TextAI Resume ScoringUpdate Candidate Sheet.

Step 4: Configure Output & Notification Emails

Notify HR of new candidates and send a confirmation to the applicant.

  1. Open Notify HR of New CV and set Send To to [YOUR_EMAIL].
  2. Keep the Message template with embedded expressions such as {{ $('Candidate Intake Form').item.json['Full Name'] }} and {{ $('AI Resume Scoring').item.json.text }}.
  3. Credential Required: Connect your gmailOAuth2 credentials to Notify HR of New CV.
  4. Open Send Submission Receipt and set Send To to {{ $('Candidate Intake Form').item.json['E-mail'] }}.
  5. Set Subject to We Have Received Your CV and keep the Message using {{ $('Candidate Intake Form').item.json['Full Name'] }}.
  6. Credential Required: Connect your gmailOAuth2 credentials to Send Submission Receipt.
⚠️ Common Pitfall: Replace [YOUR_EMAIL] in Notify HR of New CV before activating, or HR notifications will not send.

Step 5: Test and Activate Your Workflow

Run a full test submission to verify PDF extraction, AI scoring, sheet updates, and emails.

  1. Click Test Workflow and submit a sample entry through Candidate Intake Form with a PDF resume.
  2. Confirm Extract Resume Text outputs text and AI Resume Scoring returns a plain-text rating in $json.text.
  3. Verify Update Candidate Sheet appended a new row with the candidate details and AI rating.
  4. Check that Notify HR of New CV and Send Submission Receipt both sent emails successfully.
  5. Toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Troubleshooting Tips

  • Google Sheets access often fails due to missing permissions on the spreadsheet. If rows aren’t writing, check the file sharing settings and the connected Google account in n8n credentials.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Your AI scoring prompt is the difference between “useful rating” and “generic fluff.” Add role requirements, must-have skills, and disqualifiers early or you’ll be editing outputs forever.

Quick Answers

What’s the setup time for this CV screening automation?

About 30 minutes if your Google and OpenAI accounts are ready.

Is coding required for this CV screening automation?

No. You’ll connect your tools and map a few fields into Google Sheets.

Is n8n free to use for this CV screening automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API costs, which are usually a few cents per CV depending on your prompt length.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I modify this CV screening automation workflow for different use cases?

Yes, and you should. The quickest win is adjusting the “AI Resume Scoring” prompt so it matches a specific role (for example, “Sales Development Rep” vs. “Senior Backend Engineer”). You can also change what gets stored in “Update Candidate Sheet,” like adding a column for red flags or must-have keywords. And if your intake source changes, you can replace “Candidate Intake Form” with another trigger while keeping the extraction, scoring, and logging steps intact.

Why is my Gmail connection failing in this workflow?

Usually it’s expired Google auth or the wrong Google account connected in n8n. Reconnect your Gmail credentials, then confirm the Gmail node is allowed to send email on your behalf. If emails send sometimes but not always, check Gmail sending limits and make sure you’re not firing multiple notifications per submission due to duplicate form events.

What volume can this CV screening automation workflow process?

Most small teams run dozens of CVs per day without issues, and it scales up from there based on your n8n plan and API limits.

Is this CV screening automation better than using Zapier or Make?

Often, yes, once you care about consistency and control. This workflow isn’t just “move data from A to B.” It extracts PDF text, runs an AI scoring chain, writes structured outputs, and then sends two separate emails in the right order. n8n handles that kind of multi-step logic cleanly, and self-hosting is a real option when volume grows. Zapier or Make can still work if you keep it simple, but AI + file processing tends to get expensive and brittle. If you’re unsure, Talk to an automation expert and you’ll get a straight recommendation based on your volume.

Once this is running, your tracker stays clean and every applicant gets a timely response. The workflow handles the repetitive parts, so you can focus on who to move forward.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal