Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Job Finder Bot (n8n + Telegram + Google Sheets)

Job Finder Bot - n8n Workflow

This is an automation bot built using n8n (open-source workflow automation tool) that:

  • 🔍 Fetches jobs from a public GitHub job listing API
  • 🎯 Filters jobs for relevant keywords like Python, AI, Intern, etc.
  • 🧾 Saves filtered results to Google Sheets
  • 📩 Sends Telegram messages with job details

🔧 Tech Stack

  • n8n (Docker)
  • Google Sheets API
  • Telegram Bot API
  • JavaScript Function node

📁 Project Structure

📂 job-finder-bot/
├── README.md
├── LICENSE
├── screenshots/
│   ├── sheet-preview.png
│   └── telegram-demo.png
├── workflow/
│   └── job-finder-bot-workflow.json

---

## 🛠️ How It Works

### 🧠 Workflow Logic

Schedule Trigger (every 1 hour or day) ↓ HTTP Request (Get jobs JSON from GitHub) ↓ Function (Filter jobs based on keywords) ↓ Google Sheets (Append/update filtered jobs) ↓ Telegram Node (Send formatted message for each job)


### 🧹 Deduplication Logic

- Before appending to Google Sheets, we **check if the job already exists** by matching the **Job URL or Title**.
- This prevents duplicate entries in both Google Sheets and Telegram messages.

---

## 🔒 Things to Know

- This bot runs **only when Docker and n8n are turned on**.
- Internshala or LinkedIn scraping is **not used** (due to TOS restrictions).
- Job source: [`remote-jobs`](https://github.com/remotive-com/remote-jobs)

---

## 🧠 Setup Instructions

1. **Install n8n with Docker**  
   Already done.

2. **Connect Google Sheets Node**  
   - Enable Google Sheets API + Drive API from [Google Cloud Console](https://console.cloud.google.com/)
   - Authorize OAuth credentials

3. **Create Telegram Bot**  
   - Talk to [@BotFather](https://t.me/botfather) to create a bot
   - Save the **bot token** and **your chat ID**

4. **Build the Workflow**
   - Trigger: Schedule node
   - HTTP Request: Pull from `https://remoteok.com/api`
   - Function: Filter job titles using keywords
   - Google Sheets: Append or update rows
   - Telegram: Send message using bot token and chat ID

5. **Test It**
   - Manually trigger it once
   - Or let the Schedule node handle it daily

---

## 📦 Import Workflow

You can directly import this workflow into your n8n instance:

👉 [Download job-finder-bot-workflow.json](./workflow/job-finder-bot-workflow.json)

Then in n8n, go to **"Import"**, upload the file, and you're good to go!


## 🎥 Made Using

- `vibe.coding`
- `n8n` Docker Instance
- Manual node-by-node setup (no template import)

---

## 📜 License

This project is licensed under the [MIT License](LICENSE)
=======
# 🚀 Job Finder Bot (n8n + Telegram + Google Sheets)

![Job Finder Bot - n8n Workflow](./screenshots/Workflow02.png)

This is an automation bot built using [n8n](https://n8n.io/) (open-source workflow automation tool) that:
- 🔍 Fetches jobs from a public GitHub job listing API
- 🎯 Filters jobs for relevant keywords like `Python`, `AI`, `Intern`, etc.
- 🧾 Saves filtered results to **Google Sheets**
- 📩 Sends **Telegram** messages with job details

---

## 🔧 Tech Stack

- `n8n` (Docker)
- `Google Sheets API`
- `Telegram Bot API`
- `JavaScript Function` node

---

## 📁 Project Structure

📂 job-finder-bot/ ├── README.md ├── LICENSE ├── screenshots/ │ ├── sheet-preview.png │ └── telegram-demo.png ├── workflow/ │ └── job-finder-bot-workflow.json


🛠️ How It Works

🧠 Workflow Logic

Schedule Trigger (every 1 hour or day)
   ↓
HTTP Request (Get jobs JSON from GitHub)
   ↓
Function (Filter jobs based on keywords)
   ↓
Google Sheets (Append/update filtered jobs)
   ↓
Telegram Node (Send formatted message for each job)

🧹 Deduplication Logic

  • Before appending to Google Sheets, we check if the job already exists by matching the Job URL or Title.
  • This prevents duplicate entries in both Google Sheets and Telegram messages.

🔒 Things to Know

  • This bot runs only when Docker and n8n are turned on.
  • Internshala or LinkedIn scraping is not used (due to TOS restrictions).
  • Job source: remote-jobs

🧠 Setup Instructions

  1. Install n8n with Docker
    Already done.

  2. Connect Google Sheets Node

  3. Create Telegram Bot

    • Talk to @BotFather to create a bot
    • Save the bot token and your chat ID
  4. Build the Workflow

    • Trigger: Schedule node
    • HTTP Request: Pull from https://remoteok.com/api
    • Function: Filter job titles using keywords
    • Google Sheets: Append or update rows
    • Telegram: Send message using bot token and chat ID
  5. Test It

    • Manually trigger it once
    • Or let the Schedule node handle it daily

📦 Import Workflow

You can directly import this workflow into your n8n instance:

👉 Download job-finder-bot-workflow.json

Then in n8n, go to "Import", upload the file, and you're good to go!

🎥 Made Using

  • vibe.coding
  • n8n Docker Instance
  • Manual node-by-node setup (no template import)

📜 License

This project is licensed under the MIT License

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors