🔓 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 + Drive for faster resume shortlists

Lisa Granqvist Partner Workflow Automation Expert

Your hiring pipeline shouldn’t collapse the moment 40 resumes hit your inbox. But that’s exactly what happens when every CV needs a full read, notes get scattered, and “gut feel” becomes the ranking system.

Recruiters feel it first. Then HR managers and small business owners jump in to help, and suddenly everyone’s doing resume shortlist automation manually. It’s slow, inconsistent, and honestly tiring.

This workflow turns uploaded PDFs into scored, job-specific summaries inside Google Sheets, while filing the original CVs neatly in Google Drive. You’ll learn what it does, what you need, and how the pieces fit together.

How This Automation Works

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

n8n Workflow Template: Google Sheets + Drive for faster resume shortlists

Why This Matters: Resume Screening Becomes a Time Trap

Resume screening starts out reasonable, then spirals. One role turns into three roles, candidates apply from five different sources, and suddenly you’re re-reading the same CV twice because your notes are in a different tab. Even when you try to be fair, it’s hard to stay consistent across dozens of applicants. You end up spending your attention on formatting quirks and keyword hunting instead of actual fit. And once a hiring manager asks, “Why did we reject this person?”, you realize your rationale isn’t captured anywhere cleanly.

It adds up fast. Here’s where it breaks down in real teams.

  • Reading 30 CVs end-to-end can burn about 3 to 5 hours, and that’s before any comparisons or shortlisting discussions.
  • Different reviewers look for different signals, so “top candidates” changes depending on who read the file.
  • Important details (location, years, relevant tools) get missed because they’re buried in a dense PDF.
  • CV files get saved with random names, which makes later audits and follow-ups a scavenger hunt.

What You’ll Build: An AI Resume Screener That Scores and Files Everything

This workflow gives you a repeatable, job-specific screening process without turning you into an automation engineer. A candidate uploads their CV (PDF) through a simple form, which triggers the workflow in n8n. The system reads the document, extracts key information like skills, education, work history, and basic personal details, then produces a clean summary you can actually scan. Next, it pulls your role criteria from Google Sheets (so you control what “good” means), matches the candidate against that profile, and generates an HR-style assessment with a numeric score from 1 to 10. Finally, the workflow logs everything to Google Sheets and stores the original PDF in Google Drive for easy reference.

The workflow starts with a form submission and a CV upload. From there, AI extracts structured facts and produces a readable summary, then compares the applicant to the role profile you maintain in Sheets. The output lands in one row per candidate, while the PDF gets archived in Drive so nothing goes missing.

What You’re Building

Expected Results

Say you’re hiring for one role and you get 25 applicants in a week. Manually, even a “quick scan” can take about 10 minutes per CV once you open the PDF, take notes, and compare against the job description, so you’re looking at roughly 4 hours. With this workflow, the time changes shape: candidates submit through the form, AI generates a scored summary, and you mostly spend time reviewing the top 5 to 8 rows in Google Sheets. That often feels like 30 minutes of review instead of an afternoon.

Before You Start

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets to store role profiles and candidate rows.
  • Google Drive to archive the original CV PDFs.
  • OpenAI API key (get it from your OpenAI dashboard’s API keys page).

Skill level: Beginner. You’ll connect accounts, paste an API key, and edit a few text fields (no coding).

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

Step by Step

A candidate submits the form with a PDF. The n8n form trigger collects the upload and kicks off the workflow immediately, so there’s no “someone needs to forward the attachment” step.

The resume text gets extracted and organized. The workflow reads the CV document, then uses AI extraction to pull out structured details like skills, education, work history, and personal info (city, phone, and similar fields).

The candidate is evaluated against your role criteria. n8n fetches the job role profiles from Google Sheets (Role + Profile Wanted), merges that with the candidate summary, and runs an assessment prompt that returns an HR-style evaluation plus a 1–10 score.

Results are saved where your team already works. One node appends the score and summary into Google Sheets. Another stores the original PDF in Google Drive, so the sheet gives you the “view,” while Drive keeps the “source of truth.”

You can easily modify the role profiles and scoring criteria to fit different departments based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Form Trigger

Set up the intake form that starts the workflow and collects candidate details and the CV file.

  1. Add and open Form Intake Trigger.
  2. Set Form Title to Candidate Form and Form Description to Please ,fill the required fields , and we'll get in touch with you soon !.
  3. Confirm the form fields include Name, Email, CV (file, accepts .pdf), and Job Role with options Sales, Security, Operations, Reception.
  4. Note the execution flow: Form Intake Trigger outputs to Retrieve Role Profiles, Store CV File, and Read CV Document in parallel.
If you modify the form fields, update any downstream expressions that reference Form Intake Trigger data (for example, {{ $('Form Intake Trigger').item.json.Name }}).

Step 2: Connect Google Sheets

Retrieve role profiles from Google Sheets to match candidates against the desired role.

  1. Open Retrieve Role Profiles and select the target spreadsheet for job profiles.
  2. Set the filter Role column lookup to {{ $('Form Intake Trigger').item.json['Job Role'] }}.
  3. Credential Required: Connect your googleSheetsOAuth2Api credentials.
⚠️ Common Pitfall: Replace the placeholder document ID [YOUR_ID] with your actual Google Sheets file ID.

Step 3: Set Up Document Extraction and Merging

Extract CV text, pull personal data and qualifications, then combine the results for downstream processing.

  1. Configure Read CV Document with Operation set to pdf and Binary Property Name set to =CV.
  2. In Extract Qualifications, set Text to {{ $json.text }} and keep the attributes for Educational qualification, Job History, and Skills.
  3. In Extract Personal Info, set Text to {{ $json.text }} and keep the schema for telephone, city, and birthdate.
  4. Confirm parallel flow: Read CV Document outputs to both Extract Qualifications and Extract Personal Info in parallel.
  5. Set Combine Candidate Data to Mode combine and Combine By combineAll to merge outputs.

Step 4: Set Up HR Assessment AI

Summarize candidate data, match it with the role profile, and generate a score with structured output.

  1. In Candidate Summary, keep the summarization prompt using fields like {{ $json.output.city }} and {{ $json.output["Educational qualification"] }}.
  2. Confirm Combine Candidate DataCandidate Summary, then Candidate SummaryMerge Profile Match.
  3. Configure Merge Profile Match with Mode combine and Combine By combineByPosition to align profile and candidate summary.
  4. In HR Assessment LLM, set Text to the provided prompt using {{ $node["Merge Profile Match"].json["Profile Wanted"] }} and {{ $node["Candidate Summary"].json["response"]["text"] }}.
  5. Ensure Parse Score Output remains connected as the output parser for HR Assessment LLM (credentials are handled on the parent LLM node).
  6. Credential Required: Connect your googlePalmApi credentials in Gemini Chat Model (this model powers Candidate Summary, Extract Qualifications, Extract Personal Info, and HR Assessment LLM).
If the AI nodes return empty data, verify that Gemini Chat Model is connected and active for all AI nodes via the model connection.

Step 5: Configure Output/Action Nodes

Save the CV file to Google Drive and append screening results to the final spreadsheet.

  1. In Store CV File, set Name to cv-{{ $json.CV[0].filename }} and Input Data Field Name to CV.
  2. Credential Required: Connect your googleDriveOAuth2Api credentials.
  3. In Append to Sheet, set Operation to append, and map columns like NAME{{ $('Form Intake Trigger').item.json.Name }}, VOTE{{ $json.output.vote }}, SUMMARIZE{{ $('Candidate Summary').item.json.response.text }}.
  4. Credential Required: Connect your googleSheetsOAuth2Api credentials.
⚠️ Common Pitfall: Replace all [YOUR_ID] placeholders in Append to Sheet and Store CV File with your actual Google Sheet and Drive folder IDs.

Step 6: Test and Activate Your Workflow

Run a full test to confirm the form, AI extraction, and outputs work end-to-end.

  1. Click Test Workflow and submit the Form Intake Trigger with a sample PDF CV.
  2. Verify that Store CV File uploads the CV and Append to Sheet adds a new row with VOTE, CONSIDERATION, and summary data.
  3. Check that HR Assessment LLM returns a structured response parsed by Parse Score Output.
  4. When successful, 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 credentials can expire or need specific permissions. If things break, check the Google connection in n8n’s Credentials menu first, then confirm the target spreadsheet is shared with the connected account.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • OpenAI prompts in AI nodes are generic. Add your brand voice and what “good fit” means early or you’ll be editing outputs forever.

Quick Answers

What’s the setup time for this resume shortlist automation?

About 15 minutes if your accounts are ready.

Is coding required for this resume shortlisting?

No. You’ll connect Google and add your AI API key. Then you will edit role criteria in Google Sheets.

Is n8n free to use for this resume shortlist 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 resume depending on 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 resume shortlist automation workflow for different use cases?

Yes, and it’s the best part. Update the “Retrieve Role Profiles” Google Sheets step to add new roles and a fresh “Profile Wanted” description, then the “HR Assessment LLM” step will score against that new criteria. If you prefer Gemini, swap the chat model node to the “Gemini Chat Model” path instead of OpenAI. Common tweaks include changing what fields get extracted (skills vs certifications), adding a minimum score rule, and routing high scorers to Telegram for a quick human review.

Why is my Google Sheets connection failing in this workflow?

Usually it’s an expired Google authorization or the connected account no longer has access to the spreadsheet. Reconnect the Google Sheets credential in n8n, then open the sheet and confirm sharing is set correctly. Also check that the tab name and columns still match what the workflow expects (Role and Profile Wanted), because renamed headers can silently break lookups.

What volume can this resume shortlist automation workflow process?

On a typical n8n Cloud plan, it can handle hundreds of resumes a month comfortably, and self-hosting scales based on your server. The main limiter is AI cost and how quickly you want results, not the Sheets row insert.

Is this resume shortlist automation better than using Zapier or Make?

For AI-heavy screening like this, n8n tends to be the smoother option because you can merge data, parse structured outputs, and branch logic without fighting plan limits. Self-hosting is also a big deal if you don’t want to pay per task once volume climbs. Zapier or Make can still work, but the same flow often becomes a chain of premium steps that’s harder to debug. If you’re unsure, Talk to an automation expert and describe your intake source (form, email, Drive, ATS) so you pick the right tool.

Once this is running, resumes stop being a pile and start being a shortlist. The workflow handles the repeatable screening, so you can spend your time on real conversations and better decisions.

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