If you sell to companies that are hiring — recruiting services, dev shops, GTM tools — your warmest leads are companies struggling to hire. A Staff ML Engineer role sitting open for 50 days is a company in pain, and pain buys.
The problem: that signal is scattered across 60+ career pages, changing daily. Nobody watches them by hand.
So I automated the watching. Every morning at 08:00, a 5-node n8n workflow pulls ~700 AI/ML postings from 60 AI companies, flags the hot signals, and sends me one Telegram message per company. Total LLM spend: $0.
The data layer
The workflow sits on top of a purpose-built Apify actor (kotaro001/ai-jobs-daily) that scrapes 60 AI companies' career pages daily (Greenhouse, Lever, Ashby, Workable). Every row comes enriched — 29 core fields, all deterministic:
- Salary normalized to USD (ECB rates; monthly ×12; week/day rates rejected)
- Seniority (6 levels), workplace type, country codes, visa sponsorship — pure regex, no LLM
-
days_open+ ghost-job flag (>60 days active) - Repost detection via content fingerprinting — catches companies quietly reposting the same role, even across board migrations
-
company_domain(DNS-verified) +company_linkedin_url— this is the GTM gold: push straight into Clay/Apollo to find the hiring manager, no enrichment step needed
The workflow (5 nodes)
- Schedule Trigger — daily 08:00
-
HTTP Request — calls the actor via
run-sync-get-dataset-items, pulls the FULL dataset (~700 rows, compact mode) -
Code — Filter hot signals:
days_open > 35 || is_reposted || comp_max_usd >= 200000 - Code — Group by company: open roles, repost count, max salary, top 8 skills
- Telegram — one message per company:
Anthropic — 42 open AI-core roles
💰 Max salary: $405k
🛠 Top skills: python, pytorch, distributed-systems...
The cost trick that matters: the actor bills per result returned. So I pull the full dataset and filter inside n8n (free) instead of server-side. Result: ~$1.40 per run on your own Apify account — less than a coffee, for a daily lead list.
Setup (10 minutes)
- Import the workflow JSON into n8n: template
- Paste your Apify API token (Console → Settings → API tokens)
- Create a Telegram bot via @botfather, set your chat ID
- Hit Execute — or activate the schedule and forget about it
Taking it further
-
Outbound in one hop: feed
company_domain+company_linkedin_urlinto Clay or Apollo → hiring manager, no enrichment vendor needed - Trend spotting: every run archives to a history dataset — track salary and skill trends per company over months, then sell the trend, not just the snapshot
- Pipeline tracking: append a Google Sheets node after Telegram and you have a per-company CRM that updates itself
The template, the actor, and a free sample dataset are all linked above. If you're a GTM engineer or a technical recruiter, this is 10 minutes of setup for a lead source your competitors are still building by hand.













