🔓 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 Drive to Google Sheets, resumes logged and scored

Lisa Granqvist Partner Workflow Automation Expert

Your hiring inbox fills up, resumes land in random places, and “quick screening” turns into an afternoon of downloading PDFs, renaming files, and trying to remember who looked promising. Then you realize you still have to send replies. Every applicant. Every time.

This is where resume scoring automation helps most. HR managers feel it during high-volume roles, but founders hiring their first team and recruiters running multiple searches run into the same wall: too many resumes, not enough consistent evaluation.

This workflow collects each application, stores the resume safely in Google Drive, logs every candidate in Google Sheets, scores them by role using AI, and sends the right email automatically. You’ll see what it does, what you need, and how teams use it to build shortlists fast without cutting corners.

How This Automation Works

See how this solves the problem:

n8n Workflow Template: Google Drive to Google Sheets, resumes logged and scored

The Challenge: Screening Resumes Without Losing Your Mind

Resume screening sounds simple until you’re juggling four different roles and every candidate formats their PDF differently. One resume has a clean skills section, another is a wall of text, and a third is an image-based scan you can’t even search. Meanwhile, you’re trying to be “fair” and consistent, but you’re tired, you’re rushed, and the criteria changes depending on what you saw five minutes ago. Add the admin work (saving files, logging details, replying to candidates) and hiring becomes a slow, messy process that steals time from interviews and decision-making.

The friction compounds. Here’s where it usually breaks down.

  • Resumes arrive through forms or email, then get stored inconsistently, so finding the “right” version later becomes a scavenger hunt.
  • Manual scoring is wildly subjective when you’re switching between ICT, Customer Care, Accounting, and HR in the same day.
  • Copying candidate details into a tracker sounds quick, but it quietly eats about 2 hours a week once volume picks up.
  • Candidates wait too long for a response, and you end up sending rushed emails (or worse, forgetting entirely).

The Fix: Automatically Log, Score, and Reply to Applicants

This workflow starts the moment a candidate submits an application form with their details, selected position, and resume file. The resume is stored in Google Drive right away, so you have a permanent record and a clean link you can share internally. Next, the workflow routes the application by position (ICT, Customer Care, Accounting, or HR) and uses a dedicated AI agent for that role to extract the resume text, evaluate fit, and generate a 1–10 score with written reasoning. Everything gets appended into a single Google Sheets tracker, including the timestamp, contact info, position, score, AI comments, and the Drive link. Then a second flow watches the sheet and automatically sends either an interview invitation (for higher scores) or a professional rejection email (for lower scores), updating the sheet so nobody gets contacted twice.

The workflow begins with the form submission trigger and a role-based switch. AI handles the heavy thinking in the middle, and Google Sheets becomes your live CRM-style pipeline. Email goes out automatically once the score threshold is checked, so your process keeps moving even on busy days.

What Changes: Before vs. After

Real-World Impact

Say you receive 30 applications in a week across four roles. Manually, it’s easy to spend about 10 minutes saving the file and logging details, plus another 10 minutes scanning the resume, plus 5 minutes sending an email. That’s roughly 25 minutes per candidate, or about 12 hours a week. With this workflow, you spend close to 0 minutes on storage and logging, and maybe 5 minutes reviewing the score and comments for the applicants you care about. You get your week back, and you’re not guessing who to invite.

Requirements

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Drive to store resumes and share links.
  • Google Sheets to track applicants, scores, and status.
  • AI provider API key (get it from your provider dashboard, such as OpenAI or Google Gemini).

Skill level: Intermediate. You’ll connect accounts, paste API keys, and edit prompts and email templates confidently.

Need help implementing this? Talk to an automation expert (free 15-minute consultation).

The Workflow Flow

A candidate submits the form. The workflow captures their details (name, email, position) and the uploaded resume file immediately, so nothing gets lost in inboxes.

The resume is stored and prepared for analysis. The PDF is saved into Google Drive, then the workflow extracts text from the resume so the AI can evaluate content even when formatting is messy.

Role-specific AI scoring runs next. A routing step sends the resume to the correct AI agent (ICT, Customer Support, Accounting, or HR). Each agent uses tailored criteria and structured output parsing, which means you get a clean score and clear notes instead of a vague paragraph.

Everything is logged, then emails are sent. A new row is appended in Google Sheets with the score, comments, and the Google Drive link. A secondary sheet-triggered flow checks the threshold (7–10 gets an interview email, below 7 gets a rejection) and updates the sheet to mark the message as sent.

You can easily modify the scoring threshold to match your hiring bar 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 kicks off the resume screening process and captures candidate details and PDF uploads.

  1. Add the Form Submission Trigger node and set Form Title to Job Application Form.
  2. Set Form Description to Please provide all required details; PDF attachments only..
  3. Configure form fields for Full Name, Application Position (dropdown with Accounting, ICT, Customer Care, HR), Email, and Resume/CV (file, PDF only).

⚠️ Common Pitfall: The PDF extraction nodes expect the binary property name Resume_CV. Ensure the file field label matches and the binary property is used consistently.

Step 2: Route Submissions and Store Files (Parallel Branches)

Immediately after form submission, the workflow routes by role and stores the uploaded PDF in Google Drive at the same time.

  1. Connect Form Submission Trigger to both Route by Position and Store Resume in Drive so that Form Submission Trigger outputs to both Route by Position and Store Resume in Drive in parallel.
  2. In Route by Position, add rules that compare {{ $('Form Submission Trigger').item.json['Application Position'] }} to each role value: {{ "ICT" }}, {{"Customer Care"}}, {{"Accounting"}}, and {{"HR"}}.
  3. In Store Resume in Drive, set Name to {{ $json['Resume/CV'].filename }} and Input Data Field Name to Resume_CV.
  4. Credential Required: Connect your googleDriveOAuth2Api credentials in Store Resume in Drive.

Choose the correct Google Drive folder in Store Resume in Drive so that {{ $('Store Resume in Drive').item.json.webViewLink }} points to the saved resume.

Step 3: Parse PDFs and Configure AI Resume Analysts

Each position has a dedicated PDF parsing and AI analysis path, all driven by Gemini with structured JSON output.

  1. For each role branch, use the appropriate parser node: Parse Resume PDF, Parse Resume PDF A, Parse Resume PDF B, and Parse Resume PDF HR with Operation set to pdf and Binary Property Name set to =Resume_CV.
  2. Connect each parser to its analyst: Parse Resume PDFICT Resume Analyst, Parse Resume PDF ACustomer Support Analyst, Parse Resume PDF BAccounting Resume Analyst, Parse Resume PDF HRHR Resume Analyst.
  3. In each analyst node, confirm Text is set to {{ $json.text }} and Prompt Type is define with hasOutputParser enabled.
  4. Connect Gemini Chat Engine as the language model for all analyst nodes, and set Model Name to models/gemini-2.5-pro. Credential Required: Connect your googlePalmApi credentials in Gemini Chat Engine.
  5. Attach output parsers to each analyst: JSON Output Parser for ICT Resume Analyst, JSON Parser Customer for Customer Support Analyst, JSON Parser Accounting for Accounting Resume Analyst, and JSON Parser HR for HR Resume Analyst. These are AI sub-nodes—credentials should be configured on Gemini Chat Engine, not the parsers.
  6. Connect Session Memory Buffer to ICT Resume Analyst and Session Memory HR to HR Resume Analyst with Session Key set to {{ $('Form Submission Trigger').item.json.Email }}. These are AI memory sub-nodes—credentials should be configured on Gemini Chat Engine, not the memory nodes.
  7. Enable the AI tool: connect Web Search Tool to all analyst nodes. Credential Required: Connect your httpHeaderAuth credentials in Web Search Tool.

⚠️ Common Pitfall: Ensure each JSON parser schema matches the analyst output. The workflow expects keys like resume summary and score fields; mismatches can break Append Sheet Record.

Step 4: Merge Outputs and Append to Google Sheets

After analysis, the workflow merges the AI output with the stored file link and appends a row to the applicant sheet.

  1. Connect all analyst nodes and Store Resume in Drive into Combine Streams with Mode set to combine and Combine By set to combineByPosition.
  2. In Append Sheet Record, set Operation to append and map columns using expressions such as {{ $('Form Submission Trigger').item.json.Email }}, {{ $now.format('yyyy-MM-dd HH:mm') }}, {{ $json.output['resume summary'] }}, {{ $json.output['Total Score'] }}, and {{ $('Store Resume in Drive').item.json.webViewLink }}.
  3. Credential Required: Connect your googleSheetsOAuth2Api credentials in Append Sheet Record.

Make sure the sheet schema includes columns for Resume Score, AI Summary, and Resume Link, or the append will fail.

Step 5: Configure Email Routing and Score Thresholds

Once a row is added, a second flow checks if emails were already sent, evaluates the score threshold, and sends the appropriate email.

  1. Set up Sheets Row Trigger with Event set to rowAdded so new candidates trigger follow-up automation. Credential Required: Connect your googleSheetsTriggerOAuth2Api credentials in Sheets Row Trigger.
  2. In Check Already Sent, set the condition to {{ Number($json['Sent = 1']) }} equals 1 to prevent duplicate emails.
  3. Connect the “false” branch of Check Already Sent to Score Threshold Check, and keep the “true” branch routed to No-Op Placeholder for safe stops.
  4. In Score Threshold Check, set the condition to {{Number($json['Resume Score']) }} greater than 5.
  5. Configure Send Interview Email with To Email set to {{ $json.Email }}, Subject to Invitation for interview, and the provided text body. Credential Required: Connect your smtp credentials.
  6. Configure Send Rejection Email with To Email set to {{ $json.Email }}, Subject to Invitation for interview, and the rejection message. Credential Required: Connect your smtp credentials.

⚠️ Common Pitfall: Both email nodes use the same subject line. If you want different subjects, update Send Rejection Email accordingly.

Step 6: Update Candidate Records After Email Send

After an email is sent, the workflow updates the sheet to mark the candidate as contacted.

  1. Connect Send Interview Email to Update Sheet Record and Send Rejection Email to Update Sheet Record B.
  2. In both update nodes, set Operation to update and map fields from {{ $('Sheets Row Trigger').item.json... }}, ensuring Sent = 1 is set to 1.
  3. Credential Required: Connect your googleSheetsOAuth2Api credentials in Update Sheet Record and Update Sheet Record B.

Step 7: Test & Activate

Verify the end-to-end process from form submission to email output, then activate the workflow for production.

  1. Use the Form Submission Trigger test mode and submit a sample PDF resume.
  2. Confirm that Store Resume in Drive creates a file and that Append Sheet Record adds a row with Resume Link, AI Summary, and Resume Score.
  3. Check the Sheets Row Trigger flow to ensure Score Threshold Check routes to Send Interview Email or Send Rejection Email correctly.
  4. Verify that Update Sheet Record or Update Sheet Record B writes Sent = 1 and preserves existing data.
  5. When tests succeed, switch the workflow to Active to enable live processing.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Watch Out For

  • Google Drive credentials can expire or need specific permissions. If things break, check the n8n Credentials page and confirm the connected Google account can create files in the target folder 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.

Common Questions

How quickly can I implement this resume scoring automation?

About 30–45 minutes if your accounts are ready.

Can non-technical teams implement this resume scoring?

Yes. You won’t write code, but you will connect Google tools, add an AI API key, and edit a few prompts and email templates.

Is n8n free to use for this resume scoring 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 AI API costs (often just a few cents per resume, depending on model and prompt size).

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.

How do I adapt this resume scoring automation solution to my specific challenges?

You can. The quickest wins come from updating the prompts inside the role-specific AI Agent nodes (ICT Resume Analyst, Customer Support Analyst, Accounting Resume Analyst, and HR Resume Analyst) so they reflect what “good” means in your company. Many teams also change the score threshold check (for example, interview at 8+), tweak the structured JSON fields captured by the output parser, and adjust the email templates to match tone and next steps.

Why is my Google Drive connection failing in this workflow?

Usually it’s an expired Google credential or the connected account doesn’t have access to the destination folder. Reconnect Google Drive in n8n, then confirm the folder ID is correct and the account can upload files there. If it fails only on some resumes, check file size limits and confirm the incoming form field is actually sending a file every time.

What’s the capacity of this resume scoring automation solution?

It scales to hundreds of applications a week for most small teams, and more if you self-host on a decent VPS.

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

Often, yes, if you care about consistent scoring logic and auditability. This workflow uses multiple role-specific AI agents, structured output parsing, conditional routing, and a sheet-triggered “send emails then update status” loop, which is the kind of multi-branch logic that gets clunky (and expensive) in many no-code tools. n8n also lets you self-host, so high volume doesn’t automatically mean a higher bill. Zapier or Make can still be fine for a simple “form → sheet” pipeline with manual review afterward. If you’re on the fence, Talk to an automation expert and we’ll map the simplest version that meets your hiring bar.

This is what hiring looks like when the busywork is handled for you. The workflow keeps your pipeline organized, your decisions consistent, and your candidates informed, even when applications spike.

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