The outreach stack powering Leadsoucing’s virtual SDR


We get asked about our tech stack a lot. Mostly from B2B SaaS and fintech founders who’ve tried LinkedIn automation before, had a bad experience, and want to understand why ours is different.

The honest answer: it’s not one tool. It’s multiple tools, AI agents built for specific industries, and deliberate account management across the entire workflow.

This post breaks down exactly how it works: what we chose, why we chose it, and what the integrated system actually produces.


Why We Chose HeyReach

There are a lot of LinkedIn automation tools. Most are either too aggressive (which gets accounts flagged), too rigid (which makes every message sound like a bot wrote it), or built for volume rather than quality.

HeyReach is different in a few ways that matter to us:

  • Safe sending limits by design. HeyReach operates within LinkedIn’s safe zones: 20–30 connection requests per day, 50–80 messages per day per account. This isn’t a workaround. It’s the architecture. Campaigns that stay within these limits don’t just avoid flags, they perform better, because they force you to be selective about who you’re targeting.
  • Multi-account management. We run three LinkedIn accounts simultaneously, one each for HK, SG, and UZ. HeyReach lets us manage all three from a single dashboard with separate campaigns, sequences, and analytics. Doing that manually across three accounts would be a full-time job.
  • Reply detection and webhook support. This is the critical one. When a prospect replies to any message in the sequence, HeyReach detects it and fires a webhook to an external endpoint, in our case straight to the Claude API. That’s what makes the AI reply handling possible.
  • A/B testing at the message level. We perform split tests on every message variant. Over time, the data tells us which approaches convert in which regions. The HK tone that works for finance prospects isn’t the same as the UZ tone that works for emerging-market founders. HeyReach lets us run those experiments properly.

How Claude Handles Lead Scoring

Before any lead enters the HeyReach queue, it gets scored.

Here’s the workflow:

We pull a fresh batch of leads from a mix of proprietary datasets and aggregated vendor databases, filtered by ICP parameters: job title, company size, industry, geography, and recent activity. That export, typically 50–100 leads per batch, goes straight to a Claude agent via API. Claude scores each lead against our rubric and returns a structured JSON output.

The scoring rubric has five weighted criteria:

CriterionWeight
Industry fit25%
Job title / seniority25%
Company size fit20%
LinkedIn activity / buying signal20%
Geography match10%

Each criterion is scored 1–10. The weighted total produces a composite score. Hot is 7.0+. Warm is 4.0–6.9. Cold is below 4.0.

Only Hot and Warm leads get pushed to HeyReach. Cold leads are logged and set aside. They might be revisited later, or they might simply not be the right fit. Either way, they don’t waste sequence slots or account limits.

The Claude prompt for scoring also extracts personalisation hooks: specific signals from the lead’s LinkedIn profile or recent activity that can be referenced naturally in Message 1. A recent post about a construction project. A company announcement. A hiring push that suggests expansion. These hooks feed into the HeyReach message templates as dynamic fields.

This is where the “sounds like a human wrote it” effect comes from. The personalisation isn’t a name merge. It’s a contextually relevant reference to something the prospect actually cares about.


The Sequence Architecture

Once leads are scored and pushed to HeyReach, the sequence runs automatically.

Here’s the full architecture:

  • Day 0: Connection request (blank, no note)
  • Day 2: Message 1: Coffee invite (warm, curious, zero pitch)
  • Day 5: Message 2: Light follow-up (if no M1 reply)
  • Day 10: Message 3: Soft close (first and only product mention)

Each step has a regional variant. HK, SG, and UZ tones are meaningfully different, and we’ve written and tested all three. The HK version leans into speed and credibility. The SG version is data-aware and ROI-focused. The UZ version is warmer, more relationship-oriented, and references local context where relevant.

The whole sequence is built around one principle: earn the right to pitch before you pitch. By the time Message 3 mentions the product, the prospect has already had two positive touches that felt like a real human reaching out. The conversion rate on Message 3 is significantly higher than if we’d led with the pitch on day one.


The AI Reply Agent: Our Intelligence Layer

This is where the system goes from good to genuinely different.

We built an AI reply agent that sits between HeyReach and our CRM. When HeyReach detects a reply, it fires a webhook into the agent with:

  • The prospect’s LinkedIn profile data
  • Their ICP score and tag
  • The full message thread up to that point
  • The reply text

The agent classifies the reply into one of six categories and generates a draft response matched to the prospect’s region, vertical, and position in the funnel. No generic templates. The draft reflects what the prospect actually said.

Reply TypeExample SignalAgent Action
Interested“Tell me more / How does it work?”Draft: book a 20-min call, send Calendly link
Case study request“Can you send numbers / examples?”Auto-draft: send relevant case study matched to their vertical
Objection: have SDRs“We already have a sales team”Draft: reframe as additive, not replacement
Objection: price“Tight budget / not right now financially”Draft: ROI vs headcount cost reframe
Objection: timing“Come back in Q3 / heads down right now”Draft: warm nurture + send blog link now, re-engage in 60 days
Not interested“No thanks / please remove”No reply. Log as Cold. No re-contact for 6 months.

Drafts are stored in Slack, tagged with the reply type and lead score, and queued for human review and approval.

Human review thresholds:

  • Interested / calls to book: human review recommended before sending
  • Case study requests: auto-send OK (low risk, high value)
  • Objections: human review required (nuanced, relationship-sensitive)
  • Timing / nurture: auto-send OK
  • Not interested: automated, no reply sent

This means the humans on our team spend their time on the conversations that matter: closing warm leads and handling sensitive objections, not triaging inboxes or figuring out how to respond to “not right now.”


Results Per Account

After the first month running this stack across all three accounts:

AccountAcceptance RateReply Rate (M1–M3)Qualified Conversations
HK (Fintech / SaaS focus)41%16%47
SG (B2B SaaS / E-commerce)38%14%39
UZ (EdTech / Cloud / Trade)44%11%28

The UZ account has a lower reply rate but a higher acceptance rate, consistent with what we know about the market. Trust-building takes longer in Central Asia, but the first step of accepting a connection happens more readily. We’re adapting the sequence timing accordingly.


Want the Stack for Yourself?

We don’t gatekeep the tools. HeyReach and our aggregated lead databases with multiple layers of ICP verification are available independently. What we offer is the architecture we’ve built on top of them: the scoring agent, the sequence logic, the AI reply handling framework, and the regional variations that make it actually work globally. 

If you want to see it running live, we do a free 20-minute demo. No deck, no pitch, just the system working on a real campaign.

Book a free demo → leadsourcing.co/book-a-call


Leadsourcing.co is an AI-powered Virtual SDR service for B2B sourcing, SaaS, and fintech companies across the globe.