- Home
- Growth Playbooks
- LinkedIn Outreach Playbook
LinkedIn Outreach Playbook
LinkedIn reaches senior buyers that email often cannot, especially when their company mail sits behind a security gateway. Our playbook is a sequence tree with five branches, written in the sender's own voice and checked lead by lead.
On this page
What it is and when to use it
LinkedIn outreach is a sequence of connection requests, messages and InMails sent from a real person's account. Because the message arrives from a named human, the voice, the signature and the reason for writing all have to be right for that person.
We run it as part of the outbound system: the audience comes from the same qualified list as email, leads that cannot be emailed safely are routed here, and existing connections get a different message from strangers.
Use this playbook when
- Senior buyers on an event or signal list, where email coverage is weak.
- Leads whose company mail runs through a security gateway, so email would rarely reach the inbox.
- A founder or team member whose network and voice are part of the offer.
Tools we use
Only tools we have run this playbook with, and what each one does in it.
- HeyReach: Sequences across sender accounts: connection check, request, message, InMail
- Apify: Scrapes of each prospect's own recent posts for hooks
- Parallel: Person research before a message is written
- Supabase: Final message text per lead, per sender
- Connections export: The sender's own first-degree list, to find existing connections
The steps
The order we work in. Each step feeds the next, and every result is written to the database as it happens.
Build the audience from the qualified list
People come from the outbound pipeline: signal or event list, title grading, qualified company. Not from a broad search.
Separate existing connections
The sender's connections export is matched on the profile slug, and an action column says in plain words what happens to each person, for example to skip the connection request because they are already connected.
Fetch in code, judge in the model
Code fetches and compacts each prospect's posts and research. The model only reads clean text and decides whether there is a real hook.
Label every post
Each post is marked as original, quote or bare reshare. A hook comes only from something the person wrote, and only when the link to the offer is obvious; otherwise they get the generic opener.
Write the five branches
A connection note within the character limit and without links, a message on acceptance, a message for existing connections that does not comment on being connected, an InMail for people who do not accept, and a short generic fallback. Messages stay under about 70 words and do not introduce the sender by name.
Voice and sign as the sender
Each account's messages are written as that person, with their verified title. A shared lead pool needs a separate field per sender.
Judge and validate
An independent model judge reviews each message, and a code validator checks for braces, length, links, dashes and the greeting name.
Upload, read back, test, launch
Every lead is read back from the platform, a rendered test goes to a team-owned profile, and only then does the campaign start.
Pace the senders
Volume scales by adding sender accounts, not by pushing one account harder.
What good output looks like
Measured across all our HeyReach workspaces (August 2026):
104,411 connection requests were accepted 12,466 times (11.9%).
Messages sent after acceptance: 8,814 messages drew 1,837 replies (20.84%).
InMail: 19,003 InMails drew 579 replies (3.05%).
Acceptance ranged from 5.9% to 65.9% between workspaces on the same tool, which says more about audience and sender than about the tool.
On one 219-person build, about 35% of prospects had a genuine hook and about 65% got the clean generic opener, for about $5 of scraping and $2 of research.
Common mistakes, and the fix
Each of these happened on a real run. The fix is now part of how we work.
Literal braces reached 50 prospects.
- Cause
- Variable syntax from an email tool was used in the LinkedIn tool.
- Fix
- Final literal text, and a rendered test send.
One sender's messages were signed with another sender's name.
- Cause
- Custom fields live on the lead.
- Fix
- A separate field per sender, read back per sender.
Custom fields were silently dropped on upload.
- Cause
- Two endpoints expect different payload shapes.
- Fix
- Read a lead back after every upload.
A client stopped a launch over the existing-connection message.
- Cause
- It opened by remarking on the connection.
- Fix
- Open with substance.
Messages read as walls of text with a self-introduction.
- Cause
- The draft repeated what the profile already shows.
- Fix
- Keep messages under about 70 words in short paragraphs.
A reshare was nearly quoted as the prospect's own post.
- Cause
- Quote reshares arrive even when reposts are excluded.
- Fix
- Split authorship three ways before writing hooks.
361 people accepted but were never messaged.
- Cause
- A short InMail timer raced late accepters, and InMail credits ran out.
- Fix
- Give acceptance more time before InMail, and monitor credits.
A request to an existing connection failed.
- Cause
- The person had changed their profile URL.
- Fix
- Match existing connections on slug and name.
A list upload reported nothing added and nothing failed.
- Cause
- The upload dropped leads silently.
- Fix
- Diff the list count by slug after every upload.
Questions people ask about linkedin outreach
Does LinkedIn outreach work?
Across all our HeyReach workspaces, 104,411 connection requests were accepted 12,466 times (11.9%), and 8,814 messages sent after acceptance drew 1,837 replies (20.84%). Acceptance ranged from 5.9% to 65.9% between workspaces on the same tool, so the audience and the sender matter more than the tool.
What is the best tool for LinkedIn outreach?
We run our LinkedIn campaigns on HeyReach, with sequences that check for an existing connection first and then send a request, a message on acceptance or an InMail. The tool matters less than the list and the message: the same tool gave very different acceptance rates for different audiences.
How many connection requests can you send on LinkedIn per day?
HeyReach recommends starting at 15 to 25 connection requests a day per sender, and warns that pushing toward 40 raises the risk of restriction. We scale volume by adding sender accounts rather than pushing one account harder.
How do you write a LinkedIn outreach message that gets replies?
Write as the sender, keep it under about 70 words, do not introduce yourself by name, and use a hook only when it comes from something the person wrote. Never open a message to an existing connection by remarking on the connection. If there is no real hook, use a clean generic opener: in our runs about 65% of prospects get one.
Is it better to send an InMail or a connection request?
In our data, a connection request followed by a message did far better: messages after acceptance drew a 20.84% reply rate, while 19,003 InMails drew 579 replies (3.05%). We use InMail as the branch for people who do not accept.
Want this playbook running on your market?
Tell us what you sell and who you sell to. We will show you how this playbook would run for you, and what we would check first.