2026New
n8n Job Radar
Daily ATS watcher that Claude-scores new roles, built in Claude Code via the n8n MCP
Production n8n workflow that watches 13 company job boards every morning, diffs them against everything already seen, has Claude score only the genuinely new roles against my profile, and emails a ranked digest by 06:31. No new matches, no email. Built end-to-end from the Claude Code terminal via the n8n MCP.

Problem
Checking 13 company career pages daily is toil, and job alerts solve it badly: they re-send roles you've seen, don't know what you're looking for, and bury the one good listing in noise. I wanted the opposite contract: hear about a role exactly once, already scored against what I actually want, or hear nothing at all.
Role
Designed and shipped the whole pipeline from the Claude Code terminal via the n8n MCP. The only manual steps were OAuth'ing Outlook and pasting an Anthropic API key. One HTTP node fans out over Greenhouse, Ashby, and Workable public APIs; listings get a stable key and are diffed against a seen_jobs data table; one batched Claude call scores the new ones; a Code node renders the digest. Board failures route into a warnings path instead of killing the run. And yes: if your company is on the roster, this workflow saw your posting before I did.
Outcome
Runs in production every morning at 06:30. The design calls that made it work: a stable per-listing key so the diff is exact, one batched Claude call instead of one per listing (about one API call a day), graceful degradation everywhere (a dead board becomes a warning line, a failed parse falls back to the raw list), and the zero-noise contract: no matches means no email. The workflow is shared as a sanitized template; swap in your own roster and profile and it works out of the box.
Stack
- n8n
- Claude Sonnet
- Claude Code
- n8n MCP
- Greenhouse / Ashby / Workable APIs
- n8n Data Tables
- Outlook
Next project
Flashy OS →
Two-sided SaaS — booking marketplace, DAM, and AI workspace