Sitemap

Automating Resume Matching with AI: A Low-Code Workflow Using Zapier, Google Sheets & Gemini

3 min readJul 8, 2025

--

✨ How I Built a Cost-Effective Resume Optimization System and What I Learned

Press enter or click to view image in full size

🧠 Why I Built This System

Having worked as a job application specialist, I spent hours daily reviewing resumes, searching for matching job descriptions, comparing the two, and optimizing documents for better results. The process was time-consuming, repetitive, and draining.

I needed to automate it — but without expensive tools.

So I created a low-code workflow using Google Sheets, Gemini (Google AI Studio), Zapier, and Google Forms to match resumes to job descriptions, score them using AI, and return results to the applicant — all in a streamlined system.

🔁 The Workflow at a Glance

✅ Phase 1: Resume Intake

  • A Google Form collects full name, email address, resume (in text format), and job description (in text format).
  • Responses are saved to Google Sheets which serves as the automation hub.

✅ Phase 2: Resume vs JD Matching via Gemini API

  • A Google Apps Script runs through each row.
  • It sends the resume and job description to the Gemini 1.5 Pro API with a prompt:

“Compare the resume and JD. Return a match score out of 100 and a brief evaluation.”

  • Gemini responds with a score and feedback, which are logged back into the sheet.
Press enter or click to view image in full size
Google Apps Script

✅ Phase 3: Email Notifications via Zapier

Using Zapier, I built a multi-step automation:

  1. Trigger: When the score column in Google Sheets is updated.
  2. Filter: Only continue if Score is not “N/A”.
  3. Action: Send an email to the applicant with their:
  • Match score
  • Resume feedback
  • (Optional) Link to optimized resume in Google Drive

✅ Phase 4: Process Control

Get Abdulraheem Sodiq’s stories in your inbox

Join Medium for free to get updates from this writer.

To add manual control, I included a column in the Sheet labeled: “Process Status” with options like:

  • ✅ Running
  • ⏸ Pause
  • 🛑 Stop

A second Zap:

  • Detects changes in status
  • Sends email alerts to applicants when their resume status is paused, resumed, or stopped

✅ What Worked Well

  • Cut down manual work by over 70%
  • Reduced resume-to-job description mismatch
  • Centralized everything in Google tools
  • Applicants received real-time feedback and match scores

⚠️ What Didn’t Go So Smoothly

  • Gemini prompt rejected due to large text size (fixed: Limited input to 7,000 characters using .substring() )
  • Google AI Studio API errors (model not found or access denied) (fixed: Switched to gemini-1.5-pro with correct endpoint)
  • Zapier quota limitations (Fixed: Used only free-tier triggers and avoided premium steps)
  • Rtoesume or JD missing → "undefined" (Fixed: Added validation logic to skip incomplete rows)
Press enter or click to view image in full size
Automation flow

💡 Pros & Cons

Pros:

  • 💰 Cost-Effective: Uses free tiers of Zapier, Sheets, and Gemini
  • 🧠 AI-Driven: Evaluates resumes using generative AI
  • ⏱️ Time-Saving: Auto-scores and sends results
  • 🧩 Modular: Easily extendable (e.g., auto-apply to jobs, log to CRM)

Cons:

  • 📝 Only works with text-format resumes and job descriptions
  • 🚫 Gemini API sometimes fails with long/complex inputs
  • 📂 No integration with file uploads (yet)
  • ⚙️ Requires initial scripting knowledge (Apps Script)

🛠️ Planned Improvements

  • File Parsing: Add PDF/DOCX parsing via Make.com or n8n to extract text from uploaded resumes.
  • AI Scoring Benchmark: Calibrate Gemini outputs with real-world recruiter feedback for accuracy.
  • Job Auto-Matching: Add job scraping automation using SerpAPI or PhantomBuster.
  • Resume Optimization: Use OpenAI/Gemini to auto-edit resumes based on feedback.
  • Industry Integration: Connect with ATS tools like Greenhouse or Workable via API.

🚀 Final Thoughts

This workflow boosted productivity and helped deliver value faster. If you work in resume review, HR, or job applications, this system is a game-changer.

📩 Want to build your own?

Drop a comment or connect via x.

--

--

Abdulraheem Sodiq
Abdulraheem Sodiq

Written by Abdulraheem Sodiq

Data Analyst || Python Programmer || Electrical Engineer