🔓 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

Telegram + Google Sheets: job leads logged clean

Lisa Granqvist Partner Workflow Automation Expert

Job hunting gets messy fast. You open three job boards, copy links into a spreadsheet, lose track of what you already applied to, then repeat it tomorrow.

Marketing managers doing a quiet search feel it first. Recruiters chasing fresh roles and career coaches supporting multiple clients run into the same wall. This Telegram job automation turns “searching” into a simple chat command, and it keeps your tracking clean without you thinking about it.

You’ll see how the bot pulls roles from multiple platforms, filters them with AI, sends the best matches back to Telegram, and logs every listing into Google Sheets (and Airtable) so you can follow up faster.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Telegram + Google Sheets: job leads logged clean

The Problem: Job leads scatter everywhere

Manual job searching is deceptively expensive. Not because one search is hard, but because you’re constantly context-switching: LinkedIn tab, Indeed tab, Monster tab, then back to your spreadsheet, then back to a saved bookmark you swear you’ll organize later. After a week, you’re staring at duplicate roles, half-copied descriptions, and “Apply later” links that are now buried. Meanwhile, good postings disappear in a day or two, and you can’t follow up quickly because you don’t trust your own tracking.

The friction compounds. Here’s where it breaks down in real life.

  • Checking three job boards usually costs about 45 minutes per search once you include opening, filtering, and clicking into listings.
  • Duplicates creep in across platforms, so you waste time reviewing the same role with a different title or reposted link.
  • Your “job tracker” becomes unreliable because entries are inconsistent, which means follow-up and outreach slows down.
  • When you do find a strong match, you still need to copy details into a sheet, grab the apply link, and remember where you found it.

The Solution: A Telegram bot that curates and logs jobs automatically

This workflow turns job searching into a quick Telegram conversation. You message a bot with a command like /jobs marketing manager remote, and n8n takes over. It parses your keyword and location, hits multiple job sources in parallel (LinkedIn, Indeed, Monster via HTTP requests), then normalizes everything into one consistent format. After that, an AI agent using an OpenAI Chat Model filters for relevance and classifies details like experience level and remote availability. Finally, you get a clean, formatted summary back in Telegram, while every listing is logged into Google Sheets and Airtable for tracking and follow-up.

The workflow starts in Telegram, so you don’t have to open a laptop to “do a search.” Then it fetches jobs from three platforms at the same time, cleans and deduplicates results, and delivers a curated list back to your chat. In the background, your spreadsheet archive stays up to date automatically.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you run two searches a day: one for “sales manager Chicago” and one for “growth marketing remote.” Manually, a realistic loop is about 15 minutes per job board per search, so 3 boards × 15 minutes × 2 searches is roughly 90 minutes daily. With this workflow, you send two Telegram commands (maybe 2 minutes total), wait for results to come back, and your Google Sheet is already updated. That’s around an hour back each day, plus cleaner records for outreach.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Telegram to run the bot and commands
  • Google Sheets to archive jobs and keep history
  • Bright Data API key (get it from your Bright Data dashboard)

Skill level: Intermediate. You’ll connect accounts, add credentials, and understand basic Telegram bot setup.

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

How It Works

A Telegram message triggers it. When someone sends /start or a job query like /jobs keyword location, the Telegram Trigger kicks off the right branch and validates the input.

Your request gets interpreted. n8n parses the command (keyword, location, and any extra hints), then posts a quick “search in progress” status back to Telegram so you’re not waiting in silence.

Jobs are fetched and cleaned. HTTP requests pull listings from LinkedIn, Indeed, and Monster at the same time, then a normalization step standardizes fields like title, company, location, salary, and apply URL. Duplicates are removed before the AI filtering, which matters more than people think.

Results go to chat and to your trackers. You receive a formatted Telegram message with curated matches and “Apply Now” links, while Google Sheets and Airtable get updated so your pipeline stays consistent over time.

You can easily modify the keyword filters to include different roles or industries based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Telegram Trigger

This workflow starts when a user sends a Telegram message to your bot. Set up the trigger and ensure it listens for incoming messages.

  1. Add and configure Telegram Intake Trigger as the entry node.
  2. Set Updates to message.
  3. Credential Required: Connect your telegramApi credentials.
  4. Confirm that Telegram Intake Trigger outputs to both Validate Start Command and Filter Job Query in parallel.
Tip: Parallel routing is required here so /start and /jobs commands are processed simultaneously. Ensure both connections exist from Telegram Intake Trigger.

Step 2: Connect Telegram Command Routing

Filter incoming messages to separate onboarding commands from job search requests.

  1. In Validate Start Command, set the condition to compare Left Value ={{$json.message.text}} with Right Value /start.
  2. Connect Validate Start Command to Dispatch Welcome Note.
  3. In Filter Job Query, set the condition to check Left Value ={{$json.message.text}} startsWith /jobs.
  4. Connect Filter Job Query to Interpret Job Request.
⚠️ Common Pitfall: If the filter conditions are mis-typed (e.g., wrong case for /jobs), the flow won’t proceed to job searches.

Step 3: Set Up Job Request Processing and Status Updates

Parse the user’s job query, then immediately confirm the search is running.

  1. In Interpret Job Request, paste the provided JavaScript that parses keywords, location, and Telegram metadata.
  2. Connect Interpret Job Request to Post Search Status.
  3. In Post Search Status, set Text to 🔍 **Searching for Jobs...** with the included expressions {{$json.keyword}} and {{$json.location}}.
  4. Set Chat ID to ={{$json.chatId}}.
  5. Credential Required: Connect your telegramApi credentials in Post Search Status.

Step 4: Configure Parallel Job Fetching

Once the search status is posted, three job sources are queried simultaneously.

  1. Ensure Post Search Status outputs to LinkedIn Job Fetch, Indeed Job Fetch, and Monster Job Fetch in parallel.
  2. In LinkedIn Job Fetch, set URL to https://api.brightdata.com/datasets/v3/trigger, Method to POST, and Body Parameters to include dataset_id, country, keyword ={{$json.keyword}}, and location ={{$json.location}}.
  3. In Indeed Job Fetch, set URL to https://api.brightdata.com/datasets/v3/trigger, Method to POST, and map what to ={{$json.keyword}} and where to ={{$json.location}}.
  4. In Monster Job Fetch, set URL to https://api.monster.com/job-search/v2/search, Method to GET, and query parameters q ={{$json.keyword}}, where ={{$json.location}}, page 1.
⚠️ Common Pitfall: The HTTP Request nodes use genericCredentialType with httpHeaderAuth, but no credentials are configured. Add the required API auth headers for Bright Data and Monster before testing.

Step 5: Normalize and Store Job Results

All job source responses are standardized, filtered, and saved to storage systems.

  1. Connect LinkedIn Job Fetch, Indeed Job Fetch, and Monster Job Fetch to Normalize Job Results.
  2. In Normalize Job Results, keep the provided JavaScript to deduplicate and cap results to 10 entries.
  3. Ensure Normalize Job Results outputs to Compose Results Message, Update Sheets Archive, and Append Airtable Records in parallel.
  4. In Update Sheets Archive, set Operation to appendOrUpdate, Sheet Name to Telegram_Jobs, Document ID to [YOUR_ID], and Column to Match On to job_id.
  5. Credential Required: Connect your Google Sheets OAuth2 credentials in Update Sheets Archive.
  6. In Append Airtable Records, set Base ID to [YOUR_ID], Table ID to [YOUR_ID], and Operation to create.
  7. Credential Required: Connect your Airtable Token API credentials in Append Airtable Records.

Step 6: Configure Results Delivery and Analytics

Format a Telegram-friendly summary and deliver it while logging usage metrics.

  1. In Compose Results Message, keep the provided JavaScript that formats the job list and summary message.
  2. Confirm Compose Results Message outputs to both Deliver Job Results and Record Usage Metrics in parallel.
  3. In Deliver Job Results, set Text to ={{$json.telegram_message}} and Chat ID to ={{$json.telegram_chat_id}}.
  4. Credential Required: Connect your telegramApi credentials in Deliver Job Results.
  5. In Record Usage Metrics, set URL to https://hooks.zapier.com/hooks/catch/[YOUR_ID]/ and JSON Body to the provided expression ={{ { "user_id": $json.telegram_user, "chat_id": $json.telegram_chat_id, "search_query": $json.search_query, "jobs_found": $json.job_count, "timestamp": $json.search_timestamp, "platform": "telegram", "workflow": "job_search" } }}.
⚠️ Common Pitfall: If the Telegram message is too long, Telegram may reject it. The JavaScript in Compose Results Message limits the message to 5 job entries—don’t remove this limit without testing.

Step 7: Test and Activate Your Workflow

Run a full test to verify the Telegram interaction, job fetching, and data storage.

  1. Click Execute Workflow and send a Telegram message like /start and /jobs marketing remote.
  2. Confirm Dispatch Welcome Note responds to /start and Post Search Status responds to /jobs.
  3. Verify Normalize Job Results outputs records and that Update Sheets Archive and Append Airtable Records store the entries.
  4. Check that Deliver Job Results sends a formatted message and Record Usage Metrics posts to your Zapier webhook.
  5. When everything works, toggle Active to enable production use.
🔒

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 n8n credentials screen and the target spreadsheet sharing settings 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.

Frequently Asked Questions

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

About an hour if you already have the accounts and keys.

Do I need coding skills to automate Telegram job automation?

No. You’ll mostly paste credentials and adjust a few settings in n8n.

Is n8n free to use for this Telegram job 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 Bright Data API usage costs from your Bright Data plan and any OpenAI API usage for filtering.

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 Telegram job automation workflow for a different role type (like product or engineering)?

Yes, but plan to tweak two places. Update the command parsing logic in the “Interpret Job Request” step so it accepts your new keywords cleanly, then adjust the AI filtering prompt in the agent/model step to prioritize the roles and seniority you care about. Common customizations include adding industry-specific terms, changing the experience level labels, and filtering harder for remote or salary-listed roles. If you log to different columns, you’ll also update the Google Sheets mapping so your tracker stays readable.

Why is my Telegram connection failing in this workflow?

Usually it’s the bot token or webhook setup. Regenerate the token via @BotFather if needed, then confirm your n8n instance is reachable over HTTPS because Telegram webhooks won’t work without SSL. Also check that you’re using the correct chat ID when sending messages back, especially if you test in groups. If it works once and then stops, rate limits or a changed webhook URL are common culprits.

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

On n8n Cloud Starter, you’re capped by monthly executions, so the practical limit depends on how often you run searches. If you self-host, there’s no execution limit and it mainly comes down to your server size plus the scrape/API limits of your data provider. In normal use, most people run a handful of searches a day and stay well within limits. If you’re pulling hundreds of results per search, add stronger deduping and consider batching so your sheet writes don’t choke.

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

For multi-source scraping and cleaning, n8n is usually the smoother choice. You can run parallel requests, normalize data, dedupe, and branch logic without turning it into an expensive tangle of tasks. Self-hosting is the real difference, honestly, because it lets you scale without counting every step. Zapier or Make can still work if you only want “Telegram message → append to sheet,” but the moment you add three sources plus AI filtering, you’ll feel the constraints. If you’re torn, Talk to an automation expert and you’ll get a clear recommendation.

Once this is running, your “job search” becomes a quick message and a clean log you can trust. The bot handles the repetitive digging so you can focus on outreach and applications.

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