TL;DR
We built an AI outreach system and ran it on our own business: 2,953 unique leads across 4 niches, about 750 emails from one warmed inbox, and research plus a personal first line for every lead at $0.07 per 100 leads. The system has four layers: the list (who to contact, and whether the address is real), one true line (what to say), the sequence (when to follow up) and reply handling (what happens when someone answers). The lesson we paid for: the list layer matters more than the other three combined. Here's how to build each one.
Why Cold Outreach Fails at Scale (And What AI Actually Fixes)
Cold outreach has a volume and quality trade-off baked into the manual model. A person can write a few dozen genuinely personal emails a day. Past that, quality collapses into copy-paste templates that get ignored, and a large market takes years to work through once.
The four failure modes we see most:
- Bad addresses: lists full of guessed emails that bounce and quietly damage the sending domain before anyone reads a word.
- Generic personalisation: "Hi [First Name], I noticed you're in the [Industry] space" isn't personalisation. It's a mail merge, and recipients delete it on sight.
- Inconsistent follow-up: people drop the second and third touch when they are busy. A system never forgets.
- No reply discipline: a "not right now" gets lost in an inbox instead of becoming a dated follow-up.
AI fixes the second and third almost completely: research and writing at our scale take minutes and cost cents. It does nothing for the first unless you build for it, and that is where most systems quietly fail.
Layer 1: The List, Knowing Who to Contact and Whether They Exist
The quality of your outreach is capped by the quality of your list. That means two things: the right companies, and addresses that actually receive mail.
How we build ours:
- Sources: Apollo exports for names and titles, and Google Maps scrapes (via Apify) for real local businesses with real websites
- Normalise: every source names its columns differently, so everything is mapped to one schema first
- Dedupe: emails are trimmed and lowercased into a match key, and everyone already contacted is removed. Our 4,535 raw rows became 2,953 unique leads.
- Triage: syntax, role inboxes, free mail, a mail-server (MX) lookup and a check for guessed first.last patterns
- Verify: only addresses a paid verifier marks valid get loaded into the sender
Why the Gate Exists
Free contact scrapers often guess addresses instead of finding them. Our guessed first.last lists bounced 59.8 to 68.1%. Lists sourced from Google Maps, sent from the same inbox in the same window, bounced 3.6 to 8.1%. The first run of our triage checked 2,385 addresses: 2,037 cleared to send, 335 flagged risky and 13 dead. Nothing reaches the sender without passing the gate now.
Layer 2: One True Line, What to Actually Say
This is where the model earns its place. Given a company's homepage, an LLM can find one specific thing worth saying that no template can replicate.
Our pipeline reads each homepage (title, meta description, headline, first paragraphs) and asks Claude Haiku for four fields: what they do, who they serve, a category and one signal. Then it writes the email in layers:
- Observation: one sentence about them, built from the signal. No compliments, no "I noticed".
- Bridge: a second sentence from the same pain, so the pivot to what you do feels earned.
- Offer: one sentence on what you would build, from the offer pack for that niche.
- Ask: low friction. A question, not "book a demo of our platform".
When the homepage gives nothing specific, the model returns no signal and the lead gets a pre-approved fallback line for its niche. That rule keeps the system from inventing things about real people.
An illustrative opener for a dental clinic:
"At Northwind, the booking page fills this week's chairs and does nothing for patients who haven't been in since spring. Most clinics have a few hundred of those sitting in the file, and nobody owns them."
A logged run of 100 leads, researched and written end to end, took 5 minutes 36 seconds and $0.07 in model cost. A QA pass then checks every line: short enough, no dashes, no pitch in line one, no bridge reused.
We build the outreach system we run on ourselves.
List gate, AI research and first lines, plain-text sequences and a reply inbox, set up under your brand. See the case study.
Layer 3: The Sequence, When to Follow Up
Plenty of replies come after the first email, so a sequence that stops at one touch leaves conversations on the table. Long sequences have the opposite problem: they read as pestering and cost sending capacity you could spend on new people.
We run three plain-text steps:
- Day 0: The observation, the bridge, one line of offer and a short ask
- Day 4: A short bump in the same thread. Two lines, no new pitch.
- Day 9: A last note. Polite, short and final.
The sequence stops the moment someone replies, whatever they say. Nobody should get "just bumping this" after they've already answered.
Deliverability Infrastructure: Emails That Actually Land in Inboxes
Volume outreach is useless if your emails land in spam. Deliverability is its own discipline:
- Dedicated sending domains: never send cold email from your primary domain. Use separate domains so your everyday email is never at risk.
- Warm-up: new inboxes warm for weeks before real sends, then ramp slowly.
- SPF, DKIM, DMARC: all three, configured correctly, on every sending domain. Non-negotiable.
- Sending caps: a hard daily cap per inbox. Ours ran at 35 to 50 a day from a single inbox. More volume means more inboxes, not a higher cap.
- Bounce control: stop bounces before they happen with the list gate above. Removing them afterwards is cleanup, not prevention.
- Plain text, tracking off: fewer links and pixels, fewer reasons for a filter to flag you.
We send through Instantly, which handles warm-up, caps, rotation across inboxes and reply detection.
What We Measured Running It Ourselves
We ran this system on LoopSuit's own outbound before offering it to anyone. Counted from the pipeline's files and the sender's logs:
- Leads: 4,535 raw rows merged into 2,953 unique leads across 4 niches
- Research and writing: 100 leads in 5 minutes 36 seconds, for $0.07 in model cost
- Sending: about 750 emails from one warmed inbox, capped at 35 to 50 a day
- Bounces: 59.8 to 68.1% on guessed-email lists, 3.6 to 8.1% on Maps-sourced lists
- List gate: 2,385 addresses triaged, 2,037 cleared, 335 risky, 13 dead
- Outcomes: replies have been few, and none has become a booked meeting yet
We publish that last line on purpose. With one inbox and lists that were partly guessed, the copy never got a fair test. The research and writing layers are fast and cheap. The list layer decided everything. That is why the gate now comes first, and why the next step is more warmed inboxes fed only verified lists.
If you want the build in detail, the cold outreach case study covers the sending side and the lead engine case study covers dedupe and research.
FAQs
Is automated cold outreach legal? What about GDPR and CAN-SPAM?
B2B cold email is generally allowed under CAN-SPAM (US), and CASL (Canada) and GDPR (EU) set stricter conditions, so the rules depend on where your recipients are. The basics everywhere: identify yourself, include a physical address, make opting out easy, honour opt-outs quickly, and only contact people with a genuine business reason to hear from you. Anyone who says "not interested" is suppressed immediately in the systems we build. Always consult a lawyer for your specific situation and markets.
How long does it take to build this system?
The pipeline and list gate can be set up quickly. The slow part is warm-up: new sending inboxes need weeks before real volume, so start the domains on day one and build everything else in parallel.
Does this work for every industry?
It works best where the buyer has a website worth reading and a real business email you can find. In our own runs, local businesses sourced from Google Maps (clinics, home services) had far cleaner addresses than lists built from guessed emails. Regulated fields and consumer products need more care, or a different channel entirely.
What ongoing management does this require?
A little every day and a little every week. Daily: approve reply answers and watch bounce and inbox health. Weekly: run new lists through the gate, review which lines landed and refresh the offer packs as you learn who responds. The system handles the volume and consistency; a person handles the judgement calls.


