This is the stack behind every number on this site. What each tool is for, what it’s good at, and the thing about it that annoys me. The stack page has the links.
The Principle: One Owner per Lead, One Channel at a Time
Tool sprawl kills outbound faster than bad copy does. Every prospect has exactly one owner and one active channel at any moment. Email first. No reply after the sequence, LinkedIn. Still nothing, a call. We built a check into every system so two tools can’t message the same person within a few days of each other, because it happened and it looked terrible.
Data: Blitz
People and company search with a waterfall of email finders behind it. We use it to build lists and to find a verified work email for a named person. We also use it when a prospect names a company they’d love to work with and we need the decision makers there by the next morning. The honest bit: an API key expired on us without warning mid-month. Check the key before a big pull.
Sending: Smartlead
Mailbox rotation across many domains, sequences, subsequences for out-of-office and referrals, reply categorisation, a master inbox across every client. It’s the backbone and it’s where the cold email benchmark comes from. The honest bit: the analytics API times out on a full month of campaign stats. Pulling the numbers for this site had to be done in ten-day chunks.
Verification: MillionVerifier
Every list before upload, and every address before an automated email goes out. Bounces are the one thing you can’t undo.
Inbox Placement: MailReach
Spam tests on new domains before launch and after any deliverability wobble. Cheap insurance.
LinkedIn: GetSales
Connection requests and messages across all our sender accounts, each in its own sending window so nothing goes out at 3am. The honest bit: accounts disconnect from LinkedIn often and nothing shouts about it. We run an hourly check that tags someone the moment a sender drops. Its company field on a profile can also be stale, so we verify on LinkedIn before writing.
Calling: CloudTalk
Dialler, local numbers, recordings, and the data the calling benchmark will come from. Our October 2026 bill was $188 a month for two seats, two parallel diallers and eight numbers. The lesson that cost us money: with automatic caller ID on, it dialled Austria from a UK number and burned credit at international rates. Buy a local number for every country you call and set it per campaign.
Website Visitors: Contaktly
Which companies are on the site, which pages, who to contact. My own product, so discount accordingly. It feeds the call-now cards to the team and the book-a-meeting sequences in Smartlead. The visitor identification playbook covers what it can and can’t do.
CRM: HubSpot
Deals, stages, notes. Every tool above writes into it. Nothing lives only inside a tool, because tools get replaced and the pipeline doesn’t.
Reply Handling: We Built Our Own
Triage every reply, draft the response in the sender’s voice, check the diary, offer two real times, book the meeting, send the invite, chase a no-show. A person approves anything that isn’t routine. We built it because nothing off the shelf handled the step where the meeting actually gets booked, and that step is the one that pays.
What It All Costs
I’ll publish the monthly bill for the whole stack once I’ve pulled every invoice into one place. CloudTalk is the only line I’ve written down so far, above.