The problem with inbound leads is not volume. It is speed and triage. A lead that fills out your form at 11pm sits unread until someone scrolls past it the next afternoon, by which point they have already booked a call with a competitor.

This workflow fixes that. It runs the moment a form is submitted, and within a few seconds the right person knows about the right lead. Here is how it is built and how to adapt it.

What it does, end to end

The pipeline has nine nodes and follows one clean path:

  1. Form webhook catches the submission (works with Typeform, Tally, or a plain HTML form).
  2. Enrichment looks up the company by email domain to pull employee count, industry, and revenue.
  3. Claude scores the lead 0 to 100 and returns a tier (hot, warm, cold), a reason, and a suggested next action.
  4. A switch routes each lead by tier.
  5. Hot leads trigger an instant Slack ping to the sales channel and sync to the CRM.
  6. Cold leads enter an automated nurture email instead of wasting a rep's time.

The scoring prompt is the whole game

The difference between a useful score and noise is the system prompt. Force structured output and give Claude a clear rubric:

You are a B2B sales qualification engine. Score
each lead 0-100 on fit and intent. Return ONLY
JSON: {"score": number, "tier": "hot|warm|cold",
"reason": string, "suggested_action": string}.

Because the response is strict JSON, the next node just parses it and every downstream step can rely on score, tier, and suggested_action existing.

Tip: have Claude return suggested_action and drop it straight into the Slack message. Your rep opens Slack already knowing what to say. That single field is what makes reps actually trust the automation.

Routing: where most builds go wrong

Do not send every lead to Sales. That is how reps learn to ignore the channel. Use a Switch node on the tier field so only hot leads create a human task. Warm leads sync silently to the CRM for later. Cold leads get a friendly automated reply and never touch a human until they re-engage.

Swapping in your own tools

The workflow ships pointed at generic endpoints so you can drop in whatever you run:

  • Enrichment: Clearbit, Apollo, or your own data source.
  • CRM: HubSpot, Pipedrive, or Attio — just change the HTTP node URL and body.
  • Alerts: Slack, Teams, or Discord.

Everything runs on self-hosted n8n, so the lead data never leaves your infrastructure. Total running cost is whatever your VPS already costs you.

What it costs to run

At a few hundred leads a month, the Claude API cost is a few dollars. Compare that to a lead-routing SaaS at 100 to 500 dollars a month, and the math makes itself.

Want the workflow, not just the article?

This is the complete, importable n8n workflow from this post. Add your credentials and it runs.

Download the JSON