Skip to main content

Smart LinkedIn job filtering with Google Gemini, CV matching, and Google Maps

Workflow preview

Workflow preview
100%
Smart LinkedIn job filtering with Google Gemini, CV matching, and Google Maps preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

What it does The job search process is filled with manual, frustrating tasks—reading endless job descriptions only to find the seniority is wrong, the role requires a language you don't speak, or a...

Best for

  • HR automation workflows
  • AI Chatbot automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.set, n8n-nodes-base.httprequest, n8n-nodes-base.noop, @n8n/n8n-nodes-langchain.outputparserstructured, n8n-nodes-base.if, @n8n/n8n-nodes-langchain.agent, @n8n/n8n-nodes-langchain.lmchatgooglegemini, n8n-nodes-base.supabase

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Atta.

Original n8n.io source

1.1 Workflow description

Title
Smart LinkedIn job filtering with Google Gemini, CV matching, and Google Maps
Workflow name
Smart LinkedIn job filtering with Google Gemini, CV matching, and Google Maps

What it does

The job search process is filled with manual, frustrating tasks—reading endless job descriptions only to find the seniority is wrong, the role requires a language you don't speak, or a "hybrid" job has an impossible commute.

This workflow acts as a personal AI assistant that automates the entire top of your job search funnel. It doesn't just find jobs; it reads the full description, checks the commute time from your home, filters by your specific criteria, and even compares the job requirements against your CV to calculate a match score. It's a personalized, decision-making engine that only alerts you to the opportunities that are a perfect fit.

How it works

The workflow is designed to be fully customized from a single Config node and runs in a multi-layered sequence to find and qualify job opportunities.

  1. Scrape Jobs: The workflow triggers and uses Apify to find new job postings on LinkedIn based on a list of keywords you define (e.g., "AI Workflow Engineer," "Automation Specialist").
  2. AI Triage & Smart Filtering: For each job found, a Google Gemini AI performs an initial triage, extracting key data like the job's language, work model (Remote, Hybrid, On-site), and seniority level. The workflow then applies a series of smart filters based on your personal preferences:
    • Language & Seniority: It discards any jobs that don't match your target language and experience level.
    • Commute Check: For hybrid or on-site roles, it uses the Google Maps API to calculate the commute time from your home address and filters out any that exceed your maximum desired travel time.
  3. AI Deep Analysis vs. CV: For the handful of jobs that pass the initial filters, a second, more advanced Google Gemini agent performs a deep analysis. It compares the job description against your personal CV (which you paste into the config) to generate a summary, a list of key required skills, and a final match score (e.g., 8/10).
  4. Log & Alert: The final step is action. The full analysis of every qualified job is logged in a Supabase database for your records. However, only jobs with a match score above your set threshold will trigger an immediate, detailed alert in Telegram, ensuring you only focus on the best opportunities.

Setup Instructions

This workflow is designed for easy setup, with most personal preferences controlled from a single node.

Required Credentials

  1. Apify: You will need an Apify API Token.
  2. Google Cloud: You will need credentials for a Google Cloud project with the Google AI (Gemini) and Google Maps APIs enabled.
  3. Supabase: You will need your Supabase Project URL and Service Role Key.
  4. Telegram: You will need a Telegram Bot Token and the Chat ID for the channel where you want to receive alerts.

Step-by-Step Configuration

Almost all customization is done in the Config node. Open it and set the following parameters to match your personal job search criteria:

  • MyCV: Paste the full text of your CV/resume here. This is used by the AI to compare your skills against the job requirements.

  • JobKeywords: Search keywords for jobs (e.g., "engineer", "product manager").

  • JobsToScrape: The maximum number of relevant job postings to scrape in each run.

  • HomeLocation: Your home city and country (e.g., "Breda, Netherlands"). This is used as the starting point for calculating commute times for hybrid or onsite jobs.

  • MaxCommuteMinutes: Your personal maximum one-way commute time in minutes. The workflow will filter out any jobs that require a longer travel time.

  • TargetLanguage: Your preferred language for job postings. The workflow will filter out any jobs not written in this language. You can list multiple languages, separated by a comma.

  • ExperienceLevel: The seniority level you are looking for. The AI will validate this against the job description. The value can be:

"" → (Any)
"internship" → (Internship)
"entry" → (Entry Level)
"associate" → (Associate)
"mid_senior" → (Mid-Senior Level)
"director" → (Director)
"executive" → (Executive)
  • Under10Applicants: Set to true if you only want to see jobs with fewer than 10 applicants. Set to false to see all jobs.

After setting up the Config node, configure the Supabase and Telegram nodes with your specific credentials and table/chat details.

How to Adapt the Template

This workflow is a powerful framework for any search and qualification process.

  • Change Job Source: Swap the Apify node to scrape different job boards, or use an RSS Feed Reader node to get jobs from sites that provide feeds.
  • Refine AI Logic: The prompts in the two Google Gemini nodes are the core of the engine. You can edit them to extract different data points, change the scoring criteria, or even ask the AI to evaluate a company's culture based on the tone of the job description.
  • Change the Database: Replace the Supabase node with Airtable, Google Sheets, or a traditional database node like Postgres to log your results.
  • Modify Alerts: Change the Telegram node to send alerts via Slack, Discord, or Email. You could also add a step to automatically create a draft application or add the job to a personal CRM.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Config

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 2 - Scrape LinkenIn Jobs

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 3 - Done!

Type / Role
n8n-nodes-base.noOp - noOp
Config choices
Version 1

Block 4 - Structured Output Parser

Type / Role
@n8n/n8n-nodes-langchain.outputParserStructured - outputParserStructured
Config choices
Version 1.3

Block 5 - If Seniority Match

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 6 - Deconstruct Job Data

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 2.2

Block 7 - If Language Match

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 8 - Google Gemini

Type / Role
@n8n/n8n-nodes-langchain.lmChatGoogleGemini - lmChatGoogleGemini
Config choices
Version 1

Block 9 - If is not Remote

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 10 - Get Commute Time

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 11 - Is Commute Acceptable

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 12 - Google Gemini Deep Analysis

Type / Role
@n8n/n8n-nodes-langchain.lmChatGoogleGemini - lmChatGoogleGemini
Config choices
Version 1

Block 13 - Structured Output Parser Deep Analysis

Type / Role
@n8n/n8n-nodes-langchain.outputParserStructured - outputParserStructured
Config choices
Version 1.3

Block 14 - Save Data

Type / Role
n8n-nodes-base.supabase - supabase
Config choices
Version 1

Block 15 - If Has High Match Score

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 16 - AI Deep Analysis

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 2.2

Block 17 - Items Loop

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 18 - Send a Notification

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 19 - Schedule Trigger

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 20 - Manual Executing

Type / Role
n8n-nodes-base.manualTrigger - manualTrigger
Config choices
Version 1

Block 21 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 22 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 23 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 24 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Showing the first 24 of 26 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Smart LinkedIn job filtering with Google Gemini, CV matching, and Google Maps
Complexity advanced
Nodes 26
Categories HR, AI Chatbot
Author Atta
Published 12 Sept 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/8539/8539.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Smart LinkedIn job filtering with Google Gemini, CV matching, and Google Maps do?

What it does The job search process is filled with manual, frustrating tasks—reading endless job descriptions only to find the seniority is wrong, the role requires a language you don't speak, or a...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your HR, AI Chatbot use case.