🔓 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

Gmail + OpenAI, faster CV screening and replies

Lisa Granqvist Partner Workflow Automation Expert

Your inbox fills up with CVs. Then the real work starts: opening attachments, scanning for must-have skills, trying to “be fair,” and still getting back to candidates days later.

This is the kind of mess that hits HR Managers first. But founders hiring their first 10 people and recruiters juggling multiple roles feel it too. With this Gmail OpenAI screening automation, you get consistent scoring plus fast, professional replies without spending your evenings reading PDFs.

You’ll see how the workflow routes candidates into “shortlist,” “interview,” or “decline,” and how you can tune the criteria so the AI evaluates people the way your team actually hires.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Gmail + OpenAI, faster CV screening and replies

The Problem: CV Screening Becomes a Bottleneck

Manual CV screening sounds simple until you are doing it at volume. You’re reading the same patterns over and over, switching between Gmail, notes, and whatever spreadsheet you swear you’ll keep updated. Meanwhile, you’re trying to be consistent across candidates, but your “gut feel” changes depending on the day, the role, and how rushed you are. Add the pressure to reply quickly (even to declines), and the whole process turns into a backlog that quietly harms your hiring brand.

It’s not one big failure. It’s the pile-up.

  • A single CV can take about 10 minutes to review properly once you include notes and decision-making.
  • Candidates get inconsistent evaluations because humans remember the last great CV more than the first average one.
  • Replies slip from “tomorrow” to “next week,” which leads to follow-ups, stress, and missed talent.
  • Teams end up arguing over vague feedback like “not senior enough,” instead of comparing consistent criteria.

The Solution: AI-Scored CVs + Automated Gmail Replies

This workflow turns incoming CVs into structured candidate data, a score, and the right next action. It starts when a new application hits your intake webhook (usually connected to job boards or forms), then applies role criteria you define for the open position. Next, the AI parsing step extracts what matters from the CV, like skills, experience, and education, so you’re not skimming for keywords. A scoring step evaluates fit against your criteria, then decision checks route the candidate into one of three paths. Finally, Gmail sends the appropriate message: a notify-the-team email for top candidates, an interview invite for suitable ones, or a polite decline for everyone else.

The workflow begins with CV intake, then standardizes each resume into the same “shape.” After that, it scores and routes candidates using simple yes/no checks. Gmail handles the communication so you’re not copying templates or forgetting who you already replied to.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you’re hiring for one role and you get 40 applications in a week. Manually, if each CV takes about 10 minutes to read and reply to, that’s roughly 6–7 hours, plus context switching. With this workflow, intake is automatic, the AI parsing and scoring runs in the background, and you only spend time on the 8–12 candidates worth a real look. Even if you still review those top profiles carefully, you’re usually saving about 4 hours every week while replying faster to everyone.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Gmail for sending notifications and candidate emails
  • OpenAI to parse CV text into structured data
  • OpenAI API key (get it from your OpenAI dashboard)

Skill level: Intermediate. You’ll connect accounts, paste an API key, and adjust role criteria and email templates.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

CV intake via webhook. A new application triggers the workflow the moment the CV hits your system, so nothing gets lost in someone’s inbox.

Role criteria is applied before scoring. You define what “good” looks like for the role (skills, experience level, education requirements, nice-to-haves), and the workflow uses that as the yardstick for every candidate.

OpenAI parsing and scoring happens in the middle. The workflow sends the resume content for extraction, then runs scoring logic that turns messy text into a structured evaluation you can compare across candidates.

Gmail sends the outcome. Top candidates can trigger an internal “review now” email, suitable candidates get an interview invite, and declines are sent quickly with a consistent, polite message.

You can easily modify the role criteria and decision thresholds to match different job openings based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Webhook Trigger

Set up the inbound webhook that receives CV submissions and starts the workflow.

  1. Add the CV Intake Webhook node and set Path to cv-received.
  2. Set HTTP Method to POST.
  3. Send a test POST with a cv_content field to ensure the webhook receives data.

Tip: Use the test URL shown in CV Intake Webhook during development, then switch to the production URL when ready.

Step 2: Connect OpenAI for CV Parsing

Configure the OpenAI API call that extracts structured candidate data from the incoming CV.

  1. In AI CV Parsing, set URL to https://api.openai.com/v1/chat/completions and Method to POST.
  2. In Headers, confirm Content-Type is application/json and Authorization is Bearer {{ $credentials.openai.apiKey }}.
  3. In Body, keep the model as gpt-4 and the user prompt that injects {{ $json.cv_content }}.

Credential Required: Connect your OpenAI API credentials in AI CV Parsing so {{ $credentials.openai.apiKey }} resolves correctly.

Step 3: Set Up Role Criteria and Scoring Logic

Define the hiring criteria and calculate a recommendation score based on the parsed CV data.

  1. In Role Criteria Setup, add minExperience as 5 and passingScore as 75.
  2. Add requiredSkills as JavaScript,React,Node.js,Python in Role Criteria Setup.
  3. Add additional fields in Role Criteria Setup for downstream use, such as jobTitle and hrEmail.
  4. In Candidate Scoring Logic, keep the JavaScript that parses $json.choices[0].message.content and calculates totalScore, recommendation, and priority.

⚠️ Common Pitfall: Candidate Scoring Logic expects jobTitle and hrEmail from Role Criteria Setup. If these fields are missing, emails will be incomplete or fail to send.

Step 4: Configure Parallel Decision Routing

Route candidates into different outcomes based on the recommendation produced by the scoring logic.

  1. Set Top Candidate Check to evaluate ={{ $json.scoring.recommendation }} equals hire.
  2. Set Interview Suitability Check to evaluate ={{ $json.scoring.recommendation }} equals interview.
  3. Set Rejection Decision Check to evaluate ={{ $json.scoring.recommendation }} equals reject.
  4. Confirm the execution pattern: Candidate Scoring Logic outputs to both Top Candidate Check and Interview Suitability Check and Rejection Decision Check in parallel.

Step 5: Configure Email Notifications

Send the appropriate email based on each decision branch.

  1. In Notify HR Team, set Send To to ={{ $node['Role Criteria Setup'].json.hrEmail }} and keep the HTML message for the top-candidate alert.
  2. In Dispatch Interview Invite, set Send To to ={{ $json.candidateData.email }} and keep the interview invitation HTML.
  3. In Send Decline Notice, set Send To to ={{ $json.candidateData.email }} and keep the decline message HTML.

Credential Required: Connect your Gmail credentials in Notify HR Team, Dispatch Interview Invite, and Send Decline Notice.

Step 6: Test and Activate Your Workflow

Validate the full flow end-to-end and enable it for production use.

  1. Click Execute Workflow and send a test POST to CV Intake Webhook with a realistic cv_content payload.
  2. Verify that AI CV Parsing returns JSON and Candidate Scoring Logic outputs scoring.recommendation.
  3. Confirm that only one branch email is sent: Notify HR Team for hire, Dispatch Interview Invite for interview, or Send Decline Notice for reject.
  4. Once tests succeed, toggle the workflow to Active to begin processing real CV submissions.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Gmail credentials can expire or need specific permissions. If things break, check the n8n Credentials tab and your Google account security settings first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.

Frequently Asked Questions

How long does it take to set up this Gmail OpenAI screening automation?

About 45 minutes if your Gmail and OpenAI accounts are ready.

Do I need coding skills to automate Gmail OpenAI screening?

No. You’ll mostly connect accounts and edit the role criteria and email text.

Is n8n free to use for this Gmail OpenAI screening 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 resume 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 customize this Gmail OpenAI screening workflow for different job roles?

Yes, and you should. Update the “Role Criteria Setup” fields to match each job, then adjust scoring thresholds in “Candidate Scoring Logic” and the routing checks like “Top Candidate Check” and “Interview Suitability Check.” Common tweaks include changing required skills, weighting years of experience more heavily, and adding a culture-fit question that the AI must answer from evidence in the CV (or mark as “not enough data”).

Why is my Gmail connection failing in this workflow?

Usually it’s expired Google OAuth access or missing Gmail permissions in the connected account. Reconnect the Gmail credential in n8n, then confirm the sending address matches what your Google Workspace allows. Also check daily sending limits if you’re processing lots of declines at once; Gmail can throttle or block bursts, which looks like random failures.

How many CVs can this Gmail OpenAI screening automation handle?

A lot more than a human can.

Is this Gmail OpenAI screening automation better than using Zapier or Make?

Sometimes. n8n is better when you need multi-branch decisions (top candidate vs interview vs decline), custom scoring rules, and the option to self-host for unlimited runs. Zapier or Make can be fine for simple routing, but costs can climb once you add AI parsing plus multiple paths and higher volume. Honestly, the best choice depends on your application volume and how opinionated your scoring needs to be. If you want help choosing, Talk to an automation expert and walk through your process.

Screening stays consistent. Replies go out on time. And you get your calendar back for the part of hiring that actually needs a human.

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