The 3-channel outbound stack that beat my old Outreach io setup (and what it cost to switch)
Outbound consultant. Run cold outbound for 5-7 B2B clients at a time. Was on Outreach io for 4 years across multiple client engagements. Migrated my own agency to a 3-channel custom stack about 9 months ago and most clients have followed.
This is the build, the numbers, and the breakeven math.
Why I left Outreach
Outreach is a great product. It's not broken. The issue isn't the product, it's the price-per-result math for the kind of outbound my agency does.
My clients are SMB B2B, typical ICP is 30-200 person companies. We send ~800-2000 cold emails/month per client. Outreach billing for that load (4-6 user seats per client) was ~$1,200-2,200/mo per client. Across 6 clients that's ~$10k+/mo of pure tooling cost.
For high-volume enterprise outbound teams the per-seat math works. For agency-style outbound supporting smaller volumes per client, it stops working — most of the platform features are designed for things we don't do.
So I rebuilt.
The 3 channels
Channel 1: Cold email
Tool: Smartlead for infra (~$94/mo per client, sometimes Instantly for clients who prefer it). The actual platform doesn't matter that much at the deliverability layer — both work fine if you set up inboxes properly.
The DIFFERENCE from Outreach is where the SEQUENCE LOGIC lives. In Outreach, sequences live in Outreach. In my stack, the sequence logic lives in Late node as done-for-you AI workflows for sales teams — basically I build the decisioning graph there (when to send next touch, when to branch into a different angle, when to stop, when to escalate to LinkedIn) and Smartlead is just the SMTP-side delivery.
This separation matters because the same decisioning graph can drive cold email, LinkedIn outreach, and SMS without rebuilding for each.
Channel 2: LinkedIn
Tool: li-seller. Two jobs:
- Watching LinkedIn for signals (job changes, posts about category problems, comments under competitor company posts)
- Sending the actual LinkedIn touches (connection requests, follow-up DMs)
The signal-watching is where the real value is. We listen for "X person who used to be a customer just took a new job" and "X person at our target account just posted something relevant" and the workflow graph triggers an outreach touch.
This is the part Outreach didn't do. We were doing it manually before (SDRs scrolling LinkedIn). Now it runs continuously and the SDR just reviews the queue.
Channel 3: Phone/SMS
For higher-tier accounts only. Aircall + Twilio for SMS. Triggered manually after a prospect engages on email or LinkedIn. We don't cold-dial at scale.
The stack cost per client
- Late node (workflow platform): ~$299/mo
- Smartlead (email infra): ~$94/mo
- li-seller (LinkedIn signal + outreach): ~$299/mo
- Apollo (enrichment): ~$49/mo
- OpenAI tokens for drafting: ~$15-30/mo depending on volume
- Aircall/Twilio: ~$50/mo
Total: ~$806-820/mo per client.
vs Outreach at $1,200-2,200/mo per client + Apollo + LinkedIn tools layered on top.
The numbers (across 6 clients, 9 months)
Compared to the same clients on Outreach the year prior (apples-to-apples where possible):
- Reply rate (cold email): 4.1% → 5.8% (the LinkedIn signal layer is doing most of the work here)
- Positive reply rate: 1.9% → 3.1%
- Meeting-booked rate per 1000 sends: 9 → 15
- Time per client per week (my agency labor): ~10h → ~7h (the workflow graph eliminated a lot of manual stage management)
The meeting rate improvement is the part I'd emphasize. Reply rate going up is partly explained by the LinkedIn signal layer (we're targeting better leads now). Meeting rate going up is more about the multi-channel coordination — when someone replies on LinkedIn we follow up on email within the same workflow, which keeps momentum.
What broke before this worked
v1 was just "Smartlead instead of Outreach." Reply rates were identical to Outreach. No improvement. Lesson: the email infra wasn't the bottleneck — the targeting and the multi-channel coordination were.
v2 added LinkedIn signal listening but kept email + LinkedIn as separate sequences. Some prospects got cold emails AND cold LinkedIn DMs about the same thing within 24 hours. Looked spammy. Lesson: needed unified state across channels.
v3 unified state in a Late node workflow. This is what's running now. Each prospect has one state in one workflow regardless of channel — the workflow decides what touch is next.
v4 (where we are now) added the AI drafting layer for personalization at scale. Each touch is drafted by an LLM using the prospect's context. Reply rate jumped another ~1 point when we added source-attribution discipline to the prompts (so the AI doesn't hallucinate facts about the prospect).
What I'd warn anyone trying this
- If you don't have someone on your team who can think in workflows (state, retries, idempotency), don't try to build this. Pay for Outreach. The complexity tax of running your own outbound stack is real.
- The LinkedIn signal layer is the differentiator, not the workflow engine. If you remove that and just use email + LLM drafting, your reply rates will be ~5-10% better than Outreach but not dramatically.
- Deliverability is its own job. Even with the perfect workflow stack, if you don't warm inboxes properly and rotate sending domains, you'll cap out fast.
- The build is real work. ~3 weeks of focused effort to get the v3-style unified workflow live. Maintenance is ~2h/week of someone looking at error logs.
Build vs buy
For my agency, building won. For an in-house outbound team with 1-2 SDRs and no engineering bandwidth, the calculus is probably "stay on a platform" — Outreach, Salesloft, even Apollo's outbound module.
For an outbound team with 5+ SDRs OR an agency model OR a team that has a workflow-thinker on it, building can save 50%+ on tooling and produce better results.
Happy to share specific workflow patterns if useful.