I love building systems, but I hate when people think it's just about sending more emails. Spent a year building our outbound engine from scratch at a Series A B2B company (selling to mid-market logistics), and here's the messy truth of what actually worked.
When I joined, the 'system' was one SDR using Apollo with his personal Gmail and a Google Sheet. No CRM, no warmup, no verification. The CEO wanted to flip from 90% inbound/referral to a repeatable outbound engine. Thought it'd be easy. It was not.
First two months: mapping data flows on a whiteboard. Where do leads come from? How do they get enriched? What happens when someone replies? And most importantly - how do I report on it so the CEO stops asking 'is outbound working' every Monday? I became obsessed with dashboards. Nothing shuts a CEO up faster than a shiny ROI chart they can't argue with.
By March we had a stack: Apollo for list building, Prospeo for enrichment (email accuracy around 84% - solid for our ICP), Bouncer for verification, and Instantly for sending. Set up 8 inboxes via Mailforge, warmed them for 21 days before sending a single email. Paranoid about deliverability, and that paranoia was justified later.
The workflow: SDR builds list in Apollo → export CSV → run through Prospeo → Bouncer → clean list into Instantly with sequences → replies pushed to Salesforce via Zapier, tagged as outbound. Simple on paper. Took six weeks to stop Zapier breaking on edge cases.
By April we were sending 40 emails per inbox per day - about 320 total. Reply rate was 1.8%, bounce under 2%. But meetings booked? Maybe 2-3 per week. CEO not thrilled.
Then I made a classic ops mistake: assumed the problem was volume. More emails = more replies, right? Scaled to 600/day by adding more inboxes. Reply rate dropped to 1.1%, one domain got flagged, we had to burn it. Lost weeks of pipeline. Costly lesson.
The real problem was targeting and copy, not volume. Our positive reply rate (actual interest) was 0.4%. The sequences were five-step marketing fluff the SDRs copied from some course.
June was a reset. Scaled back to 300 emails/day, killed the burned domain, rewrote sequences with SDRs: shorter, three steps max, personalised first lines. Tightened ICP - targeted companies that had recently posted logistics roles on LinkedIn (growth signal). Built a scraper for LinkedIn Sales Navigator data.
By late July, positive reply rate jumped to 2.3%, meetings went from 2-3 to 6-8 per week. Better meetings too - AEs closed at higher rates. I built a Salesforce dashboard showing full funnel from email sent to closed won revenue, with cost per meeting and opportunity. The CEO started showing it in board meetings. That's when I knew it worked.
August to October was optimisation. Added Clay for enrichment edge cases (tech stack, funding data) but kept Prospeo as primary. Switched to Bouncer + Scrubby for catch-all domains, bounce rate dropped to 1.2%. Tried Dripify for LinkedIn touchpoints - not convinced it's worth the $79/seat.
November hit our stride: 3 SDRs, 15 inboxes, 450-500 emails/day. Reply rate 2.5-2.8%, positive reply 1.4-1.6%, 10-14 meetings per week. Cost per meeting ~$47 when adding up all tools (Instantly, Mailforge, Apollo, Prospeo, Bouncer+Scrubby, Clay, Zapier). About $580/month in tooling before salaries. Pretty efficient.
The reporting piece is what I care about most. Built four Salesforce dashboards: daily sending metrics, weekly pipeline, monthly ROI, and deliverability health. That last one I check every morning - if any inbox bounce rate exceeds 3%, pull it immediately. The monthly ROI dashboard got us budget for a third SDR. When you can say 'outbound sourced $340k pipeline last quarter at 4.7x ROI', budget conversations get easy.
Now, early 2025, about 90% of sales calls come from outbound. Inbound is maybe 2-3 meetings a week vs 12-15 from outbound. System runs smoothly on 5-6 hours maintenance per week. SDRs are mostly autonomous.
Things I'd do differently: Don't scale volume before nailing targeting and copy. That cost me two months. Set up full reporting from week one. Start with fewer inboxes - add more only when reply rates justify it. The temptation to throw volume at a broken process is real, and it's almost always the wrong move.
Anyway, this got long. The system isn't perfect - some weeks meetings drop for no obvious reason and I'm digging through data. But it works, it's repeatable, and leadership sees exactly what it's producing. That's the part I care about most.