LinkedIn outreach automation, step by step

How PoliteReach automates LinkedIn outreach: prefilled invites at 12-16 a day, inferred acceptance, and a Day 1/3/7/14 sequence that stops on reply.

Most LinkedIn outreach automation fails the same way: the account gets restricted, and the pipeline dies with it. Every design decision in PoliteReach starts from that failure mode. The system runs in two stages. Stage one sends personalized connection invites from your own account, slowly, under caps we publish. Stage two starts a prefilled message sequence the moment a prospect accepts, and kills it the moment they reply. This page walks through both stages end to end, including what happens when LinkedIn pushes back.

PoliteReach is built for founders and small sales teams who run outreach from their own accounts. The profile at stake carries your whole career.

You write every note before the campaign starts

Stage one begins with no automation at all. You, or the AI assistant you've pointed at your prospect list, write a connection note for each person. A real note per prospect, not a template with a first-name token. PoliteReach stores that note plus the Day 1, 3, 7, and 14 messages before a single invite goes out. Nothing is generated at send time. If a message isn't sitting in the queue, already approved, it doesn't get sent.

Every word PoliteReach sends was written and approved by a human, or their AI, before the campaign started.

Invites go out at 12 to 16 a day, and no two days match

Invites are the action LinkedIn actually polices, so invites are where the caps live. Three of them, enforced per account:

Each send is humanized. PoliteReach pauses a random beat before opening a profile, types the note with per-keystroke delays, waits again before sending, and leaves randomized gaps between actions. Slow, on purpose. A script that fires 40 invites in 90 seconds is trivial to spot. Fourteen invites spread across a workday, typed at human speed, reads like a person, because it moves like one.

It drives a real browser with a fingerprint that never changes

PoliteReach runs a full Chromium browser in the cloud. Headful, and not a Chrome extension: no code is injected into LinkedIn's page. Each account gets one persistent device profile, so LinkedIn sees the same machine every session. Only one browser runs at a time. On IPs the guidance is strict: one residential or ISP address per account. Our docs tell you to check any proxy's ASN type with ipapi.is and reject anything flagged as a datacenter. A datacenter IP undoes everything else on this page.

Acceptance is inferred, because LinkedIn has no API for it

There is no endpoint that says your invite was accepted. LinkedIn doesn't offer one, to anyone, so any tool that shows acceptance data is inferring it somehow. PoliteReach infers it: it periodically diffs your recently added connections against your still-pending invites. When a prospect appears in the first list and disappears from the second, that's an acceptance, and stage two starts.

The sequence starts on acceptance and dies on reply

Acceptance starts the clock. The Day 1 message you prefilled goes out, then Day 3, then 7, then 14, each typed with the same humanized pacing. One rule overrides the calendar. The moment the person replies, the sequence halts for good. No follow-up ever lands after a human has answered. Messages to existing connections carry no volume cap, because messaging people you're connected to is normal LinkedIn behavior. Invites are the risky action. Messages are conversation.

Stop on reply is absolute: once a prospect answers, no automated message in that sequence will ever follow.

Your AI does the thinking, PoliteReach does the sending

PoliteReach makes zero decisions about who to contact or what to say. That split is deliberate. Targeting, note writing, and reply drafting live with you or the AI assistant you already use. PoliteReach is the hands: it holds the browser session, enforces the caps, types like a person, and reports what happened. If an assistant plans your campaign, it hands PoliteReach the finished words. If you write everything yourself, the flow is identical. Either way the intelligence lives outside the tool, and the tool never improvises.

A security checkpoint stops one account, not all of them

Sometimes LinkedIn challenges an account with a verification code or a login check. When PoliteReach hits a checkpoint, a per-account circuit breaker trips and that account's automation stops immediately. Nothing retries. Nothing hammers through a warning until it becomes a restriction. You clear the checkpoint yourself and reconnect the account; nothing runs on it until you do. Every other account keeps running, because each one has its own caps, its own device profile, and its own breaker.

Invites still pending at 60 days get withdrawn

An ignored invite doesn't stay neutral. A pile of pending invites drags your sent-to-accepted ratio down. That ratio helps keep an account looking healthy. PoliteReach withdraws any invite still pending after 60 days, automatically and on by default. The window is configurable, from a floor of 7 days up to 180 if you want a tighter book.

New accounts ramp for about three weeks

An account that has never sent a cold invite and suddenly sends 16 a day looks like what it is. So new and dormant accounts start well below the cap and ramp up over roughly three weeks before reaching the full 12-to-16 range. Slower than you'd like. Cheaper than a restriction.

PoliteReach, built by Diverse Labs, is in early access. What runs today is the loop on this page, with the caps enforced in code rather than promised in copy. We'd rather publish the numbers and be held to them.

Want outreach that stays inside the caps?

PoliteReach is in early access. Every cap it uses is published, so you know exactly what it will and won't do with your account.