Most LinkedIn outreach is a bucket, not a funnel. People spray connection requests and hope something sticks. A real funnel has stages, conversion metrics, and a system for moving prospects from one stage to the next.

Here's how to build one that actually works — using any of the major tools.

The Funnel Architecture

Stage 1: IDENTIFY (Prospect List Building)
    ↓ Conversion: 100% → list built
Stage 2: WARM (Profile View + Engage with Content)
    ↓ Conversion: N/A (visibility play)
Stage 3: CONNECT (Personalized Connection Request)
    ↓ Conversion: 25–40% acceptance
Stage 4: ENGAGE (Message Sequence — 3–4 steps over 14 days)
    ↓ Conversion: 8–15% reply rate
Stage 5: QUALIFY (Conversation → Discovery Call)
    ↓ Conversion: 30–40% of replies → call booked
Stage 6: CLOSE (Call → Proposal → Deal)
    ↓ Conversion: 20–30% of calls → deal

Stage 1: Identify — Building Your Prospect List

The wrong way: Search "VP Sales" on LinkedIn. Add everyone. Pray.

The right way:

  1. Define your ICP with 5 criteria:

    • Title (exact titles, not "senior leadership")
    • Company size (employee count range)
    • Industry (NAICS codes or LinkedIn industry categories)
    • Geography (city/state/country)
    • Trigger event (hiring, funding, new product, recent post about a pain point)
  2. Build lists in each tool:

    • Expandi: Use Sales Navigator search → save as lead list → import into Expandi campaign
    • LinkedHelper: Scrape Sales Navigator search results directly via the tool
    • Waalaxy: Import from Sales Navigator or upload CSV
    • HeyReach: Use their built-in prospect finder or import from CSV/Sales Navigator
  3. Enrich each prospect with data that enables personalization:

    • Recent LinkedIn post topic
    • Company announcement (funding, product launch, hire)
    • Mutual connections
    • Shared group membership

In LinkedHelper specifically: Use the "List of people who liked or commented on a LinkedIn post" feature to target people who engaged with content related to your ICP. These are warmer than cold search results.

Stage 2: Warm — The 48-Hour Pre-Outreach Window

Before you send a single connection request:

  1. Visit their profile (your tool can automate this — 30–40/day)
  2. Like 1–2 of their recent posts
  3. Follow them

This creates 3 touchpoints in their notification feed before you ever ask to connect. When your connection request arrives, they've already seen your name 3 times.

In Expandi: The "Profile Visitor" campaign type handles this. Set it to visit 30 profiles/day, then delay the connection request campaign by 48 hours.

In LinkedHelper: Use the "Follow profiles" + "Like and comment posts" actions before adding them to a connection campaign.

In Waalaxy: Use the "Visit profile before inviting" option in your campaign settings.

In HeyReach: Sequence the touchpoints — profile view on Day 1, like on Day 2, connection request on Day 3.

Stage 3: Connect — The Connection Request

Two schools of thought:

Option A: Connection request with no note (recommended for cold outreach)

  • Acceptance rate: 25–40%
  • Why: Doesn't trigger "this is a sales pitch" defenses
  • When your profile is optimized (see Blog 1)

Option B: Connection request with a personalized note

  • Acceptance rate: 15–25% (lower, but higher quality)
  • Why: People who accept after reading a note are more engaged
  • When: Use for warm prospects (engaged with your content, mutual connections, shared groups)

Personalization at scale: This is the bottleneck. Every tool lets you use variables like {{firstName}} and {{companyName}}. But real personalization requires knowing something specific about the person.

The power-user approach:

  1. Enrich your CSV with a "personalization" column
  2. Use custom variables in each tool:
    • Expandi: Custom tags → {{customTag1}}
    • LinkedHelper: Custom CSV column → {{column_name}}
    • Waalaxy: Prospect notes → {{note}}
    • HeyReach: Custom fields → {{custom_field}}
  3. Write templates that USE the custom data naturally:

    "Hey {{firstName}}, noticed {{customTag1}}. That resonates because {{customTag2}}."

Stage 4: Engage — The Message Sequence

See Blog 1 for the full sequence structure. The key addition for funnel thinking: track which step converts best.

Step Message Type Expected Response Rate If Underperforming
1 Pattern-interrupt 3–5% Your opening line is too generic
2 Value drop 5–8% Your resource isn't relevant enough
3 Soft ask 3–5% Your CTA is too aggressive
4 Breakup 2–5% You didn't build enough trust in steps 1–3

Stage 5: Qualify — From Reply to Discovery Call

When someone replies, the automation stops. This is manual territory.

The qualification framework (3 questions):

  1. "What's your current process for [pain point]?" → Do they have the problem?
  2. "What have you tried so far?" → Have they spent money trying to solve it?
  3. "What would success look like in 90 days?" → Can they articulate a desired outcome?

If they answer all 3, they're qualified. Book the call.

Stage 6: Close

This is outside the tool's scope, but one thing matters: log every LinkedIn conversation in your CRM.

  • Expandi: Webhook → Zapier → HubSpot/Pipedrive
  • LinkedHelper: Export messaging history → CSV import, or use webhook integrations
  • Waalaxy: Native HubSpot/Pipedrive integration
  • HeyReach: Native CRM integrations

Without CRM logging, your sales team has no visibility into the pipeline, and you can't measure LinkedIn → revenue attribution.

Funnel Math: How Many Prospects You Need Per Month

Target 10 meetings/month 20 meetings/month
Calls needed (50% show rate) 20 booked 40 booked
Replies needed (35% book rate) 57 replies 114 replies
Connections needed (10% reply rate) 570 connections 1,140 connections
Requests needed (30% acceptance) 1,900 sent 3,800 sent
Profiles to warm (48hr before request) 1,900 views 3,800 views
Daily connection requests (22 work days) ~86/day ~173/day

You can't send 86 connection requests per day safely. This means you need higher conversion rates at each stage, not more volume. A 15% reply rate instead of 10% cuts your required daily sends in half.

The funnel optimization priority: Fix your message quality (Stage 4) before increasing your outreach volume (Stage 3). Better messages > more messages.


Mapping the Funnel to an Agent Chain

The funnel above is a series of stages with conversion rates. In a typical stack, you assemble five tools to operate it: Apollo for sourcing, LinkedHelper or Expandi for sending, Lemlist for email, Zapier for glue, HubSpot for tracking. Each stage hands off to the next via CSV export, webhook, or manual copy-paste.

OpenHive runs the entire funnel as one agent chain — each stage maps to a specialized agent that hands off via shared state, not CSV:

Funnel Stage OpenHive Agent What it does
TOFU — Source Researcher Pulls ICP-fit prospects from Sales Nav, group members, event attendees, post engagers
TOFU — Warm Engagement Warmer Likes posts, leaves genuine AI-written comments before any direct touch
MOFU — Touch 1 Writer + Sender Personalized connection request per prospect, gated by Reviewer agent
MOFU — Nurture Follow-up Writer Reads each reply, drafts the contextual response
BOFU — Convert Logger + CRM agent Pushes every touch + attribution to HubSpot/Salesforce
Optimize Live Debugger Surfaces stalled prospects per stage — where the funnel is leaking

The live debugger (shipped in v0.2.17) is the part most teams miss. It shows you, in real time, which agents are running, what they're seeing, and where prospects are getting stuck — so you can fix the leak before you scale the volume.

The benefit: one platform owns the funnel end-to-end. No CSV exports. No webhook glue. No quarterly "which tool dropped this prospect" debate. Everything is one execution graph, checkpointed at every step.