Gemini + Gmail: job matches delivered to your inbox
Job hunting breaks down in the same place every time: too many tabs, too many “maybe” roles, and no clear way to compare them to your CV without losing an afternoon.
If you’re a marketer between roles, a founder hiring for yourself, or a recruiter helping candidates, this Gemini Gmail automation turns the mess into one weekly email you can actually act on.
You’ll set up an n8n workflow that scrapes fresh job posts, summarizes each one, scores fit against your CV, then emails a clean shortlist through Gmail.
How This Automation Works
Here’s the complete workflow you’ll be setting up:
n8n Workflow Template: Gemini + Gmail: job matches delivered to your inbox
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model (Ag..", pos: "b", h: 48 }
n1@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model (Su..", pos: "b", h: 48 }
n2@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger1", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Search Config1", pos: "b", h: 48 }
n4@{ icon: "mdi:cog", form: "rounded", label: "Google Search Jobs1", pos: "b", h: 48 }
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Parse Search Results1"]
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Job URLs1", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "Scrape Page HTML1", pos: "b", h: 48 }
n8["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Clean HTML Text1"]
n9@{ icon: "mdi:robot", form: "rounded", label: "AI Summarizer1", pos: "b", h: 48 }
n10["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Aggregate Summaries1"]
n11@{ icon: "mdi:robot", form: "rounded", label: "Job Matcher Agent1", pos: "b", h: 48 }
n12@{ icon: "mdi:message-outline", form: "rounded", label: "Send Email Report1", pos: "b", h: 48 }
n9 --> n10
n6 --> n9
n6 --> n7
n8 --> n6
n2 --> n3
n7 --> n8
n11 --> n12
n3 --> n4
n4 --> n5
n10 --> n11
n5 --> n6
n0 -.-> n11
n1 -.-> n9
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n2 trigger
class n9,n11 ai
class n0,n1 aiModel
class n5,n8,n10 code
classDef customIcon fill:none,stroke:none
class n5,n8,n10 customIcon
Why This Matters: Weekly job searching turns into a second job
Most people don’t fail at job searching because they don’t try hard enough. They fail because the process is noisy. You run the same searches, open 20 listings, and half of them are stale, irrelevant, or impossible to evaluate quickly. Then comes the worst part: translating each role into “is this actually me?” based on your CV, your seniority, and what you want next. After about an hour, everything blurs together and you start bookmarking instead of deciding. Honestly, that’s how weeks slip by.
The friction compounds. Here’s where it breaks down in real life.
- You spend about 2 hours a week re-finding roles you already saw, because nothing is centralized.
- Job pages are full of scripts and clutter, so copying text into an AI tool often produces garbage summaries.
- “Good on paper” roles sneak in, and you only notice the mismatch after you’ve wasted time tailoring a resume.
- Without a consistent scoring method, you end up applying based on mood, not fit.
What You’ll Build: A weekly CV-matched job shortlist email
This workflow runs on a schedule (weekly) and does the searching for you. First, it sends your search criteria to Decodo’s scraping engine to collect fresh job listings for your region and industry. Then it visits each job link, pulls the page markup, and cleans it into readable text so the AI isn’t trying to interpret messy HTML. Next, Gemini summarizes each role into a consistent, human-friendly format, so you can compare listings quickly without reading full pages. Finally, a matching agent compares those summaries to your CV text and assigns a match percentage with reasons. Gmail sends you one polished report with the best roles first, plus links and posted dates.
The workflow starts with scheduled search inputs and a Decodo sweep across the web. It then loops through each job link to fetch, sanitize, and summarize the content. After that, Gemini evaluates fit against your CV and Gmail delivers the weekly shortlist to your inbox.
What You’re Building
| What Gets Automated | What You’ll Achieve |
|---|---|
|
|
Expected Results
Say you review 25 job listings each week. Manually, that’s roughly 5 minutes to open and scan each page (about 2 hours), plus another 2 hours comparing roles to your CV and taking notes. With this workflow, you spend maybe 10 minutes setting your search inputs for the week, then let it run. By the time the Gmail report arrives, you’re skimming a ranked shortlist and clicking direct links, not re-reading the same fluff. Most people get about 3 hours back weekly, and the decisions feel less random.
Before You Start
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Gemini API for summarizing and matching jobs
- Gmail to send your weekly shortlist report
- Decodo API credentials (get it from your Decodo dashboard)
Skill level: Intermediate. You will connect credentials, paste your CV text, and tweak prompts and search inputs.
Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).
Step by Step
A weekly schedule kicks it off. The workflow uses a Scheduled Trigger so it runs automatically on the day and time you choose. No reminders. No calendar guilt.
Your search criteria get assembled. An “edit fields” step sets things like location, role keywords, and industry focus, which the Decodo search sweep uses to find new listings on the open web.
Each job page gets fetched and cleaned. The workflow loops through the results in batches, requests each job link, and sanitizes the page into readable text. This is the unglamorous part, but it’s what makes the AI output feel reliable.
Gemini summarizes, then scores against your CV. A summarization chain produces consistent role summaries, then a matching agent evaluates skill alignment, seniority, and domain fit to produce a match percentage with short reasoning.
A Gmail report lands in your inbox. The final email includes the best roles first, the posted date when available, and direct links so you can move straight into applying.
You can easily modify the search region and role keywords to track different markets based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Scheduled Trigger
Set the workflow to run on a weekly cadence using the built-in schedule trigger.
- Add and open Scheduled Trigger Pulse.
- Set the schedule rule to weekly with Trigger At Day set to
6(as configured in the workflow). - Connect Scheduled Trigger Pulse to Configure Search Inputs.
Step 2: Connect Decodo Search and Define Search Inputs
Provide the search parameters and configure the Decodo Google search query.
- Open Configure Search Inputs and set JSON Output to
{ "topic": "INSERT_TOPIC_HERE", "regions": ["INSERT_REGION_HERE"], "platforms": ["linkedin.com"], "search_terms": ["hiring", "vacancy", "job opening", "career"] }. - Update
INSERT_TOPIC_HEREandINSERT_REGION_HEREwith your real search scope. - Open Decodo Search Sweep and set Operation to
google_search. - Set Geo to
={{ $json.regions[0] }}. - Set Query to
={{$json.topic}} {{$json.search_terms}} site:{{ $json.platforms[0] }} {{ $json.regions[0] }} after:2025-10-01. - Credential Required: Connect your Decodo API credentials in Decodo Search Sweep.
INSERT_TOPIC_HERE or INSERT_REGION_HERE unchanged will return empty or irrelevant results.Step 3: Parse and Iterate Job Links
Transform the Decodo search output into individual job listing items and iterate them one by one.
- Open Parse Listing Results and keep the JavaScript Code as provided to normalize Decodo results into URL items.
- Open Iterate Job Links and set Batch Size to
=1to process one listing per cycle. - Ensure Parse Listing Results connects to Iterate Job Links.
- Iterate Job Links outputs to both Fetch Page Markup and AI Summary Generator in parallel (the listing content is fetched while the batch cycles).
Step 4: Fetch, Clean, and Summarize Job Pages
Retrieve job page HTML, sanitize it to text, and summarize each listing for downstream analysis.
- Open Fetch Page Markup and set URL to
={{ $json.url }}. - Credential Required: Connect your Decodo API credentials in Fetch Page Markup.
- Open Sanitize Page Text and keep Mode set to
runOnceForEachItemto clean HTML into plain text. - Open AI Summary Generator and keep the summarization prompt intact to extract job-relevant details.
- Open Gemini Chat Model Summarizer and set Model Name if needed; it’s already linked as the language model for AI Summary Generator.
- Credential Required: Connect your Google Gemini credentials in Gemini Chat Model Summarizer (credentials are added to the model node, not the summarization chain).
Step 5: Analyze Candidate Fit and Combine Summaries
Aggregate all summaries and use the AI agent to generate the candidate-matched report.
- Open Combine Summaries and keep the provided code to merge all summary items into a single
summariesarray. - Open Candidate Match Analyst and keep the analysis prompt; it expects CV content in
{{ $json.cv_text }}. - Open Gemini Chat Model Agent and ensure Model Name is set to
models/gemini-1.5-pro. - Credential Required: Connect your Google Gemini credentials in Gemini Chat Model Agent (credentials are added to the model node, not the agent).
cv_text. You must add a data source (e.g., a Set node, database lookup, or file reader) before Candidate Match Analyst to supply the candidate’s CV text.Step 6: Configure Email Delivery
Send the final weekly report via Gmail.
- Open Dispatch Email Report and set Send To to your recipient email, e.g.
[YOUR_EMAIL]. - Set Message to
={{ $json.output }}to send the AI report text. - Set Subject to
=Weekly Job Listing Report – LinkedIn/Indeed Hiring Trends ({{ new Date().toLocaleDateString() }}). - Credential Required: Connect your Gmail OAuth2 credentials in Dispatch Email Report.
Step 7: Test and Activate Your Workflow
Run a manual test to confirm each stage produces output, then activate for weekly runs.
- Click Execute Workflow and monitor the run from Scheduled Trigger Pulse through Dispatch Email Report.
- Verify Parse Listing Results outputs job URLs and AI Summary Generator returns concise text summaries.
- Confirm Candidate Match Analyst outputs a plain-text report and Dispatch Email Report delivers the email.
- When satisfied, toggle the workflow to Active to enable weekly execution.
Troubleshooting Tips
- Decodo credentials can expire or your plan may block certain sites. If things break, check your Decodo dashboard usage, allowed targets, and API key status 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
About 30 minutes if your keys and Gmail are ready.
No. You’ll connect accounts, paste your CV text, and adjust a few prompts and search fields.
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 Decodo scraping costs and Gemini API usage (usually a few dollars a month at typical weekly volumes).
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.
Yes, and you should. You can change the “Configure Search Inputs” step to target a different region, industry, or keyword set, then keep the rest of the pipeline intact. If you prefer OpenAI, you can swap the Gemini chat model nodes for an OpenAI chat model with the same prompt intent. Common tweaks include raising the minimum match percentage, changing the report format, and adding a Google Sheets log for history.
Usually it’s an expired OAuth session or the wrong Gmail account connected. Reconnect Gmail in n8n and confirm the “from” and “to” fields match what your Google account allows. If you’re sending to a group alias or workspace address, check Google Workspace permissions. Also look at Google API quotas if you start sending lots of emails or testing too frequently.
On self-hosted n8n there’s no hard execution limit; it mainly depends on your server and your Decodo/Gemini quotas.
Often, yes, because this workflow needs looping, text cleanup, and richer AI logic that gets awkward (and expensive) in simpler tools. n8n handles batching and branching without forcing you into dozens of separate Zaps/scenarios. Another practical difference is scraping: using Decodo plus code steps to sanitize text is easier to control in n8n than in many no-code builders. That said, if you only want “send me new listings” with no scoring, Zapier or Make can be quicker to set up. Talk to an automation expert if you want help choosing.
The workflow handles the repetitive research and comparison so you can focus on the few roles worth applying to. Set it up once, then let the weekly email do its job.
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.