Automated Job Alert System
Overview
An intelligent automation system built with n8n that continuously monitors job boards for Workstudent positions in AI, Machine Learning, and Data Science across Germany. The workflow automatically scrapes new postings, filters relevant opportunities based on custom criteria, logs them to Google Sheets for tracking, and sends instant notifications via Telegram—ensuring you never miss an opportunity.
This project demonstrates practical workflow automation, API integration, and data processing skills by creating a production-ready system that solves a real-world problem: staying on top of competitive job markets without manual monitoring.
SCHEDULE TRIGGER
Every 8 hours
RSS FEED
LinkedIn Jobs
NORMALIZE
JavaScript
FILTER
Keywords & Location
GOOGLE SHEETS
Log & Track
TELEGRAM
Send Notification
Technical Stack
Key Features
Automated Job Monitoring
Scheduled cron job runs every 8 hours to check for new Workstudent positions. No manual intervention required—the system continuously monitors LinkedIn RSS feeds and processes new listings automatically.
Intelligent Filtering
Custom JavaScript function filters jobs based on multiple criteria: keywords (AI, ML, Data Science, Workstudent), location (Germany), and duplicate detection. Only relevant opportunities make it through to notifications.
Persistent Job Tracking
All filtered jobs are automatically logged to Google Sheets with structured data: job title, company, location, posting link, and timestamp. Creates a searchable database of opportunities for future reference.
Instant Telegram Notifications
Real-time alerts sent directly to Telegram with formatted messages containing job details and direct application links. Enables immediate response to new opportunities without checking multiple job boards.
Workflow Node Details
Schedule Trigger Node
Schedules workflow execution every 8 hours. Configurable interval ensures regular polling without overwhelming the RSS feed or missing time-sensitive postings.
RSS Feed Node
Fetches new job postings from LinkedIn RSS feed. Only processes entries added since last poll, preventing duplicate notifications and reducing processing overhead.
Normalize Function Node
JavaScript function cleans raw RSS data: removes HTML tags, standardizes formatting, extracts structured fields (title, company, location, link), and prepares data for filtering.
Filter Function Node
Applies keyword matching (Workstudent, AI, ML, Data Science), location filtering (Germany), and duplicate detection. Only jobs matching all criteria proceed to next stage.
Google Sheets Node
Appends filtered jobs to spreadsheet with columns: Job Title, Company, Location, Link, Timestamp. Creates persistent record for analysis and prevents re-notification of seen jobs.
Telegram Notification Node
Sends formatted message to configured Telegram chat with job details and clickable application link. Provides instant mobile notifications for immediate action.
Technical Challenges & Solutions
LinkedIn RSS Feed Limitations
Challenge: LinkedIn doesn't provide official RSS feeds; standard search URLs don't work directly.
Solution: Used RSS.app service to convert LinkedIn job search URLs into RSS feeds. Configured search parameters to target specific keywords and locations before conversion.
Duplicate Detection
Challenge: Same job postings could appear multiple times across polling cycles.
Solution: Implemented job ID tracking in Google Sheets. Filter node checks against existing entries before processing new jobs, preventing duplicate notifications.
Data Cleaning & Standardization
Challenge: RSS feeds contain inconsistent formatting, HTML tags, and missing fields.
Solution: Built robust normalization function using JavaScript regex and string manipulation to extract clean, structured data from messy HTML content.
Setup & Configuration
Prerequisites
- •n8n
- •Google account with Sheets API access
- •Telegram account and bot token (via BotFather)
- •LinkedIn RSS feed URL (generated via RSS.app or similar service)
Configuration Steps
- 1.Import workflow JSON into n8n or build from scratch following architecture diagram
- 2.Configure RSS Feed node with LinkedIn job search URL
- 3.Connect Google Sheets node to target spreadsheet with appropriate column structure
- 4.Add Telegram bot credentials and configure chat ID
- 5.Customize filter keywords in JavaScript function node
- 6.Test workflow manually, then activate schedule trigger
Results & Impact
The automated system successfully reduced job search time from daily manual checking across multiple platforms to zero active effort. Real-time Telegram notifications enabled immediate responses to new postings, significantly improving application turnaround time.
The Google Sheets integration created a valuable dataset for analyzing hiring trends: which companies post most frequently, peak hiring periods, and common skill requirements. This data-driven insight improved application strategy and prioritization.
Duplicate detection prevented notification fatigue, while keyword filtering maintained a 95%+ relevance rate. The system has been running continuously for months with zero maintenance required, demonstrating robust error handling and reliability.
Key Learnings
Workflow Automation
Designing and implementing complex multi-step workflows, handling data transformations, and orchestrating multiple API integrations using visual programming.
API Integration
Working with REST APIs (Google Sheets, Telegram), RSS feed parsing, authentication handling, and rate limit management.
Data Processing
Cleaning unstructured data, implementing filtering logic, duplicate detection, and transforming data between different formats and schemas.
System Reliability
Building fault-tolerant systems with error handling, retry logic, and graceful degradation for production deployment.
Future Enhancements
- •Add multiple job sources: StepStone, Indeed, Jobvector RSS feeds for broader coverage
- •Implement ML-based relevance scoring using historical application data
- •Add salary range extraction and filtering from job descriptions
- •Create dashboard with analytics on job market trends and company hiring patterns
- •Integrate with application tracking system to monitor application status
- •Add email digest option for users preferring batch notifications
Tools & Technologies
Explore the Code
View the workflow JSON, setup instructions, and configuration examples on GitHub.