Most LinkedIn outreach is the same move repeated a million times a day: connect, wait an hour, pitch. It gets ignored because it deserves to be ignored. The problem isn't LinkedIn. The problem is treating five different jobs — finding the right person, checking they're worth your time, warming them up, spotting the moment they're ready, getting them on a calendar — as one manual job.
I built a machine that does the five jobs as five stages. This is the exact flow I run, with the exact tools, and the places it breaks if you build it carelessly. Nothing here is theoretical — every stage below runs on my own pipeline.
The machine at a glance
Find → Enrich → Score → Nurture → Qualify & Book. Each stage feeds the next, and each stage has a gate. Nothing moves forward on a guess.
| Stage | Job | Tool |
|---|---|---|
| Find | Pull the exact ICP and verify contact data | Apollo + Prospeo |
| Enrich | Add depth: role history, company signals | People Data Labs |
| Score | Decide who's worth a conversation | Claude — the scoring intelligence layer |
| Nurture | Run LinkedIn + email touches in parallel | HeyReach + SmartLead |
| Qualify & Book | Read replies, qualify, send the booking link | Claude + Cal.com |
Stage 1 — Find: Apollo + Prospeo
Everything downstream depends on list quality, so this stage is deliberately boring and strict.
Apollo pulls the raw list: job title, industry, headcount, geography. Tight filters beat big lists — 200 right people outperform 2,000 maybe-people at every stage after this.
Then Prospeo verifies every email before anything else happens. This matters more than people think: one bad batch of bounces damages your sending domain, and a damaged domain quietly kills the email half of this machine for weeks. Unverified contacts don't pass this gate. Ever.
Output of this stage: a clean list of real people with working contact data.
Stage 2 — Enrich: People Data Labs
A name and a title aren't enough to score someone, and they're definitely not enough to write to them like you know who they are.
People Data Labs fills in the depth: role history, time in seat, company growth signals, skills. The point of enrichment isn't trivia — it's fuel for the next two stages. The scoring layer needs signals to score, and the nurture sequence needs specifics to reference.
A record that leaves this stage answers three questions: who is this person, what does their company look like right now, and what changed recently that makes this conversation timely. (PDL is the premium option here — I compared the full provider landscape in the waterfall article if cost per record matters to you.)
Stage 3 — Score: the intelligence layer
This is the stage almost everyone skips, and it's the one that makes the machine work.
Claude reads every enriched record and answers one question: is this person worth a conversation this week? It scores against the ICP — seniority, company fit, timing signals, evidence they have the problem — and produces a score plus a written reason.
Two things happen with that score:
- Below threshold → they never enter a sequence. Not a slower sequence. No sequence. This protects reply rates, your sending domain, and your LinkedIn account.
- Above threshold → the reasons become the message. The scoring layer's "why" — they're hiring SDRs, they just raised, their stack shows a gap — passes straight into the outreach copy. The message writes itself from the evidence.
More leads is not the goal. Fewer, better conversations is. Scoring is how you get there. It's also the one stage you don't have to build yourself — it's the core of the AI lead scoring platform we run.
Stage 4 — Nurture: HeyReach + SmartLead in parallel
Now — and only now — outreach starts. Two channels, one brain.
HeyReach runs LinkedIn: connection request with no pitch, then a first message that references something specific from the enrichment data, then a light follow-up. The rule for touch one is simple: give a reason to respond, not a reason to buy.
SmartLead runs email in parallel: a short sequence to the verified address, making a related point on a different channel. Not the same message copy-pasted — the same conversation from a second angle.
The mistake most two-channel setups make is that the tools don't talk to each other. Here, both report back to one place, so the system knows the full state of every prospect: connected but silent, replied on email but not LinkedIn, opened three times without answering. The next touch is decided from the full picture, not from each tool's blind view.
Stage 5 — Qualify and book: Claude + Cal.com
A reply is not a meeting. Treating every reply like a buying signal is how calendars fill up with dead calls.
When a reply comes in, Claude classifies it: interested, objection, question, not now, or not a fit. Warm replies get a qualifying exchange — one or two natural questions that confirm fit and timing without turning the conversation into a form.
Only when a reply is warm and qualified does the Cal.com link go out. Timing matters: send the link too early and it reads as lazy; too late and the moment cools. The trigger is a qualified positive reply — that exact moment, every time.
The meeting lands on the calendar. That's the machine's output: not sends, not opens — a qualified person, on your calendar, who knows why the meeting was booked.
The five numbers that actually matter
Skip vanity metrics. Five numbers tell you if this machine is healthy:
- Verification pass rate — how much of your raw list survives Prospeo. Low means your Apollo filters need work.
- Score pass rate — how many enriched prospects clear the threshold. Very high means your scoring is too soft.
- Reply rate per channel — LinkedIn and email separately.
- Qualified-reply rate — replies that survive qualification. This is the machine's real quality signal.
- Meetings held — not booked. Held. A booked meeting that no-shows is a cost, not a result.
If a stage's number drops, you fix that stage — not the whole machine. That's the point of building it in stages.
Where this breaks
Five failure points I either hit myself or watched others hit:
- Skipping verification to save a few cents per contact — then losing your sending domain for a month.
- Scoring after outreach instead of before. Scoring is a gate, not a report.
- Two channels, two blind tools. If HeyReach and SmartLead don't share state, you'll follow up on LinkedIn with someone who already replied by email. That one mistake reads as "this is a bot" and ends the conversation.
- Pitching on touch one. The machine can automate everything except the prospect's patience.
- Sending the booking link to every reply. Qualification exists to protect your calendar, not to slow you down.
Build it or start with the front half
Everything above is buildable with the tools named — that's why this playbook names them. If you build it yourself, build it in stage order, and don't start outreach until the scoring gate works.
The front half of this machine — find, enrich, score, brief — is exactly what Leaderra's B2B lead generation and prospecting platform does: you define the ICP, it returns found, enriched, scored prospects with the written reasoning that feeds every message. The outreach and booking layers are the part I run on top, with the tools above.
FAQ
Do I need all seven tools to make this work?
No — you need the five stages. Each tool is replaceable within its stage: another verifier instead of Prospeo, another sender instead of SmartLead. What's not replaceable is the scoring gate between enrichment and outreach, and shared state between your LinkedIn and email tools.
Why score before outreach instead of just sending more volume?
Volume degrades the two assets this machine depends on: your sending domain and your LinkedIn account. Low-fit prospects reply less, mark spam more, and burn sender reputation, so every unscored send makes the next send worth less. Scoring first means only records with a real reason to convert ever consume a touch.
When exactly should the booking link go out?
After a reply is classified as positive and one or two qualifying questions confirm fit and timing — not on the first reply. Early links read as automated and convert to no-shows; the qualified-positive moment is the trigger that fills a calendar with meetings that actually get held.