🔓 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

Notion + Google Sheets for faster resume screening

Lisa Granqvist Partner Workflow Automation Expert

Resume screening starts simple. Then you’re buried in PDFs, half-filled forms, and “where did that candidate go?” messages that eat your morning.

This Notion resume screening automation hits recruiters first, but hiring managers and ops leads feel the drag too. You get a consistent score, a clean Notion record, and an audit trail in Google Sheets without chasing files or re-reading the same resume twice.

Below, you’ll see how the workflow routes applicants from an application form into Notion, uses AI to summarize and score, then updates the record again after an AI voice interview.

How This Automation Works

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

n8n Workflow Template: Notion + Google Sheets for faster resume screening

Why This Matters: Resume screening slows hiring decisions

Most hiring bottlenecks aren’t “lack of candidates.” It’s the messy middle: resumes arrive in different formats, details are missing, and screening notes end up scattered across email threads, docs, and someone’s private spreadsheet. So you re-open the same PDF three times. You second-guess your own scoring. And the moment you finally identify a top fit, scheduling and the first interview becomes another round of manual follow-ups. It’s exhausting, and frankly it makes good hiring feel random.

The friction compounds. Here’s where things usually break down.

  • Resumes and notes live in too many places, so “one source of truth” never actually happens.
  • Different screeners use different criteria, which means inconsistent scores and more debate than progress.
  • Compliance and audit requests turn into a scramble because there’s no reliable log of what you reviewed and when.
  • First-round interviews take days to schedule, even though most of them are meant to filter, not finalize.

What You’ll Build: Notion-first screening with a Google Sheets audit log

This workflow creates a single pipeline from “new applicant” to “screened, scored, and ready to interview,” with Notion as your dashboard and Google Sheets as your compliance-friendly log. It starts when an applicant submits an n8n application form (the template supports three roles in parallel). Their resume is uploaded to Google Drive, then the PDF is parsed so AI can extract contact data and qualifications. Next, the workflow generates a candidate summary and evaluates fit against the role’s job description and criteria stored in Notion. Finally, it creates or updates the applicant record in your Notion ATS, logs the intake to Google Sheets, and keeps enriching that record after an ElevenLabs voice interview by attaching audio, transcript-derived insights, and an interview score.

The workflow begins at the application form, then moves through resume parsing and AI scoring, and finishes by writing clean records into Notion plus a backup row in Sheets. When an AI interview happens, a webhook brings results back, audio is saved to Drive, and the same Notion profile gets updated with an interview assessment.

What You’re Building

Expected Results

Say you receive 20 resumes a week for one role. Manually, it’s easy to spend about 10 minutes per resume saving files, extracting details, adding notes, and copying basics into a tracker, which is roughly 3 hours. Then add another couple hours for writing a consistent summary and aligning on a score with the hiring manager. With this workflow, intake is a form submission plus automated processing and updates, so your hands-on time is closer to quick review and decision-making. You typically get those 4–5 hours back each week, and the shortlist is clearer.

Before You Start

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Notion to store applicants, roles, and evaluation criteria
  • Google Sheets to maintain an applicant audit log
  • ElevenLabs API key (create it in ElevenLabs account settings)

Skill level: Intermediate. You’ll connect accounts, map a few fields, and adjust prompts and rubrics to match your hiring process.

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

Step by Step

An applicant submits your application form. One of the n8n form triggers fires (the template includes three), capturing applicant details and the uploaded resume.

The resume is stored and parsed. The workflow uploads the file to Google Drive, then extracts text from the PDF so AI can work with it reliably instead of guessing from a screenshot or a messy paste.

AI summarizes and scores against the role. Role details and evaluation criteria are pulled from Notion, then an AI agent produces a candidate summary, qualifications breakdown, and a resume score (1–10) with rationale you can skim.

Records are created, logged, and later enriched after interviews. The workflow writes the applicant into your Notion ATS, adds a Google Sheets backup row for audit and compliance needs, and when ElevenLabs posts interview results via webhook, it attaches audio and updates the same Notion profile with an interview score (1–5) and insights.

You can easily modify the scoring rubric and the “advance” thresholds in Notion based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Form Triggers

Set up the three application intake forms that feed candidate data and resumes into the workflow.

  1. Open Application Form A and set Form Title to Sr Account Executive and Form Description to [Company Name].
  2. In Application Form A, confirm the hidden job_code field value is 300 and the Resume field accepts .pdf.
  3. Open Application Form B and set Form Title to Full Stack Developer and Form Description to [Company Name].
  4. In Application Form B, confirm the hidden Job Code field value is 200 and Resume accepts .pdf.
  5. Open Application Form C and set Form Title to IT Support Analyst and Form Description to [Company Name].
  6. In Application Form C, confirm the hidden Job Code field value is 100 and Resume accepts .pdf.

Execution Flow: Application Form A outputs to both Upload Resume File and Applicant Intake Data in parallel. The same parallel flow applies to Application Form B and Application Form C.

Step 2: Connect Google Drive for Resume and Audio Storage

Store uploaded resumes and interview audio files in Google Drive.

  1. Open Upload Resume File and set Input Data Field Name to Resume.
  2. Credential Required: Connect your googleDriveOAuth2Api credentials in Upload Resume File.
  3. Open Save Audio to Drive and set Name to {{ $json.name }}.
  4. Credential Required: Connect your googleDriveOAuth2Api credentials in Save Audio to Drive.
  5. Open Resume Preview URL and set resume_url to https://drive.google.com/file/d/{{ $json.id }}/preview.

Step 3: Parse and Extract Resume Data

Convert PDF resumes into structured candidate information and merge the extracted data.

  1. Open Applicant Intake Data and confirm the assignments use {{ $json.undefined }} for job_code and {{ $json.submittedAt }} for date_time, with Include Other Fields enabled.
  2. Open Parse Resume PDF and set Operation to pdf and Binary Property Name to Resume.
  3. Open Candidate Qualifications and set Text to {{ $json.text }} to extract education, job history, skills, and experience.
  4. Open Candidate Contact Data and set Text to {{ $json.text }} with the provided schema for telephone, city, full_name, and email.
  5. Open Combine Streams and set Mode to combine and Combine By to combineAll.

Execution Flow: Parse Resume PDF outputs to both Candidate Qualifications and Candidate Contact Data in parallel, then both feed into Combine Streams.

Step 4: Configure AI Summaries and HR Alignment Scoring

Summarize candidates and roles, then score alignment using Gemini-based chains and a structured output parser.

  1. Open Candidate Summary and keep the summarization prompt that references {{ $json.output["Educational qualification"] }}, {{ $json.output["Job History"] }}, and {{ $json.output.Skills }}.
  2. Open Fetch Role Details and ensure the filter matches Job Code|select to {{ $('Applicant Intake Data').item.json.job_code }}. Credential Required: Connect your notionApi credentials.
  3. Open Role Summary and set Text to {{ $json.property_job_description }}.
  4. Open Map Role Description and set job_description to {{ $json.response.text }}.
  5. Open HR Alignment Reviewer and keep Text as Profile received: {{ $json.job_description }} ... {{ $('Candidate Summary').item.json.response.text }}, with Has Output Parser enabled.
  6. Open Structured Result Parser and confirm the schema includes resume_score and resume_evaluation.
  7. Credential Required: Connect your googlePalmApi credentials in Gemini Chat Model and Gemini Model Agent, then ensure these are connected as the language model for Candidate Summary, Candidate Qualifications, Candidate Contact Data, Role Summary, and Interview Evaluation Agent.

AI Tool Reminder: Structured Result Parser is an AI output parser; credentials are added on the parent chain node, not on the parser itself.

Step 5: Create and Update Notion Applicant Records

Write candidate records to Notion and embed resume links after upload.

  1. Open Create Applicant Entry and set Title to {{ $('Applicant Intake Data').item.json.Name }} | {{ $('Combine Streams').item.json.output['Title & Employer'] }}. Credential Required: Connect your notionApi credentials.
  2. Open Fetch Applicant Entry and confirm the filter uses Resume |files with condition is_empty. Credential Required: Connect your notionApi credentials.
  3. Open Embed Resume Link and set the file URL to {{ $('Resume Preview URL').item.json.resume_url }} for Resume |files. Credential Required: Connect your notionApi credentials.
  4. Open Pause Processing to keep the wait behavior between resume upload and Notion update.

Execution Flow: Resume Preview URLPause ProcessingFetch Applicant EntryEmbed Resume Link.

Step 6: Log Applicants to Google Sheets Backup

Append a structured record of each applicant to Google Sheets for backup and reporting.

  1. Open Log Applicant Backup and confirm Operation is append.
  2. Verify the column mappings use expressions like {{ $('Combine Streams').item.json.output['Total Years Experience'] }} and {{ $json.output.resume_score }}.
  3. Credential Required: Connect your googleSheetsOAuth2Api credentials in Log Applicant Backup.

Step 7: Configure Interview Evaluation Intake and Matching

Capture ElevenLabs interview analysis data, evaluate responses, and match to Notion applicants.

  1. Open ElevenLabs Incoming Hook and keep HTTP Method set to POST.
  2. Open AI Conversation Fields and confirm the fields map to expressions like {{ $json.body.data.analysis.evaluation_criteria_results.problem_solving.result }} and {{ $json.body.data.conversation_initiation_client_data.dynamic_variables.system__conversation_id }}.
  3. Open Interview Evaluation Agent and set Text to {{ $json.full_transcript }} with Has Output Parser enabled.
  4. Open Retrieve Evaluation Rules and confirm it filters Notion records where evaluation_criteria|rich_text is not empty. Credential Required: Connect your notionApi credentials.
  5. Open Applicant Record Lookup and set Operation to getAll. Credential Required: Connect your notionApi credentials.
  6. Open Filter Notion Records and confirm the condition compares {{ $json.property_phone }} to {{ $('AI Conversation Fields').item.json.ai_screen_phone_number_value }}.
  7. Open Update Applicant Entry and set the evaluation fields using expressions like Interview Criteria 1 | {{ $('AI Conversation Fields').item.json.criteria_1_result }} | {{ $('AI Conversation Fields').item.json.criteria_1_rationale }}. Credential Required: Connect your notionApi credentials.

AI Tool Reminder: Retrieve Evaluation Rules is an AI tool sub-node for Interview Evaluation Agent—credentials must be added to Retrieve Evaluation Rules and the parent agent uses its outputs.

Step 8: Store Interview Audio and Attach to Notion

Download the ElevenLabs interview audio, save it to Drive, and attach it to the candidate record in Notion.

  1. Open Retrieve Interview Audio and set URL to https://api.elevenlabs.io/v1/convai/conversations/{{ $node["AI Conversation Fields"].json.ai_screen_conversation_id }}/audio.
  2. In Retrieve Interview Audio, set JSON Headers to {"xi-api-key":"[CONFIGURE_YOUR_API_KEY]"} and enable Send Headers.
  3. Open Save Audio to Drive and confirm Name is {{ $json.name }}.
  4. Open Attach Audio in Notion and set the file URL to https://drive.google.com/file/d/{{ $json.id }}/preview. Credential Required: Connect your notionApi credentials.
⚠️ Common Pitfall: Replace [CONFIGURE_YOUR_API_KEY] in Retrieve Interview Audio with a valid ElevenLabs API key, or audio retrieval will fail.

Step 9: Connect Notion Credentials Across All Notion Nodes

This workflow uses multiple Notion nodes; ensure they all point to the correct workspace and databases.

  1. Credential Required: Connect your notionApi credentials to all Notion nodes, including Fetch Applicant Entry, Embed Resume Link, Fetch Role Details, Create Applicant Entry, Applicant Record Lookup, Update Applicant Entry, and Attach Audio in Notion.
  2. Verify each Notion node’s Database ID points to the intended database (Applicant Tracker, Work at [Company Name]).

Note: There are 7 Notion nodes in this workflow; confirm they all use the same authorized integration.

Step 10: Test and Activate Your Workflow

Run a complete test to verify data flows from application intake and interview analysis through to Notion and Google Sheets.

  1. Click Execute Workflow and submit a test record through Application Form A, Application Form B, or Application Form C with a PDF resume.
  2. Confirm the resume file is stored in Drive, a preview URL is generated in Resume Preview URL, and the resume link is embedded via Embed Resume Link.
  3. Check that Candidate Qualifications and Candidate Contact Data run in parallel and merge correctly in Combine Streams.
  4. Verify the applicant appears in Notion via Create Applicant Entry and a backup record is appended in Log Applicant Backup.
  5. Send a test POST to ElevenLabs Incoming Hook and confirm Update Applicant Entry and Attach Audio in Notion complete successfully.
  6. When everything works as expected, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Troubleshooting Tips

  • Notion permissions are the usual culprit. If records aren’t created or updated, check the integration access to the correct databases in Notion 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.

Quick Answers

What’s the setup time for this Notion resume screening automation?

Plan for about 1–2 hours if your Notion databases and keys are ready.

Is coding required for this resume screening automation?

No. You’ll mostly connect accounts, map fields, and adjust the scoring prompts and criteria.

Is n8n free to use for this Notion resume 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 AI and voice costs (OpenAI or Gemini usage plus ElevenLabs, which varies with interview 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 Notion resume screening workflow for different use cases?

Yes, and you should. Most teams start by swapping the role-specific pieces: update the Notion job description database pages, then adjust the “Fetch Role Details” mapping and the AI evaluation prompts used by the HR Alignment Reviewer and Interview Evaluation Agent. Common customizations include changing the resume score threshold that triggers a notification (for example, only flag 8+), adding knockout rules (work authorization, location), and tailoring the question rubric per role before ElevenLabs runs interviews.

Why is my Notion connection failing in this workflow?

Usually it’s access scope. Reconnect Notion in n8n and confirm the integration is invited to the exact databases you’re writing to (Applicant Tracker, job descriptions, and any criteria tables). If your database structure changed, field mapping can break silently, so open the Notion nodes and reselect the properties. Also check rate limits if you process many applicants in a burst.

What volume can this Notion resume screening workflow process?

On n8n Cloud Starter, you can usually handle a few thousand executions per month; self-hosting removes the hard cap and shifts the limit to your server and API quotas. Practically, resume parsing and AI calls are the throttle, not Notion. If you’re screening dozens of resumes a day, expect occasional queueing, and consider staggering form triggers or adding extra Wait time around file parsing and audio retrieval.

Is this Notion resume screening automation better than using Zapier or Make?

For this workflow, n8n is usually the better fit because you’re doing multi-step logic, AI agent chains, file parsing, and post-call webhooks, which gets expensive and awkward in simpler tools. You also get self-hosting, which matters when applicant volume spikes. Zapier or Make can work if you only want “form submission → create Notion record,” but the moment you add scoring, Drive storage, and interview callbacks, you’ll feel the ceiling. Compliance is another factor: keeping a Google Sheets audit log plus controlled Notion criteria is easier when everything runs in one orchestrated workflow. If you want a second opinion on your stack, Talk to an automation expert.

The workflow keeps your screening consistent and your pipeline moving. You get your time back, and candidates get faster answers.

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