🔓 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 + Airtable: job leads tracked for you

Lisa Granqvist Partner Workflow Automation Expert

Job hunting has a sneaky way of eating your week. You find roles, copy links into a tracker, compare requirements to your CV, then rewrite the same resume bullets again and again.

This is where job leads automation helps. It hits job seekers first, honestly, but recruiters who coach candidates and career consultants feel the same drag when everything lives in scattered tabs. The outcome is simple: fresh roles show up already scored for fit, with a tailored CV draft waiting in your database.

Below, you’ll see how this n8n workflow pulls your preferences from Google Sheets, scrapes new postings, runs AI scoring, and stores everything neatly in Airtable so you can apply faster with less admin.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Sheets + Airtable: job leads tracked for you

The Problem: Job search admin takes over

You start with good intentions. A quick search in the morning, a few promising roles saved, maybe a note to tailor your CV later. Then the tabs multiply. You lose track of what you applied to, which jobs are already stale, and which ones actually match your experience. The worst part is the mental overhead: every role asks for a “tailored resume,” so you keep rewriting the same document while the best postings disappear within a day or two.

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

  • You spend about 10 minutes per job just collecting details and logging them somewhere.
  • Fresh roles get mixed with week-old listings, so you waste effort on jobs that are already effectively closed.
  • Resume tailoring becomes a nightly chore, which means you apply later and with less energy.
  • Your “tracker” turns into a messy spreadsheet that can’t tell you which roles are actually worth applying to.

The Solution: Daily job scraping + AI fit scoring into Airtable

This workflow runs on a daily schedule and turns your job search into a repeatable pipeline. It starts by reading your job preferences from Google Sheets (titles, locations, and any other fields you add). Then it uses Apify to scrape job boards for matching listings, normalizes the results into clean fields, and filters out anything older than about 48 hours. After that, an OpenAI agent scores each role against your current CV, explains the match, and generates a revamped CV draft tailored to that specific posting. Finally, everything is stored in Airtable, with separate handling for stale roles so your “current opportunities” view stays clean.

The workflow starts with a Cron trigger, then pulls preferences from Google Sheets and loops through each preference set. Apify collects matching jobs, AI scores and rewrites, and Airtable becomes your single source of truth for roles, links, fit scores, and tailored CV drafts.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you track 3 job titles across 2 locations (6 searches total) and you review 10 new roles per day. Manually, you might spend 10 minutes logging each role and another 20 minutes doing a quick “CV vs. job description” check, which is about 5 hours a day when you’re serious about it. With this workflow, you update your Google Sheet once, then the daily run does the scraping, filtering, scoring, and Airtable updates in the background. You only spend your time on the top-scoring roles and use the tailored CV draft as your starting point.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for storing job titles and locations.
  • Airtable to store scored roles and CV drafts.
  • Google Sheets API credentials (get them from Google Cloud Console).
  • Apify API key (get it from your Apify account settings).
  • OpenAI API key (get it from the OpenAI dashboard).
  • Airtable API key (get it from Airtable developer settings).

Skill level: Intermediate. You’ll connect accounts, map a few fields, and paste in API keys.

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

How It Works

A daily scheduler runs the workflow. The Cron node triggers once per day, so you’re not relying on “remembering to search” when you’re busy or tired.

Your preferences come from Google Sheets. n8n reads the rows that define what you want (job title, location, and any extra filters you add), then splits them into batches to run multiple searches without choking on volume.

Apify collects jobs and the workflow cleans them up. The HTTP request calls your Apify scraper, then code steps normalize job details into consistent fields like company, link, description, and date posted. An “if” filter keeps only fresh listings, and older ones can be archived in Airtable so they don’t clutter your current view.

OpenAI scores the match and drafts your tailored CV. An AI agent compares each job to your existing CV, returns a compatibility score and match reasoning, then generates a revamped CV draft per role. Finally, n8n writes the full record into Airtable, ready for review and applications.

You can easily modify the scoring criteria to prioritize remote roles, specific industries, or leadership experience based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Cron Trigger

Set the workflow to run on a daily schedule using the built-in trigger.

  1. Add and open Daily Fetch Scheduler.
  2. Set your preferred schedule for daily execution (e.g., every morning).
  3. Confirm that Daily Fetch Scheduler connects to Retrieve Job Preferences.

Step 2: Connect Google Sheets

Pull job preference data that drives the search loop.

  1. Open Retrieve Job Preferences and connect it to your Google Sheets file that stores job search inputs.
  2. Credential Required: Connect your Google Sheets credentials.
  3. Verify that Retrieve Job Preferences outputs to Divide Preference List.

⚠️ Common Pitfall: This node has no credentials configured in the workflow JSON. You must add Google Sheets credentials manually or the workflow will fail.

Step 3: Set Up Job Search Iteration and Scraping

Split preferences into batches and query an external scraper for job data.

  1. Open Divide Preference List and ensure it is configured to batch preference rows as needed.
  2. Confirm that Divide Preference List outputs to Iterate Job Searches.
  3. In Iterate Job Searches, validate the batch settings for iterative requests.
  4. Iterate Job Searches outputs to both Normalize Job Details and Apify Job Scraper in parallel—confirm both connections exist.
  5. Open Apify Job Scraper and configure the HTTP request to your Apify endpoint.
  6. Credential Required: Connect your HTTP Request credentials if your Apify endpoint requires authentication.

Step 4: Normalize, Filter, and Archive Job Data

Clean the scraped data, filter by recency, and archive stale roles in Airtable.

  1. Open Normalize Job Details and implement your normalization logic to map scraped fields into consistent keys.
  2. Configure Filter Recent Postings to separate fresh listings from stale roles.
  3. Filter Recent Postings outputs to both Cycle Job Scoring and Archive Stale Roles in parallel.
  4. Open Archive Stale Roles and select the Airtable base/table that stores archived jobs.
  5. Credential Required: Connect your Airtable credentials.

⚠️ Common Pitfall: Airtable nodes in this workflow have no credentials configured. Add Airtable credentials to both Archive Stale Roles and Store Final Job Data.

Step 5: Set Up AI Scoring and Resume Tailoring

Score jobs with AI and generate tailored CV suggestions before storage.

  1. Open OpenAI Chat Engine and add OpenAI credentials for the language model.
  2. OpenAI Chat Engine is connected as the language model for AI Match Scoring—ensure credentials are added to OpenAI Chat Engine, not the agent node.
  3. Open AI Match Scoring and confirm it receives input from Cycle Job Scoring.
  4. Set up Parse Score Results to convert AI output into structured fields for downstream use.
  5. Cycle Job Scoring outputs to both Cycle CV Suggestions and AI Match Scoring in parallel.
  6. Open AI Resume Tailor and connect OpenAI credentials for resume generation.

Keep AI prompts consistent across AI Match Scoring and AI Resume Tailor so scores and CV suggestions align with your preference schema.

Step 6: Configure Output Storage

Store finalized job results and AI recommendations in Airtable.

  1. Confirm Cycle CV Suggestions sends data to both Store Final Job Data and AI Resume Tailor in parallel.
  2. Open Store Final Job Data and select your Airtable base/table for final job records.
  3. Credential Required: Connect your Airtable credentials.

Step 7: Test and Activate Your Workflow

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

  1. Click Execute Workflow and confirm that Daily Fetch Scheduler triggers Retrieve Job Preferences.
  2. Check that job data flows through Apify Job Scraper, Normalize Job Details, and Filter Recent Postings without errors.
  3. Verify AI outputs from AI Match Scoring and AI Resume Tailor are parsed by Parse Score Results and stored in Store Final Job Data.
  4. Once successful, toggle the workflow to Active to run daily.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets credentials can expire or need specific permissions. If things break, check the Google Cloud Console credentials and OAuth scopes 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.
  • Apify scrapers sometimes change output fields when a job board updates its layout. If Airtable starts getting blank company names or missing links, inspect the latest Apify run output and update your mapping.
  • 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 job leads automation automation?

About 45 minutes if your APIs are ready.

Do I need coding skills to automate job leads automation?

No. You’ll mostly paste API keys and map fields between Google Sheets, Apify, OpenAI, and Airtable.

Is n8n free to use for this job leads 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 (often a few cents per job, depending on CV length) and Apify usage.

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 job leads automation workflow for multiple job boards?

Yes, but you’ll do it at the scraper layer. Swap the Apify actor (or add a second HTTP Request path) and keep the same “Normalize Job Details” mapping, adjusting fields where the new source labels things differently. Common customizations include adding niche boards, prioritizing remote-only roles, and tightening the “posted within 48 hours” rule.

Why is my Airtable connection failing in this workflow?

Usually it’s an expired or rotated Airtable API key, so regenerate it and update the Airtable credentials in n8n. Also check that the base/table IDs match the ones you created for “current processed jobs” and “archived jobs.” If you recently added new columns like revampedCV or newMatchReason, make sure your “Store Final Job Data” mapping is pointing to the right field types. Airtable can also reject very large text blocks, so if a CV draft is huge, store a summary and keep the full version in a document field instead.

How many job listings can this job leads automation automation handle?

On n8n Cloud Starter, you’re limited by monthly executions, so think in “runs per job processed” rather than raw listings. If you self-host, there’s no execution cap, and the practical limit becomes your server and your Apify/OpenAI rate limits. In most cases, processing a few hundred roles per day is fine as long as you batch properly and keep prompts efficient.

Is this job leads automation automation better than using Zapier or Make?

Often, yes. This workflow has looping, filtering, and multi-step AI processing, and n8n handles that kind of branching without turning every little step into a separate paid task. Self-hosting is also a big deal if you want to run daily searches across many preferences. Zapier or Make can still be a fit if you only want a simple “scrape → send me an email” flow and you don’t care about a structured Airtable database. If you’re unsure, Talk to an automation expert and you’ll get a straight answer for your situation.

Once this is running, your job search stops feeling like paperwork. The workflow does the collecting, sorting, and drafting, so you can focus on applying to the roles that actually fit.

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