Used by 800+ agencies and sales teams

The $1M LinkedIn OS

The full LinkedIn operating system. Ten modules, from ICP through to the close.

14 days free · Set up in 5 minutes · Cancel anytime
From the Prosp team

Prosp runs LinkedIn outreach for you: it finds the right people, messages each one in your voice, and brings every reply to one inbox. You take the calls.

Try it free for 14 days →

The full LinkedIn operating system. Ten modules, from ICP through to the close.

Every module is the method written out, not a summary. ICP from closed-won, the profile rewrite that happens before any sending, viral post templates, the best DM on LinkedIn, Sales Navigator, two competitor harvesting plays, copy-paste DM templates, and the sell-by-chat framework.

Plus the full build on video, start to finish, so you can watch it assembled rather than reading about it.

Everything runs inside one daily ceiling, and the system is built around that rather than ignoring it.

AI Driven, Personalized Outreach on LinkedIn: Prosp 💜

Section 1

The Full Build, On Video

The whole build, start to finish, on video.

Read the modules for the method. Watch this for the assembly, because some of it is faster to see than to read.

What to watch for

The parts worth pausing on, because they are where most setups go wrong.

The lead source choice. Six are live: your lead database, basic LinkedIn search, Sales Navigator search, CSV upload, LinkedIn post likers and commenters, and your first-level connections. Event members, group members and pasted profile URLs are marked coming soon.

Post engagers sit at the top for a reason. Someone who commented on a post about the exact problem you solve has done something. Someone matching a search filter has not.

The skip-people filters. Checkboxes for people you already reached out to and your do-not-contact list, with a look-across toggle for any campaign, any of your accounts, or this account only. This is the setting that prevents the same person getting two messages from you.

The delay on each step card. Delay is a property of the step, not a separate action. The header reads "No delay" with an edit pencil. Setting it to zero runs the step as soon as the previous one finishes.

The branching. A send message step splits into a no-reply path and a replied path, each continuing or ending independently. That is what handles follow-ups without building a condition for it.

The daily limits on the launch step. Applied per sender, with a safe-defaults badge. They can be raised, and the interface warns that higher limits increase account risk. Leave them alone for the first fortnight.

The ten actions and four conditions

What you have to build with.

ACTIONS
  visit profile
  connection request
  send message
  voice note
  InMail
  follow
  like last post
  comment on last post
  reply to comment
  endorse skills

CONDITIONS
  if connected
  if opened message
  open-profile check
  has data in column

Two starter templates fill the canvas if you want a base rather than an empty sequence: "Connect and follow up" and "Profile warm-up".

The step picker's FINISH group has one item: End of path. Every branch needs one.

The sequence that works

Build this one first. It is the shape most campaigns should start from.

1  Condition: if connected

2  YES path:
   Send message, no delay
   Branches on reply.

3  NO path:
   Connection request
   Send message on acceptance

4  Wait 3 days on the no-reply branch
   Second message, a different angle

5  Wait 5 days
   Close-out message

6  End of path on every branch

No wait card after the connection request. Acceptance auto-detects, checking every 24 hours for two weeks with a random delay. A wait there only slows the sequence, and it is the most common unnecessary card people add.

Four touches maximum. After that the answer is no.

Add a voice note on touch two. Lead magnet sequences that include one get a 3.5x higher reply rate than those without. Keep it under 20 seconds and always pair it with a written message.

The close-out at touch four outperforms the two before it combined, because permission to say no removes the pressure that was stopping them replying.

Before you press launch

The pre-send checklist covers audience, sequence, senders and schedule, and shows what needs fixing.

Read the message preview. It renders what your first messages will say against each lead's real details before anything sends. That is what catches the prompt reading fine on lead one and producing something odd on lead five.

Set the fallback. The message editor has a field for a version with no variables, used when one is missing. Fill it in. Nobody should receive "Hi ,".

Check the unconfigured steps. They show a red "Action required", but that does not block publish. You can launch something half-written, so read them rather than trusting the badge to stop you.

Check the schedule. Weekly hours per day, defaulting Monday to Friday 09:00 to 17:00, with one campaign timezone applying to every enrolled lead rather than per lead or per sender. If you are selling across timezones, that one setting decides when everyone gets messaged.

The variables

{{first_name}}    {{last_name}}     {{full_name}}
{{headline}}      {{company_name}}  {{job_title}}
{{industry}}      {{location_raw}}

Plus any extra column from a CSV import, which becomes a custom variable. That is how a signal you recorded during research travels into the copy.

The in-app guidance is right: keep it under three sentences and end with a soft ask.

There are Write with AI and Browse AI prompts buttons in the editor. Use the preview before trusting either.

What the video does not cover

The method. Which twenty people out of four hundred, what the message says, and what to change when it is not working.

That is what the other nine modules are for, and it is the half that decides whether the build produces anything.

Watch this once, then read module 2. Building a perfect sequence against the wrong ICP is a well-run mistake.

Section 2

Running This Across Clients: What Changes, and the Ceiling

The ten modules that follow are the system as it runs on one account.

This page is what changes when you run it across a book of clients.

Read it first. Four of the ten behave differently at that scale.

What actually changes

Module Solo Across a book of clients
ICP Once Per client, from THEIR closed-won. Never yours.
Profile Yours Theirs. Rewrite before any sending on that account.
Post templates Your voice Their voice, from three of their real posts
The DM Your signal Same rules, different proof per client
Sales Nav One search One saved search per client, never merged
Competitor scraping Your competitors Theirs. Yours are irrelevant to their buyers.
Comment scraping Any relevant post Posts their ICP engages with
Lead magnet Your resource Built for their audience, sent from their account
DM templates Pick one Pick per client. Never reuse across two.
Sell-by-chat You reply You draft, they approve, or you send under their name with written permission

The two rows that catch people out are competitor scraping and DM templates.

Running your own competitor list against a client's ICP produces a list of people who buy what you sell, not what they sell.

And a template reused across two client accounts in the same niche means two profiles sending near-identical messages to an overlapping audience.

The ceiling, per account

Action Free Premium / Sales Nav
Connection requests 20/day, 100/week 30 to 50/day
Direct messages ~100/week ~150/week
Profile views 80/day 150/day
Comments 60/day 60/day
InMail n/a 50/month

Account-wide, not per campaign. Three campaigns at 20 each means one account attempting 60 a day. That is how accounts get restricted.

Every client account has its own ceiling. Do not aggregate. Eight clients is eight separate budgets that each need splitting, not 160 sends from one place.

A brand new client account starts at 10 a day, not 20. A profile with no history suddenly sending at full rate is the clearest possible pattern. Build to 20 over the first fortnight.

Request limits and message limits are separate buckets, so both run at full allocation at once. When capped, only connection requests pause, and it resets in 2 to 3 days.

The file structure

clients/
├── acme/
│   ├── client-context.md    the engagement, ICP, proof, ceiling
│   ├── voice.md            three of THEIR posts, pasted in full
│   ├── icp.md              derived from their closed-won
│   ├── prospects.csv
│   ├── dropped.csv         so the filter is auditable
│   └── posts/
└── globex/
    └── ...

Never share a voice.md between clients. Two accounts that sound like the same person is the fastest way to lose both, and it is obvious to anyone who follows both.

Keep dropped.csv. When a client asks why you never contacted a company they like, that file is the answer.

The field people leave blank is "other campaigns running on this account". Leave it empty and you will propose a volume that restricts their account.

The order to run the modules in

Per client, not all at once.

Week 1, day 1. Module 1, the ICP, from their closed-won deals rather than a kickoff workshop. Then module 2, the profile, because every connection request and every comment drives a profile visit and a weak headline loses the accept there rather than in the message.

Week 1 to 2. Commenting only. No posting, no outreach. A post published into a feed where nobody recognises the client's name reaches only the followers you are trying to grow. Two weeks of substantive comments on large posts in their space changes that, and it costs nothing but time.

Week 3. Module 3, the post templates. Three a week maximum, one a day maximum.

Week 3 onward. Modules 4 to 9. The DM, Sales Navigator, the two scraping plays, the lead magnet, the templates.

Continuously from the first reply. Module 10, sell-by-chat.

Running outreach in week one works. It just works worse, and the difference is two weeks of free commenting you did not do.

The weekly loop, per client

MON  Diagnostic. One change, not three.
MON  Commenting session, 25 minutes.

TUE  Post goes out. Commenting session.

WED  New list built, filtered, graded.
WED  Below B, rebuild. Above B, find the signals.

THU  Second post. Top up the campaign inside the split.

FRI  Reply pass across the inbox.
FRI  Third post if the week has earned it.

DAILY  Five minutes on high-intent signals, before anything else.

One change per week per client. Change three things and a lift tells you nothing about which one worked, which is the difference between a retainer you can defend and one you cannot.

Running eight accounts without eight logins

The modules produce lists, copy and sequences. None of them sends anything, and that is deliberate. A browser session driving a client's account from your machine produces activity from an unusual environment at machine pace, and the account is not yours to risk.

Prosp is the send layer. One account per client profile, each created in its own browser session because cookies conflict, all managed from one workspace. A free dedicated residential proxy per connected account, so the activity looks like it comes from them.

White-label with your own domain plus a sub-workspace per client, so they log into your brand rather than someone else's.

The unified inbox spans every connected account with filters for campaign, replied and unread, which is what makes the Friday reply pass one task rather than eight.

Pricing scales with the book: $79.99 per account at 1 to 5, $59.99 at 6 to 30, $39.99 at 31 plus, with roughly 23% off annually.

Section 3

How to Define Your ICP

Build it from their closed-won deals, not from the kickoff call.

The output that earns the engagement is the gap between who they say they sell to and who actually signed.

The pull

Ask for a CRM export of closed-won, last 12 months. If they cannot produce one, that is itself the finding, and the first month of the engagement is building the tracking rather than the pipeline.

Per deal, you need seven fields:

company size
industry
buyer job title, as written on the contract
deal size
days from first touch to signature
the trigger that started it
how they found you

Field six is the one nobody records and the one that decides your targeting. Ask them to reconstruct it deal by deal on a call rather than sending a form.

The derivation

Read the closed-won export.

OUTPUT to clients/[name]/icp.md:

1. Three attributes correlating with fast closes
2. Three correlating with long or lost deals
3. The exact job titles that actually signed, verbatim
4. The size band with the highest win rate
5. A searchable filter string built from point 3
6. The gap between the stated ICP and the actual one
7. Who this is explicitly NOT for

FAIL CLOSED with fewer than 10 closed-won deals. Report the count
and say the answer is not in the data yet. Do not derive a pattern
from three customers and present it as strategy.

FAIL CLOSED if the export has no job titles. Name the missing field
rather than inferring it from company size.

Point 6 is the deliverable. Telling a client in week one that their real buyer is a different job title from the one on their website changes the whole engagement, and it is the thing they cannot get from a workshop.

Running it across a book

One ICP file per client, in clients/[name]/icp.md. Never a shared one, and never yours.

The mistake that costs a quarter: using your own ICP as a starting point because it is faster. Your buyers and their buyers are different populations, and the overlap is usually smaller than it looks.

Re-derive quarterly. Run it again against the last quarter's closed-won. If the winning job title has moved, everything downstream needs rebuilding, and finding that out in month six is cheaper than month twelve.

Record who signed, not who you first contacted. The two are different in most deals with more than one person involved, and targeting the first-contact title is how a pipeline fills with people who cannot buy.

The check nobody runs

Before building any list, do the send maths.

How many companies match the filter string?
At 20 connection requests a day, how many weeks to work the list?

Under four weeks of sending = the ICP is too narrow for a campaign.
It is a list of people to contact by hand.

Over six months of sending = the ICP is too broad. You will never
reach the bottom, so the ordering matters more than the size.

Tell the client the number. A defined ICP that produces sixty prospects is a positioning conversation, not a targeting one, and it is better had in week one.

Section 4

Optimise Your Profile

Day one, before any sending on that account.

Every connection request and every comment drives a profile visit. A weak headline loses the accept there rather than in the message, and no amount of sequence tuning fixes it afterwards.

The audit, nine checks

Each marked PASS, WEAK or FAIL with one line of evidence. Send the audit before the rewrite. The audit is what justifies the rewrite.

1  PROOF
   Is there a number anywhere above the fold?

2  EMPTY ADJECTIVES
   Count the words that could describe anyone. "Passionate",
   "results-driven", "strategic". Each one is a wasted line.

3  CLARITY
   Could a stranger say what this person does in one sentence
   after five seconds?

4  GAPS
   Unexplained employment gaps, or a current role with no
   description.

5  CALL TO ACTION
   Is there one? Is it in the About, the Featured, or nowhere?

6  VISUAL CONSISTENCY
   Does the banner say the same thing as the headline?

7  MOBILE READABILITY
   The headline truncates around 60 characters on mobile, which is
   where most profile visits happen. What survives the cut?

8  SEARCHABILITY
   Are the terms their buyer searches actually on the page?

9  CONTACT HYGIENE
   Dead links, an old company, a personal email nobody monitors.

The rewrite

Headline. Three options, each character-counted, each flagged for where it truncates on mobile. Never job-title-at-company. The format that works: who they help, what changes, one specific.

About. Four movements, first person.

1  The hook. One line, the buyer's problem not the person's history.
2  The problem they solve, in the buyer's words.
3  Proof. A number the client approved, with a timeframe.
4  The CTA. One action.

Keywords in the first two lines, because that is what shows before
the See More cut.

Featured. Mandatory, not optional. Pin the thing the buyer needs before a call: a case study, a resource, a booking link.

Experience. Action plus method plus measurable outcome, per role. Not responsibilities.

Skills. Cut generic filler, merge into 10 to 15 clusters matching the search terms from check 8.

Running it on someone else's profile

Critique the positioning, never the person. Never comment on appearance, age, or anything unrelated to the work. You are auditing a business asset they own, and the line matters.

Never invent a metric to fill a gap. Ask them for one or leave it out. A fabricated number in a client's About section is theirs to defend when someone asks for the source.

Get the rewrite approved in writing before it goes live. A profile is the most personal asset in the engagement, and a founder who finds their About rewritten without sign-off remembers it.

Do it before the campaign, not alongside it. A week of sending against an unoptimised profile is a week of acceptance rate you cannot get back.

What to measure

Record the acceptance rate for the two weeks before the rewrite and the two weeks after, on the same list quality.

That figure is the cleanest attribution available in the whole engagement, because nothing else changed. It is also the number that justifies the audit line on the next invoice.

If acceptance sits below 15% after the rewrite, the problem is the list or the connection note, not the profile. Stop optimising it further.

Section 5

Viral Post Templates

Templates give you the structure. The voice has to come from them.

The only reliable source is three of their own posts that performed, pasted in full. Three real posts demonstrate a voice. Three adjectives describe one, and you cannot write from a description.

Before any template

Build clients/[name]/voice.md on the kickoff call. It takes twenty minutes and it decides whether every draft afterwards sounds like them or like software.

# Voice: [CLIENT]

## Three adjectives

## Two phrases they would never say

## Three posts that performed, pasted IN FULL
Not links. Not summaries. The full text.

## What annoys them
The strongest content comes from here. Ask on the call and write
down the actual words they use.

## Approved proof
Numbers they can stand behind publicly, each with a timeframe.

## Banned
Claims they cannot evidence.
Numbers nobody approved.

The "what annoys them" field is the one people skip. A founder complaining about something in their industry for ninety seconds has just given you four posts.

The six post structures

Rotate. Never two of the same shape in a week.

1  THE CONTRADICTION
   "Everyone says X. We stopped and it improved."

2  THE NUMBER
   A specific figure, with no context until line three.

3  THE ADMISSION
   Something that costs them to say. Highest reply rate of the six.

4  THE NARROW CLAIM
   So specific it is checkable.

5  THE OPEN QUESTION
   No obvious answer. Never rhetorical.

6  THE MID-SCENE OPEN
   Start three sentences in.

Hook test. Delete the body. If the hook still feels complete, it is a summary, not a hook.

Write the hook last. A hook written first constrains the body to fit it, which is why so many posts have a great line one and nothing underneath.

The humanising pass

Run this on every draft before the client sees it. A client who spots AI phrasing stops trusting the whole deliverable, and you do not get that back.

[ ] Numbers not all round. 85 to 11, not 85 to 9.
[ ] No perfect parallelism in lists. One element differs in length
    or form.
[ ] One genuine break in the flow of thought, not an inserted
    "anyway".
[ ] Case studies carry one vague detail beside one hyper-specific
    one. Real memory is uneven.
[ ] Not every post resolves. One a week ends open.
[ ] No em dashes anywhere.
[ ] One idea per line, three lines maximum per paragraph.

Final test: could a competent person have written this in five minutes? If it reads like it took a committee, that is what it reads as.

The cadence, and why it is lower than they want

Three a week maximum. One a day maximum. Same-day multiples suppress each other, so the second post costs you the first.

Three pillars, not five. A pillar is a repeatable topic, not a theme. "Cold email" is a topic. "Growth" is a theme and produces nothing. If the client cannot talk about a pillar for twenty minutes without notes, it is not theirs.

A missed day beats a thin post. Publishing to hit a number trains the audience to skim.

Set this expectation in week one. Clients ask for daily because they have been told volume wins, and walking it back in month two reads as you under-delivering rather than as the right call.

What goes in the report

Not impressions. Never impressions as a headline number.

Which pillar produced conversations, not reach
Which post shape pulled, by structure number
Comments from ICP-matching profiles, as a count not a percentage
Profile visits in the 48 hours after each post
Which post preceded each inbound enquiry

The last line is the one clients actually care about and the one nobody tracks. Log the date of every inbound and match it against the calendar.

Section 6

The BEST DM on LinkedIn

Three lines, under 300 characters, one ask.

What makes it work is not the structure. It is that line one references something dated and verifiable that the prospect can check.

The structure

Line 1  The signal. Dated, specific, checkable.
Line 2  The inference you drew from it.
Line 3  The question.

Under 300 characters. Longer reads as a template regardless of how good it is.

One ask, answerable in under ten words. Two questions gets you an answer to the easier one. Three gets you nothing, because now it is work.

Never mention the product in message one. The message is for the reply, not the sale.

No compliments. No "hope this finds you well". No "quick question". No em dashes.

What counts as a signal

This is the part that separates a good DM from a mail merge with a first name in it.

TIER 1, budget is already moving
- Hiring for the role the client's offer supports
- Raised in the last 90 days
- New leader in post, last 60 days
- Publicly named the exact problem, last 30 days

TIER 2, the problem is visible
- Their site or content shows the gap
- Commented on a competitor's post
- Expanding into a new market

TIER 3, fit only, no observable trigger

Record the date and the URL when you find it. It goes in the message and they will check it.

"Works at a SaaS company" is fit, not a signal. Using it as one is the clearest tell that a message was generated rather than written, and it is the single most common failure in cold outreach.

No signal means write NONE. Then use the tier 3 version, which leads with a segment-level pattern and claims no personalisation you cannot back.

Proof, when it is not your proof

Never use your own case studies in a client's DM. You are writing as them.

Pull from their approved proof list, with a permission column:

YES          name them
ANONYMISED   describe them by type and size
NO           pick the next row

Use the number exactly as written. Never round it, annualise it, or convert it into a percentage to make it look better.

If no row is a reasonable match, write the version with no results claim. A stretched comparable is worse than none, because the prospect is the one who spots it.

The banned openers

These are burnt. Every one of them appears in a hundred messages a week in your client's inbox.

"I came across your profile"
"I help [vertical] with [service]"
"Are you open to a quick chat"
"Quick question for you"
"I hope this message finds you well"
"I'll keep this short"
"Just reaching out because"

The second one is the most-sent opener in B2B and the worst performing. It tells them you have a list, not that you looked at them.

Before it sends

Seven checks. Five must pass, or rewrite rather than send.

[ ] Under 300 characters
[ ] One question only
[ ] References something specific and dated, not a category
[ ] No banned opener
[ ] No claim absent from the client's approved proof
[ ] Register matches their voice file
[ ] No em dashes

Then check the ceiling. Twenty connection requests a day on that profile, account-wide, whatever else is running on it. A message that is perfect and sends at 60 a day gets the account restricted, which costs more than a bad message.

Section 7

Sales Navigator

One saved search per client, named after them, never merged.

Two clients in the same niche will overlap, and the same person receiving near-identical messages from two profiles you run is a bad look in a small industry.

Build the search from the right titles

Not the titles the client asked you to target. The titles that actually signed, from the ICP module.

Those are frequently different, and the gap is the whole point of doing the ICP work first.

FILTERS THAT EARN THEIR PLACE
Job title        from closed-won, verbatim, plus known variants
Headcount        the band with the highest win rate, not "SMB"
Geography        where they can actually serve
Seniority        only if the title filter is too broad alone

FILTERS THAT WASTE A SLOT
Industry         too coarse. Two companies in "Software" have
                 nothing in common.
Years in role    correlates with nothing in most datasets
Company growth   a proxy for a signal you should find directly

Title conventions differ by market. A Commercial Director in the UK and a VP Sales in the US are frequently the same seat. A search built for one returns almost nothing in the other, and that is a common reason a list comes back thin.

Whose seat is it

This needs settling in the contract, not at offboarding.

If it is their seat, you are working inside their account. Everything you save is visible to them, which is fine, and it stays with them when the engagement ends.

If it is your seat, the saved searches and lead lists do not transfer. Say so up front. A client who assumes the list is theirs and finds out otherwise in month twelve remembers it, and they tell people.

Either way, export the list. A saved search is a query, not an asset. The CSV in clients/[name]/prospects.csv is the thing that survives a seat change, a plan downgrade, or a filter LinkedIn quietly removes.

Filter before you enrich

The expensive mistake is enriching a thousand rows to discover six hundred were never going to buy. Enrichment is priced per lookup.

ORDER
1  Export raw from the search
2  Filter: KEEP, DROP or UNSURE, 12-word reason per row
3  Grade the survivors A to F
4  Only then enrich what is left

DROP: fails the title or size band, competitor, too small for the
client's price band, another agency when they sell to in-house.

Keep dropped.csv. When the client asks why you never contacted a
company they like, that file is the answer.

Expect a 40 to 60% drop rate. Below 40% usually means the search was too narrow rather than the list being unusually good.

The eight-dimension grade

Nothing enters a client campaign below a B.

1  ICP fit
2  Title accuracy, against the signer titles
3  Affordability against their price band
4  Data completeness
5  Deduplication, within the list and against other clients
6  Recency of activity
7  Reachability, how many are already 1st degree
8  Signal strength, how many carry a dated trigger

A 9.0+   B 7.5+   C 6.0+   D 4.5+   F below

Dimension 5 matters more for an agency than anyone else. Two clients in the same niche will share prospects. Deduplicate across every active campaign you run, not just within the list.

Dimension 8 predicts reply rate better than any other. A B-grade list where most rows carry a tier 1 signal beats an A-grade list with none.

The CSV export is what Prosp imports. It needs headers in row one and a linkedin_url column, and the AI column mapping handles the rest. Any extra column becomes a custom variable you can reference in the message prompts, so the signal you recorded travels with the lead into the copy.

One Prosp account maps to one LinkedIn profile, so create each client account in its own browser session, then invite them all into a single workspace.

Section 8

Scrape Competitor Company Followers

Their competitors, not yours.

Running your own competitor list against a client's ICP produces a list of people who buy what you sell, which is a different population entirely.

Picking the competitor

Ask the client to name three, then check the overlap yourself.

Founders name the competitor they dislike, not the one they lose to. Those are rarely the same company, and the one they lose to is the one whose followers are worth harvesting.

Score each candidate before harvesting:

AUDIENCE OVERLAP   Would their follower plausibly buy from our client?
SIZE PARITY        A competitor ten times the size has followers who
                   mostly do not fit our client's price band.
RECENCY            Are they still posting? A dormant page has a
                   dormant follower list.
HONEST DIFFERENCE  Where is the competitor genuinely better? Write
                   it down. It comes up in a reply within a week.

Harvest the top two only. A follower count is not an addressable market.

The harvest

Company page followers are the weakest of the available sources, and worth knowing that before you start.

STRONGEST TO WEAKEST
1  Commenters on their posts, substantive comments
2  Likers on posts about the problem both solve
3  Attendees of their events or webinars
4  Company page followers

A follower expressed interest once, possibly years ago. A commenter engaged with a specific idea on a specific date, and you know which idea.

If you are harvesting followers anyway, treat every row as tier 3 fit-only until a second signal appears.

The filter, which runs harder here

DROP
- Their employees. Check the company field on every row.
- Their existing customers, where visible from posts or comments
- Other competitors
- Anyone outside the client's ICP bands

Expect 60% to drop. Under 50% means the filter is too loose for this source.

The employee check is easy to miss and embarrassing to get wrong. A message from your client's account to someone who works at the competitor gets screenshotted, and it is your client's name on it.

The rule that is not optional

Never name the competitor in any message. Not in the connection note, not in the DM, not in a follow-up.

Not "I saw you following X". Not "if you're looking at X". Not anywhere.

It reads as surveillance, it gets screenshotted, and it is the client's account and reputation carrying it rather than yours.

The bridge is the topic, not the competitor. Lead with the problem both companies solve, and the competitor stays invisible.

If a prospect asks how you found them, answer honestly and briefly. Evasion at that point is worse than the original question.

The one objection this generates

"We already use [competitor]."

That is information, not rejection. Ask what it does not do, and listen properly, because the answer is worth more to the client than the deal is.

Feed it back. A list of what the competitor does not do, gathered from twenty replies, is a genuine deliverable and most agencies throw it away.

Never characterise the competitor's team, pricing motive or roadmap in a reply. Name where they are genuinely better, unprompted. It is the fastest way to be believed on everything else.

Company page followers can be imported directly in Prosp, alongside post engagers, event attendees, group members, search URLs and CSV. The seven sources rank by intent, and followers sit at the bottom of that list for the reason above.

Import broad and filter at the send step. Importing costs nothing; the twenty a day on the client's account is the resource you are spending.

Section 9

Steal Your Competitor's Leads from Comments

The highest-intent cold source available.

A commenter engaged with a specific idea on a specific date, and you know which idea. That last part is what makes the message work.

Capture the topic, not just the lead

This is the field everyone skips and the one that makes the difference.

PER ROW
name
headline
company
linkedin_url
post_url
POST TOPIC        what the post was actually about
COMMENT TYPE      substantive, short, or reaction only
date of the comment

Someone who commented on a post about pricing gets a different opener from someone who commented on a post about onboarding. Without the topic column, every message is the same message and the source advantage disappears.

Score before you send

Depth times fit, each 1 to 3, multiplied. Maximum 9.

DEPTH
1  Reaction only
2  Short comment
3  Substantive comment, or engaged more than once

FIT, against the client's ICP
1  Adjacent
2  Right role, wrong company type, or the reverse
3  Exact match

6 to 9   Contact this week
3 to 5   Hold, watch for a second signal
1 to 2   No outreach. Keep the row, spend no send on it.

At 20 requests a day on a client account, a 400-row list is five weeks of their entire budget. The order decides the quarter, not the size of the list.

Import broad, send narrow. Importing costs nothing. Sending is the capped resource.

The opener

Line 1  The TOPIC of the discussion, and what was interesting
        about it. Not the competitor. Not the post author.
Line 2  Your client's angle on that same topic, one line.
Line 3  A question about their situation specifically.

Never say "I saw you commenting on X's post". It reads as surveillance and it gets screenshotted, and it is the client's account carrying it.

The topic is the bridge. Where the list came from stays invisible.

Under 300 characters. One ask. Never mention the product in message one.

Running it across a book

Posts their ICP engages with, not posts you find interesting. A post you would comment on is a proxy, and it is usually wrong.

Deduplicate across every client you run. Two clients in adjacent niches will harvest overlapping comment sections. The same person receiving two different pitches from two profiles you operate is visible to them and eventually to both clients.

Keep the post URL against every row. When a client asks where a lead came from, "a comment on this post, on this date" is a better answer than "LinkedIn".

The same post keeps producing. A post that performs for three weeks keeps gathering commenters. Re-harvest weekly rather than once, and tag by harvest date so you can tell early commenters from late ones. Early commenters convert better.

What to report

Which post topics produced replies
Which post topics produced meetings
Substantive commenters vs reaction-only, as a conversion split

That first line is a content insight as much as an outreach one. If posts about pricing produce replies and posts about onboarding do not, the client's content calendar should know.

Prosp imports commenters and likers directly from any post URL, including reactions that arrive later, which is what makes weekly re-harvesting a setting rather than a task. Use add tag nodes and a check data in column condition to route only the 6+ scores into the sending branch, and keep the rest in the workspace for when a second signal appears.

Section 10

10+ Copy/Paste DM Templates

Pick one per client. Never reuse across two.

Two accounts you run, in the same niche, sending near-identical messages to an overlapping audience is the fastest way to lose both.

Before you use any template

Three things get replaced, every time, or the template is worse than writing from scratch.

1. The proof. Templates ship with generic claims. A generic claim under a client's name is theirs to defend when someone asks for the source. Swap in their approved numbers, with the permission column checked.

2. The objections. A template answering objections nobody raised produces confident, irrelevant replies. Ask the client for the five they actually hear weekly and write those in.

3. The signal slot. Every template has a placeholder for why you are messaging. If you fill it with a fit attribute rather than a dated trigger, the template is doing nothing the recipient cannot see through.

Matching the template to the buyer

The template that works depends on who signs, not on what you are selling.

FOUNDER-LED, under 20 people
Outcome and speed. They have no process to protect. Price is the
only real objection and they raise it in message two.

FUNCTIONAL HEAD
They have budget but must defend the choice. Give them something
forwardable, because that document does the selling in rooms you
are not in.

OPS OR REVOPS
They buy process, not outcomes. Lead with how it fits what they
already run.

PROCUREMENT-GATED
Nothing happens without a budget line. If the client has no
security posture, disqualify early rather than forecasting it.

RESELLER OR AGENCY
Lead with the margin maths, not the features.

Establish which one before picking a template. Most of the reply-rate difference between two campaigns is this, not the wording.

The rules that hold across every template

Under 300 characters
One ask, answerable in under ten words
Line one references something dated and checkable
Never mention the product in message one
Every touch a different angle. Never "just following up".
Four touches maximum. After that the answer is no.
Reply stops the sequence, always.
No em dashes

Only the opening line should vary across a list. Keep the ask identical so you can tell the client what failed rather than guessing between five variables.

Any voice note pairs with a written message. Never sent alone.

Before anything sends

Turn on skip-leads-contacted-by-another-campaign. Two of your campaigns reaching the same person is visible to them and to the client.

Deduplicate across every client you run, not just within the list. Two clients in adjacent niches will share prospects.

Check the ceiling on that specific account. Twenty connection requests a day, account-wide, whatever else is running. A new client account starts at ten.

Preview the merge output against ten real contacts. That catches the prompt that reads fine on lead one and produces something odd on lead five.

On the reply rate in the title

Any figure attached to a template is someone else's, measured on someone else's list, in a different market, at a different time.

Record your own within two weeks. Sent, accepted, replied, positive. Per client, per template.

That number is the one you take to a client conversation, and it is the only one you can defend. A borrowed benchmark in a client report is a question you cannot answer.

If your figure is lower than the template claims, that is not a failure. It is a list problem or a signal problem, and the diagnostic tells you which.

Prosp has the skip-leads-contacted-by-another-campaign setting at campaign level, which handles the deduplication across everything running on that account. Preview runs sample outputs against real contacts before anything sends.

Builder defaults sit above the recommended limits, so lower them rather than accepting them. Set the cap per campaign, not per intention.

Section 11

Sell-By-Chat Framework

Settle who presses send before the first reply arrives.

This is the module that turns replies into calls, and it is the one where running someone else's account changes the most.

The permission question, first

Three options. One of them goes in the contract, not agreed in a panic on day nine.

1  YOU DRAFT, THEY APPROVE
   Slowest. Safest. Right for regulated clients and for anyone
   whose personal reputation is the product.

2  YOU SEND UNDER THEIR NAME
   Needs written permission and a clear boundary on what you
   cannot say. Right for most engagements.

3  YOU HAND OFF EVERY REPLY
   They handle it. Right when the client is the product and no
   ghost-written reply survives a second message.

Never commit to price, scope or timeline on their behalf, under any of the three. If a reply asks any of those, hand it over the same day. That is a commercial decision and it is the fastest way to damage an engagement.

Classify before you draft {efficient}

Exactly one category per reply.

INTERESTED       Wants more, asks about the offer
TIMING           Interested, not now. Capture the date they named.
OBJECTION        Price, fit, incumbent, capacity
WRONG_PERSON     Not their remit. Ask who owns it.
NOT_INTERESTED   Clear no. Thank them, stop, never pitch again.
AUTO_REPLY       Out of office. Reschedule to their return date.
ESCALATE         Anything below 8 confidence

Below 8 confidence, escalate. Do not guess at tone. Sarcasm, brevity and politeness all read the same in text, and a misread reply sent under a client's name is theirs to apologise for.

Never auto-send to NOT_INTERESTED. A human closes that loop.

WRONG_PERSON is the most valuable category and the most commonly binned. Ask who owns it, and feed the answer back into the ICP file. One corrected job title is worth more than the deal you lost.

Match their register before you write

Message length     reply within roughly 20% of it
Punctuation        do they use full stops in short messages
Capitalisation     sentence case or lowercase
Formality          "Hi James," or "hey"
Emoji              if they do not, you do not

A three-line reply to a six-word message reads as eager. A six-word reply to three paragraphs reads as dismissive. Register mismatch is the most common reason a warm thread cools.

Never mirror hostility or unprofessionalism. Match energy, not behaviour.

One question, always

Count the questions in the draft. If there is more than one, pick the one whose answer changes what you do next and cut the rest.

Two questions gets you an answer to the easier one. Three gets you nothing, because now it is work.

The test for the surviving question: could they answer it in under ten words while walking? If not, it is too big for a DM and belongs on a call.

Decide IF before HOW

ASK FOR THE CALL WHEN
- They asked something needing more than 400 characters to answer
- They named a problem the client solves
- They asked about price, timeline or implementation
- Two substantive messages have gone each way

DO NOT ASK YET WHEN
- They replied with one line
- They have not named a problem
- It is still the first exchange
Ask one more question instead, one that gets them to name it.

The ask itself: name the length and the agenda. "15 minutes, three questions, no deck." Offer the link AND two concrete times, because some book and some reply. Never "let me know what works", which is decision fatigue dressed as politeness.

Under 350 characters including the link.

Tag the lead the moment a call is booked, so the sequence stops. A follow-up landing after someone has booked is the most avoidable bad impression in the system, and it is the client's name on it.

The handoff

What the client gets, per booked call, before it happens.

The original signal, dated, with the URL
The full thread, verbatim
What the prospect said the problem was, in their words
Which objection came up, if any
What you committed to, and what you deliberately did not

That last line protects both of you. A founder walking into a call not knowing what was promised is how a good lead becomes an awkward thirty minutes.

What goes in the weekly report

Reply counts are the wrong headline. The categories are the story.

Replies, split by category
Interested, as a rate of replies not of sends
Timing replies, with the dates they named
Objections, ranked by frequency
Wrong-person replies, and what the correct title turned out to be
Meetings booked, and the signal tier that produced each

The objection ranking is the most useful thing you will hand a client all month. Five weeks of it tells them what their positioning is actually up against, and almost nobody collects it.

The replies land in one place. Prosp has a unified inbox spanning every connected client account, with filters for campaign, replied and unread, so the daily classification pass runs over one queue rather than eight logins.

Add tag writes the category back against the lead, and the lead states feed the report directly: Not Contacted, In Campaign, Contacted, Not Accepted after 14 days with auto-withdraw, Replied which stops the campaign, Duplicate, Blacklist, Failed.

For the client-facing numbers, there is native HubSpot integration with field mapping, 12 webhook events including Message Replied and Connection Accepted, and a REST API at prosp.ai/api/v1/leads.

Book more meetings from your LinkedIn

Prosp finds the right prospects, writes to each one in your voice, and runs your outreach safely from the cloud. You take the calls.

Set up in 5 minutes · Your LinkedIn stays safe · Cancel anytime
Used by 800+ agencies and sales teams