How to run a linkedin outreach campaign with AI

Marketing & Growth3 AI tools7 steps6 friction points

Running a LinkedIn outreach campaign means identifying the right people, sending connection requests, following up with a message sequence, tracking replies, and deciding who moves forward in your pipeline. For most operator founders, it's a multi-hour weekly task that combines research, copywriting, and CRM hygiene — none of which is complicated on its own, but together they eat time that should go elsewhere.

The workflow feels like an obvious AI use case because most of the work is pattern-matching and drafting. You have a clear ICP, a message structure that works, and a list of inputs — the bottleneck is just execution volume. Writing ten variations of an outreach note, summarizing a prospect's LinkedIn profile before you message them, or deciding whether a job title fits your target — all of that looks like text in, text out.

ChatGPT, Claude, and Gemini are genuinely useful here. They write solid first-draft outreach messages, help you refine your ICP criteria into plain-English filters, and give you a framework for a follow-up sequence. Where they fall short is execution: they can't send messages, they don't track replies, they have no memory of what you sent last week, and you're pasting context in manually every single time.

Marketing & Growth3 AI tools7 steps6 friction points
AI walkthrough

How to do it with AI today

A practical walkthrough using ChatGPT, Claude, and other off-the-shelf LLMs — what they're good at, what you'll have to do by hand.

Tools that work for this
ChatGPTClaudeGemini
Step-by-step
1 Define your ICP in Claude: paste in your product description and two or three customers you've already closed, and ask it to extract the job titles, company sizes, and industries that appear most often. Use the output as your targeting filter.
2 Build a prospect list manually or from a tool like Apollo.io, then copy 10-15 profiles into ChatGPT and ask it to score each one against your ICP criteria with a brief reason. Paste the profile's headline, current role, company, and any recent posts you can grab.
3 Draft your connection request note in Claude: give it your value proposition, the prospect's role, and a constraint (under 300 characters). Iterate until you have two or three variants you'd actually send.
4 Write your follow-up sequence in ChatGPT: ask for a 3-message sequence spaced 3, 7, and 14 days after connection, each under 150 words, with a different angle per message (problem, social proof, direct ask). Save these in a doc you'll reuse.
5 Personalize at scale by pasting each prospect's LinkedIn summary and recent post activity into Claude and asking it to generate a one-sentence personalized opener to prepend to your template message.
6 Track activity in a Google Sheet or Notion database manually: log each outreach, reply status, and next step. Use ChatGPT to help you draft replies when someone responds, by pasting their message and asking for two response options.
7 Run a weekly debrief prompt in ChatGPT: paste your reply rates, common objections, and any positive responses, and ask for suggestions on which message variant to double down on and which to cut.
Prompts you can copy
Here are 3 customers I've closed: [paste names + roles + company sizes]. Based on these, write me a 5-bullet ICP definition I can use to filter LinkedIn prospects — include job title patterns, company stage, and industry.
Write a LinkedIn connection request note for a VP of Operations at a 50-person logistics company. My product helps ops teams reduce manual reporting time. Keep it under 280 characters, no buzzwords, first person.
Here's a prospect's LinkedIn summary: [paste]. Write a one-sentence personalized opener that references something specific about their background, to prepend to this template: [paste template]. Don't mention their company name directly.
Write a 3-message LinkedIn follow-up sequence for someone who accepted my connection request but hasn't replied. Message spacing: 3 days, 7 days, 14 days. Each under 150 words. Angles: lead with a problem, then social proof, then a direct ask for a 15-minute call.
I sent 40 LinkedIn messages last week. 8 people replied, 5 were positive, 3 were not interested. The most common objection was 'we already have a solution.' Suggest two ways to adjust my outreach angle and one message variant to test next week.
Reality check

Where this gets hard

The walkthrough above works — until your numbers change, the LLM hallucinates, or you have to re-paste everything next month.

No connection to your actual prospect data — you're copying LinkedIn profiles and Apollo exports by hand every time you start a session, and the volume you can process in one sitting is limited by how much you're willing to paste.
Nothing persists between sessions — the message variants you refined two weeks ago, the ICP criteria you landed on, the follow-up sequence you tested — all of it lives in a chat thread you'll struggle to find next month.
LLMs can't send, schedule, or track LinkedIn messages — every action still requires you to open LinkedIn, find the profile, copy in the AI-written text, and click send manually, which defeats most of the time savings.
Personalization at scale hits a wall fast — you can paste 10 profiles in a single prompt, but 100 prospects means 10 separate sessions, manual tracking of which profiles you've already processed, and no way to catch duplicates.
Reply tracking is entirely manual — there's no feedback loop between what the AI drafted and what actually got a response, so improving your sequence requires you to maintain a separate spreadsheet and remember to update it.
Outputs vary run to run — the tone and structure of a message Claude writes on Tuesday may differ meaningfully from what it writes on Thursday with nearly identical inputs, so your 'tested' sequence isn't as stable as it looks.

Tired of the friction?

Starch runs the whole workflow on live data — no copy-paste, no hallucinated numbers, no re-prompting next month.

See the Starch version →
Starch alternative

The same workflow on Starch

Starch is an agentic operating system. For LinkedIn outreach, that means an agent builds a persistent campaign app connected to your live LinkedIn activity, your CRM, and your inbox — so the workflow runs continuously instead of restarting every time you open a chat window.

The LinkedIn Automation starter app handles connection requests and outbound invites through browser automation on your behalf — LinkedIn sees human-paced activity, not API calls, which keeps your account off the radar of LinkedIn's rate limits.
Describe your ICP in plain English and the agent applies it as a live filter: 'send connection requests to founders and VPs of Operations at B2B SaaS companies with 10-200 employees.' No manual scoring, no copy-pasting profiles.
The CRM starter app tracks every prospect from first outreach through reply through meeting booked — connected to LinkedIn enrichment and Gmail so contact records stay current and you can ask 'who accepted a connection but hasn't replied in 10 days?' and get a real answer.
Connect Gmail as a scheduled-sync provider and Starch surfaces reply context directly in your pipeline — no switching tabs to find the thread, no manually updating deal stages after someone responds.
Message sequences live in the app, not a chat thread — you refine your follow-up copy once, the agent uses it going forward, and you can update it anytime without re-prompting from scratch.
Describe any custom surface you need in plain English: 'build me a weekly outreach report showing connection acceptance rate, reply rate by message variant, and the 10 prospects I haven't followed up with yet' — and Starch builds and runs it against live data.
Get closed-beta access →
Toolkit

Starch apps for this workflow

Pick your role

See this workflow by operator

Run run a linkedin outreach campaign on Starch

You're on the list! We'll be in touch soon.