🔓 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 + Telegram: only the best jobs, delivered

Lisa Granqvist Partner Workflow Automation Expert

You find a “great” job post, open it, and it’s the wrong location, the wrong seniority, or already expired. Then you do it again. And again.

Notion Telegram jobs automation hits hardest when you’re juggling applications alongside work. A full-time employee searching at night feels it. So does a freelancer trying to line up the next contract, or an agency owner quietly monitoring the market for specialist hires.

This workflow pulls listings from multiple sources, scores them with AI, filters out the noise, then saves the winners to Notion and pings you in Telegram. You’ll see what it does, what you need, and where the real time savings come from.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Notion + Telegram: only the best jobs, delivered

The Problem: Job hunting turns into endless tab-hopping

Most job searches don’t fail because there are no roles. They fail because the process is exhausting. You bounce between Indeed, JobStreet, Jooble, WhatJobs, LinkedIn posts, recruiter messages, and whatever your friend forwarded. Every platform formats listings differently, which means your brain has to “re-interpret” the same info over and over. Then there’s the worst part: you spend 10 minutes reading a post, only to realize it doesn’t match your skills, your location, or your pay floor. The opportunity cost is real. That time could be going into better applications, portfolio updates, or outreach that actually gets replies.

It adds up fast. Here’s where the friction compounds.

  • You end up checking the same sites multiple times a day because new listings appear at random times.
  • Important details get missed because the information is buried in different layouts and inconsistent fields.
  • Tracking what you applied to becomes a messy spreadsheet (or, honestly, a vague memory).
  • Cover letters get rushed, reused, or skipped, which quietly hurts response rates.

The Solution: AI-scored listings saved to Notion, with Telegram alerts

This n8n workflow runs on a schedule and searches several job sources at once (Jooble, JobStreet, Indeed, and WhatJobs). It merges those results into one feed, standardizes the job records so the fields make sense side-by-side, then sends each listing through an AI fit assessment. That AI step compares the job requirements to your skills profile and produces a compatibility score plus a short rationale. Only jobs that pass your threshold move forward. The “keepers” are logged into a Notion database as clean, consistent entries, and you get a Telegram message so you can review immediately. If you also want tailored documents, the workflow can generate and store a cover letter file in Google Drive for each qualified role.

The workflow starts with an automated scan every 8 hours. Then it pulls listings, normalizes the fields, and lets AI decide what’s worth your attention. Finally, Notion becomes your single source of truth, while Telegram acts as the tap-on-the-shoulder.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you normally check 4 platforms twice a day, and you spend about 10 minutes per platform each time. That’s roughly 80 minutes a day just to see what’s new, before you even decide what’s worth applying to. With this workflow, the scan runs every 8 hours automatically, the AI scores everything in the background, and you only open the roles that passed your threshold. In practice, many people go from “a daily hour of browsing” to about 10 minutes of review in Telegram and Notion, then they apply with a clear head.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Notion for storing and tracking job matches.
  • Telegram to receive match alerts (and error notices).
  • Google Gemini API key (get it from Google AI Studio) for job fit scoring and text generation.

Skill level: Intermediate. You’ll connect accounts, add API keys, and adjust a few variables like keywords, location, and your scoring threshold.

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

How It Works

A scheduled scan kicks it off. Every 8 hours, n8n triggers the workflow and loads your search parameters (job keywords, location, radius, and result limits).

Listings are pulled from multiple sources. The workflow queries Jooble, JobStreet, Indeed, and WhatJobs via HTTP requests, then merges the responses into one combined feed so you’re not comparing apples to oranges.

Jobs are cleaned up and scored. A standardization step maps different fields into one structure, then the AI fit assessment (Gemini) evaluates compatibility against your skills profile. An “eligibility threshold” check filters out anything below your target score.

Qualified matches are logged and announced. High-fit roles are saved into Notion, a Telegram message is sent for quick review, and an optional cover letter file can be stored in Google Drive. Errors go to a separate Telegram notice so failures don’t stay hidden.

You can easily modify the scoring threshold to be stricter (fewer alerts) or more open (more opportunities) based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Schedule Trigger

Set up the workflow schedule so job discovery runs automatically.

  1. Add and open Scheduled Job Scan.
  2. In Rule, set the interval to hours with 8 as the hoursInterval.
  3. Confirm Scheduled Job Scan connects to Define Search Parameters.

Step 2: Connect Job Search Inputs and API Queries

Define the search parameters and send parallel API requests to multiple job boards.

  1. Open Define Search Parameters and set the following assignments: job_keywords to software developer, web developer, full stack, javascript, react, node.js, auto_apply_threshold to 75, location to Indonesia, radius to 50, and max_results_per_source to 10.
  2. Configure Jooble API Query with URL https://jooble.org/api/{{PLACEHOLDER_JOOBLE_API_KEY}}, Method POST, and body parameters including ={{ $node['Define Search Parameters'].json.job_keywords }}, ={{ $node['Define Search Parameters'].json.location }}, ={{ $node['Define Search Parameters'].json.radius }}, and ={{ $node['Define Search Parameters'].json.max_results_per_source }}.
  3. Configure JobStreet API Query with URL https://www.jobstreet.co.id/api/chalice-search/v4/search and query parameters including ={{ $node['Define Search Parameters'].json.job_keywords }} and ={{ $node['Define Search Parameters'].json.max_results_per_source }}.
  4. Configure Indeed API Lookup with URL https://id.indeed.com/jobs and query parameters including ={{ $node['Define Search Parameters'].json.job_keywords }}, ={{ $node['Define Search Parameters'].json.location }}, ={{ $node['Define Search Parameters'].json.max_results_per_source }}, and ={{ $node['Define Search Parameters'].json.radius }}.
  5. Configure WhatJobs API Lookup with URL https://api.whatjobs.com/api/v1/jobs/search and header x-api-token set to {{PLACEHOLDER_WHATJOBS_API_TOKEN}}.
  6. Confirm parallel execution: Define Search Parameters outputs to Jooble API Query, JobStreet API Query, Indeed API Lookup, and WhatJobs API Lookup in parallel.

⚠️ Common Pitfall: The Jooble and WhatJobs requests use placeholder tokens. Replace {{PLACEHOLDER_JOOBLE_API_KEY}} and {{PLACEHOLDER_WHATJOBS_API_TOKEN}} with valid API values before testing.

Step 3: Merge and Normalize Job Records

Combine responses and standardize job data into a single schema.

  1. Ensure Jooble API Query and JobStreet API Query both connect to Combine Job Feeds while also sending errors to Prepare Error Payload.
  2. Verify Combine Job Feeds connects to Standardize Job Records.
  3. In Standardize Job Records, keep the provided JavaScript to normalize fields and filter by validation_score.

This normalization step guards against missing titles, URLs, and descriptions and prevents low-quality postings from reaching the AI step.

Step 4: Set Up AI Scoring and Eligibility Logic

Use Gemini to assess fit and pass only high-scoring jobs to Notion logging.

  1. Open AI Fit Assessment and set Model to gemini-1.5-pro with Temperature 0.3.
  2. Credential Required: Connect your googlePalmApi credentials in AI Fit Assessment.
  3. Confirm the message content references fields like {{ $json.title }}, {{ $json.company }}, {{ $json.location }}, and {{ $json.description }}.
  4. In Eligibility Threshold Check, set the condition to compare ={{ JSON.parse($json.response || '{}').compatibility_score || 0 }} with ={{ $node['Define Search Parameters'].json.auto_apply_threshold }}.
  5. Confirm parallel execution: AI Fit Assessment outputs to both Eligibility Threshold Check and Prepare Error Payload in parallel.

Step 5: Configure Outputs (Notion, Telegram, Drive)

Log successful matches to Notion, alert via Telegram, and store the AI-generated cover letter.

  1. Open Log to Notion Workspace and set Database ID to {{PLACEHOLDER_NOTION_DATABASE_ID}} with Title ={{ $json.title || 'Job Application' }}.
  2. Credential Required: Connect your notionApi credentials in Log to Notion Workspace.
  3. Open Telegram Match Alert and set Chat ID to {{PLACEHOLDER_TELEGRAM_CHAT_ID}}; confirm the message uses expressions like {{ $json.title || 'Unknown Position' }} and {{ JSON.parse($json.response || '{}').compatibility_score || 0 }}.
  4. Credential Required: Connect your telegramApi credentials in Telegram Match Alert.
  5. Open Store Cover Letter File and set Name to ={{ ($json.company || 'Company').replace(/[^a-zA-Z0-9]/g, '_') }}_{{ ($json.title || 'Job').replace(/[^a-zA-Z0-9]/g, '_') }}_{{ $now.toISOString().split('T')[0] }}.txt and Folder ID to {{PLACEHOLDER_GOOGLE_DRIVE_FOLDER_ID}}.
  6. Credential Required: Connect your googleDriveOAuth2Api credentials in Store Cover Letter File.
  7. Confirm parallel execution: Log to Notion Workspace outputs to Telegram Match Alert, Store Cover Letter File, and Prepare Error Payload in parallel.

⚠️ Common Pitfall: Replace all placeholders like {{PLACEHOLDER_NOTION_DATABASE_ID}}, {{PLACEHOLDER_TELEGRAM_CHAT_ID}}, and {{PLACEHOLDER_GOOGLE_DRIVE_FOLDER_ID}} before running the workflow.

Step 6: Add Error Handling

Ensure failures are captured and sent to Telegram for quick troubleshooting.

  1. Open Prepare Error Payload and confirm fields like error_message are set to ={{ $json.error?.message || 'Unknown error occurred' }} and error_timestamp to ={{ new Date().toISOString() }}.
  2. Connect Prepare Error Payload to Telegram Error Notice.
  3. Open Telegram Error Notice and set Chat ID to {{PLACEHOLDER_TELEGRAM_CHAT_ID}}.
  4. Credential Required: Connect your telegramApi credentials in Telegram Error Notice.

Step 7: Test and Activate Your Workflow

Run a manual test and confirm the end-to-end pipeline before enabling the schedule.

  1. Click Execute Workflow to run Scheduled Job Scan manually.
  2. Verify that Define Search Parameters triggers all four API nodes in parallel and that Combine Job Feeds and Standardize Job Records output normalized jobs.
  3. Confirm that high-scoring jobs pass Eligibility Threshold Check, then appear in Log to Notion Workspace, with Telegram and Google Drive outputs created.
  4. If errors occur, check Telegram Error Notice for the failed node details and update tokens or request parameters.
  5. Toggle the workflow to Active to enable the 8-hour schedule in production.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Notion credentials can expire or need specific permissions. If things break, check your Notion integration connection in n8n credentials first, then confirm the database is shared with that integration.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Telegram bot tokens get rotated more often than people expect. If alerts suddenly stop, regenerate the token in BotFather and update the Telegram credentials inside n8n, then send a test message.

Frequently Asked Questions

How long does it take to set up this Notion Telegram jobs automation?

About an hour if you already have your Notion database and Telegram bot ready.

Do I need coding skills to automate Notion Telegram jobs filtering?

No. You’ll mainly paste API keys, connect accounts, and edit a few settings like keywords and the score threshold.

Is n8n free to use for this Notion Telegram jobs 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 Google Gemini API usage, which is usually low for modest job volumes.

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 Notion Telegram jobs workflow for a different country or role?

Yes, and it’s the first thing you should do. Update the “Define Search Parameters” settings (keywords, location, radius, and results limit), then tweak the AI Fit Assessment prompt so it reflects your actual skills and must-haves. You can also change the “Eligibility Threshold Check” to be stricter if you want fewer Telegram pings. If one job source is irrelevant in your region, simply disable that HTTP request node and keep the rest.

Why is my Notion connection failing in this workflow?

Usually it’s expired credentials or the database isn’t shared with your Notion integration. Reconnect Notion in n8n, then confirm the database permissions and that the database schema still matches what the workflow is trying to write. If it fails only sometimes, you may be hitting Notion rate limits during larger batches.

How many job listings can this Notion Telegram jobs automation handle?

A lot, as long as you keep the results limit reasonable and your AI usage budget in mind. On n8n Cloud Starter, you’re generally fine for regular scheduled scans and moderate volume; higher plans handle more executions. If you self-host, there’s no execution cap, but your server still has to process the batch. Practically, most people start with a few dozen listings per run and adjust upward once everything is stable.

Is this Notion Telegram jobs automation better than using Zapier or Make?

Often, yes, because this workflow isn’t a simple two-step “when X then Y.” n8n handles branching logic, merging multiple job feeds, and error routing without getting awkward. It also gives you the self-host option, which matters when you’re running scheduled scans all month. Zapier and Make can still be great for lightweight alerts, but once you add scoring, filtering, and database logging, the pricing and limitations can sting. If you want a quick recommendation based on your volume and tools, Talk to an automation expert.

Set it up once, and your job search stops being a daily grind of tabs and guesswork. The workflow handles the scanning and sorting so you can focus on the roles that actually deserve an application.

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