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
n8n(Docker)Google Sheets APITelegram Bot APIJavaScript Functionnode
📂 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)

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
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)
- 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.
- 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
-
Install n8n with Docker
Already done. -
Connect Google Sheets Node
- Enable Google Sheets API + Drive API from Google Cloud Console
- Authorize OAuth credentials
-
Create Telegram Bot
- Talk to @BotFather to create a bot
- Save the bot token and your chat ID
-
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
-
Test It
- Manually trigger it once
- Or let the Schedule node handle it daily
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!
vibe.codingn8nDocker Instance- Manual node-by-node setup (no template import)
This project is licensed under the MIT License
