Automating Job Alert Ingestion with n8n and Local LLM Scoring
Ads
Sifting through dozens of daily job alerts across multiple job boards leads to search fatigue. Most notifications include roles that do not match your experience level, compensation requirements, or tech stack, leaving you to scan hundreds of lines of boilerplate text each day.

You can automate this filtering step with n8n, an open-source workflow tool you can run locally via Docker. By connecting an email ingestion trigger to a local LLM node, you can extract requirements, compare them against your profile, and output a clean summary of relevant matches.
The Pipeline Architecture
A reliable job parsing pipeline requires four sequential operations: receiving the notification, stripping HTML markup, evaluating core qualifications against your parameters, and saving the score to a structured sheet.
Running this process through a local inference engine like Ollama keeps your career data and job search activity on your machine, avoiding recurring SaaS subscription fees.
Setting Up the Workflow Nodes
Launch n8n locally. On your workflow canvas, set up the following execution sequence:
The Evaluation Prompt Structure
The prompt sent to the LLM node must enforce strict scoring criteria rather than broad summaries. Use this format within your node configuration:
You are an automated recruitment filter. Analyze the attached job description against my parameters: [Insert: 5 years Python, Remote only, No legacy migration roles]. Evaluate the role and return ONLY a raw JSON object with four keys: 'title', 'company', 'match_score' (an integer from 0 to 100), and 'reason' (one sentence explaining the score). Do not include markdown ticks or additional commentary.
Because the output is raw JSON, n8n parses the response directly without requiring regex cleanup or secondary parsing steps.
Frequently Asked Questions
Why use n8n instead of proprietary automation platforms?
n8n is source-available and can be self-hosted on your local computer. It connects to local network endpoints, so it can communicate directly with your local LLMs without exposing ports to the public internet.
What happens if a job alert contains multiple listings in one email?
Add an Item Lists / Split Out node directly after your text extraction step. Configure it to split the email text using common company header delimiters before passing each individual role to the model node.
Can I run this using cloud models instead of Ollama?
Yes. You can swap the HTTP Request node for n8n's native OpenAI or Anthropic nodes. Processing high volumes of emails will incur standard API token charges.