LinkedCamp
← All posts

3 Agencies, 30 Days: The Post-HeyReach Migration Playbook

Brian·Aug 29, 2026·9 min read
Editorial illustration of three separate control panels being rewired in parallel, with cables labeled as automation sea

On March 25, 2026, LinkedIn removed HeyReach's company page and restricted the personal profiles of its CEO, CTO, CRO, and CMO. The product kept running. The message did not.

For most agencies running 15-40 client seats on a cloud-proxy stack, the takedown wasn't the emergency. The emergency was the quieter Q1 pattern underneath it — enforcement at the account level, on the same architecture, at the same time. If you're weighing the switch, this is the post you want before you touch a single client seat: three anonymized agencies, three different migration paths, and the actual timeline, tool swaps, and breakage from each.

This isn't a listicle. It's a comparative playbook, structured so you can steal whichever agency's approach maps closest to your book of business and the best linkedin automation for agencies for your specific setup.

The trigger event, in plain numbers

Quick recap so we're anchored to the same facts. LinkedIn permanently removed HeyReach's 16,400-follower company page and banned founder Nikola Velkovski's personal profile in late March. HeyReach's own position was that customer accounts, campaigns, and the platform itself continued operating normally — if you were sending connection requests through HeyReach on March 25th, you kept sending them on March 26th.

Technically true. Operationally beside the point.

The number that moved agency owners wasn't the vendor takedown — it was the wave underneath it. Northlight.ai's Q1 2026 analysis estimated that roughly 40% of accounts using non-compliant automation tools picked up some form of restriction between January and March 2026. That's the enforcement vector agencies are actually managing around: per-account behavioral throttling on the same cloud-proxy architecture the takedown pointed at.

Layer on the operating envelope. The official LinkedIn weekly connection request limit in 2026 is 100 invitations per 7-day rolling window. This cap applies uniformly across every paid tier — there is no tier you can buy that raises this number. Agencies pushing that ceiling with sub-25% acceptance are the ones getting throttled.

Who this playbook is for (and who it isn't)

Write this down before you keep reading.

This is for you if: you run an agency with 10-40 client seats on a cloud-proxy tool (HeyReach, Expandi, Dripify, Waalaxy), your acceptance rate has drifted under 30% on more than a third of seats, and you've had at least one client account hit a feature-restriction warning in the last 90 days.

This is not for you if: you run fewer than 5 seats on a browser-based tool with per-account residential IPs and haven't seen a restriction event in six months. Your risk profile is different. Migrating adds cost and breakage you don't need to eat right now.

The agencies below fall squarely in the first bucket. They're anonymized, but every number is real.

Agency A — 12 seats, B2B SaaS ICP, HeyReach origin

Book of business: 12 client accounts, all SMB SaaS founders and heads of sales. Average retainer $3,800/mo. Two operators managing all seats.

Pre-migration state: Running 90-100 invites per seat per week on HeyReach. Acceptance rate averaging 22%. Two clients hit warning states in February, one hit a 24-hour restriction on March 12. Reply rate on accepted connections: 6.1%.

Migration architecture: Switched to a browser-session tool with per-account static residential proxies and a unified inbox. No shared session pool across clients. Daily caps re-set to 15/day per seat (75/week), well under the ceiling.

The 30-day timeline

  1. Days 1-3 — Architecture audit. Mapped every seat against IP source, session location, and prior restriction history. Flagged three seats as high-risk (recent warnings, mismatched geo).
  2. Days 4-7 — Client comms wave one. Sent a two-paragraph email framing the switch as a proactive safety upgrade, not a fire drill. Template below.
  3. Days 8-14 — Warm-up reset. Paused automation entirely on the three high-risk seats. Ran manual-only activity — 5 personalized invites/day, organic commenting — from the operator's browser. The other nine seats dropped to 30 invites/week during the crossover.
  4. Days 15-21 — Cutover. Migrated seats in batches of four. Each batch had a 48-hour observation window before the next batch moved.
  5. Days 22-30 — Ramp. Scaled surviving seats from 30 to 75 invites/week over eight days. Held the two most-recently-restricted seats at 40/week through day 45.

What broke: One seat lost its session mid-cutover because the operator kept HeyReach and the new tool active on the same account overnight. Two clients pushed back on the temporary volume drop until the operator showed the acceptance-rate math.

Result at day 30: Acceptance rate 38.4% (up from 22%). Reply rate 8.7%. Zero restriction events. Total booked meetings across all 12 seats: 47 in the first 30 days post-migration vs. 39 in the 30 days prior — despite the lower per-seat volume.

The lesson from Agency A: the volume drop paid for itself in acceptance and deliverability inside 30 days.

Agency B — 28 seats, recruiting ICP, Expandi origin

Book of business: 28 seats across recruiting firms and staffing agencies. Retainers $2,200-$4,500/mo. Four operators.

Pre-migration state: Expandi, 100 invites/week per seat, 19% acceptance. Five feature-restriction events across the book in Q1. One permanent seat loss in February (a senior recruiter with 12+ years of connections).

Migration architecture: Split-stack. Kept a small browser-extension footprint for the two operators' own personal accounts and moved all 28 client seats to a multi-tenant compliant platform with dedicated IPs and a whitelabel console. The permanent seat loss is what forced the split — the client cancelled at renewal.

The 30-day timeline

  1. Days 1-5 — Emergency triage on the five warning-state seats. Automation paused on all five. Manual outreach only.
  2. Days 6-10 — Contract review. Pulled every client MSA to check the tooling clause. Three clients had a tool-specification requirement that had to be renegotiated. If you're inheriting this problem, our whitelabel contract clauses breakdown covers what to change.
  3. Days 11-18 — Batched cutover, six seats at a time. Prioritized lowest-risk seats first to build clean deliverability data before moving warning-state accounts.
  4. Days 19-25 — Warning-state seats moved last, with manual-only week + 30/week automation the following week. Two of the five never went back on automation — the operator kept them fully manual through day 60.
  5. Days 26-30 — Reporting rebuild. New tool's reporting schema didn't match the old one, so the operator rebuilt client dashboards from scratch.

What broke: Client dashboards were down for 11 days. One warning-state seat picked up a second warning at day 22 and had to be paused a second time. The team underestimated the reporting rebuild by roughly a full week.

Result at day 30: Acceptance rate 34.1% (up from 19%). Zero new restrictions. One client cancelled anyway — cited the transition friction, not the outcome. Net revenue impact: -$3,200 MRR, offset by two new agency wins that came in during month two on the back of the migration story itself.

Ready to scale your outbound?
Put what you just read into practice — free for 14 days.

LinkedCamp runs AI-personalized LinkedIn + email sequences on dedicated IPs, with AI agents that book meetings while you focus on closing.

Agency C — 40 seats, mixed ICP, multi-tool origin

Book of business: 40 seats. Mixed across consulting, PE-backed portfolio companies, and enterprise services. Retainers $5,000-$12,000/mo. Six operators plus a delivery lead.

Pre-migration state: The messy one. HeyReach for the SaaS book (16 seats), Expandi for the consulting book (14 seats), and a legacy Dripify install for 10 grandfathered accounts. Three separate reporting stacks. Two restriction events in Q1.

Migration architecture: Full consolidation onto one compliant platform. This is the migration that took longer than 30 days on paper but hit the 30-day mark for the parts that mattered — safety posture and reporting parity.

The 30-day timeline

  1. Days 1-7 — Architecture audit across three tools. Documented every seat's IP source, warm-up status, and integration surface (CRM sync, enrichment, reporting). Identified 11 seats with either shared-session or unclear-IP configurations. Those became priority one.
  2. Days 8-14 — Client comms in three tiers. Enterprise clients got a personal call from the delivery lead. Mid-market got a Loom video. SMB got the email template. All three tiers got the same content — different medium.
  3. Days 15-22 — Rolling cutover, five seats per week, starting with the Dripify grandfathers (lowest volume, highest risk). Warm-up reset on every migrating seat: two weeks of manual-only activity before automation resumed at 40 invites/week.
  4. Days 23-30 — Consolidation of reporting. The three-stack problem became one dashboard. Operator time spent on client reporting dropped from an estimated 14 hours/week to under 5.

What broke: The enrichment sync failed silently on eight seats for the first six days post-cutover. Nobody noticed until a client asked about a specific lead that had gone missing. The team added a daily enrichment sanity check to the ops runbook after that.

Result at day 30: 32 of 40 seats fully migrated. Eight enterprise seats still on legacy tools by contract, scheduled for a 60-day migration. Acceptance rate across migrated seats: 41.2% (up from a blended 24%). Reply rate 9.8%. Zero restriction events on migrated seats. Two Q1 restriction events on the legacy holdouts.

The client comms template that worked in all three agencies

All three operators used a version of the same two-paragraph email. Here's the anonymized structure:

Subject: Quick heads-up on your LinkedIn outreach setup

>

Paragraph one: One sentence naming the platform-level change (vendor takedown, Q1 restriction wave, or new LinkedIn policy). One sentence framing it as an industry-wide issue, not a client-specific problem.

>

Paragraph two: Two sentences on what you're doing about it (specific architecture change, new daily cap, warm-up window). One sentence on timeline. One sentence on what the client should expect during the transition (temporary volume drop, reporting gap, no action needed on their end).

What did not work: any version of the email that mentioned HeyReach by name. Clients who hadn't heard of the tool became anxious about a story they didn't need to learn. Clients who had heard of it wanted a longer conversation. Neither served the migration.

The new operating envelope every agency landed on

Across all three books, the same set of numbers worked. This is the envelope for the best linkedin automation for agencies running 10+ seats in 2026:

  • 30-50 invites per seat per week, spread evenly across 5 sending days. Never batched. Never Monday-heavy.
  • Acceptance rate floor: 35%. Below that, pause automation on the seat for 7 days and reset with manual activity.
  • Per-account static residential IP. No shared session pools. No datacenter ASNs.
  • Warm-up window: 14 days minimum for any new seat or any seat coming off a restriction event.
  • Weekly deliverability review. Every seat, every week, with a hard rule to pull any seat trending toward the acceptance floor.

This matches what we've argued in the 20-invite rule and what most surviving agencies converged on independently through Q2.

What none of these agencies did (and why it matters)

They did not:

  • Try to migrate more than five seats a week. The observation window between batches is the safety mechanism.
  • Overlap tools. Running the old tool and the new tool against the same seat for even 24 hours cost Agency A a session.
  • Skip the warm-up reset on seats that hadn't been restricted. The seats that got restricted after migration were the ones that skipped warm-up because "they were fine."
  • Cite HeyReach by name in client comms. Every operator learned this the same way.
TL;DR
  • The March 2026 HeyReach takedown was the visible trigger, but the real risk is the ~40% Q1 restriction rate on cloud-proxy accounts — that's what drove agencies to migrate.
  • Three agencies at 12, 28, and 40 seats each hit clean migrations in 30 days by batching cutovers, resetting warm-up windows, and dropping invites to 30-50/week per seat.
  • Acceptance rates jumped from 19-24% pre-migration to 34-41% post-migration across all three books. Zero restriction events on migrated seats.
  • The client comms that worked: two paragraphs, no vendor names, specific technical change framed as a safety upgrade.
  • The new operating envelope for agencies in 2026: 30-50 invites/seat/week, 35% acceptance floor, per-account static residential IPs, 14-day warm-up on every new or reset seat.

Ready to try LinkedCamp?

14-day free trial, dedicated IP, AI agents — start outbound in under an hour.