Skip to content

LinkedIn outreach with Claude or ChatGPT: cold messages, and the replies that get lost

Tulina

Nearly every guide to cold messaging on LinkedIn is about the first message: a hook, a template, a short ask. Those guides matter, and this one covers that part too. But the guides that show Claude or ChatGPT doing LinkedIn outreach stop where outreach usually fails. A Reddit thread from a team that tried it with a full Claude setup names the breaking points in its own title: tracking conversations and managing follow-ups.

This page covers both halves. First, how to write the message with an assistant and send it within LinkedIn's rules. Then, how to make sure no reply sits unanswered, which is the half where an assistant connected to your inbox earns its keep.

Every LinkedIn rule quoted below was read on LinkedIn's own help pages and User Agreement on 23 October 2026.

Is it appropriate to cold message on LinkedIn?

Yes, if the message is relevant to the person, short, and sent by you. LinkedIn sells InMail precisely so members can write to people they are not connected to. What LinkedIn objects to is volume and automation, not a stranger writing. Its help page on invitation limits asks for "fewer and more thoughtful invitations".

Whether you can send the message at all depends on your account. LinkedIn's InMail help page says a Basic (free) account "can only directly message LinkedIn members that you're connected to". Messaging anyone else takes InMail, a Premium feature with a fixed number of credits per subscription. You get a credit back when the recipient accepts your InMail. A member can also turn InMail off, and then you cannot message them this way.

So on a free account, a cold message really means a connection request first, and the note on that request is rationed. LinkedIn's own help pages disagree on how tightly. The invitation limits page says free members can add a personalized message to five connection requests a month. The more recently updated page on personalizing invitations says "up to three connection requests per month", at up to 200 characters each. Premium members get unlimited notes, and another help page puts their limit at 300 characters each. Either way, the first message on a free account is usually a blank invitation, and the real message goes out once the person accepts.

How do you write a LinkedIn cold message with Claude or ChatGPT?

Give the assistant the person's profile, one true reason you are writing, and hard limits on length and tone. Then edit the result and send it yourself. The quality comes from the reason you supply. An assistant asked to "personalize" with nothing to go on will invent a compliment, and people can tell.

Here is the routine by hand. It needs nothing but a chat window and your own LinkedIn account:

  1. Pick the reason before the person. A post they wrote, a hire their company announced, a problem your product fixes that their role owns. No reason, no message: move on to the next person.
  2. Copy the profile text (headline, current role, About, the last post or two) into the chat. Your assistant cannot open LinkedIn on its own in a plain chat, and a profile URL alone gives it nothing.
  3. Paste the prompt below, with your offer and the reason filled in.
  4. Check every fact in the draft against the profile. Delete anything you cannot point to.
  5. Send it yourself, from LinkedIn: as an invitation note if you have notes left this month, otherwise as the first message after they accept.
  6. Write down who you contacted and when, in a spreadsheet if nothing else. Step 6 is the one everyone skips, and the reason replies get lost (more on that below).
You are drafting one LinkedIn message for me to send myself.

About me: [one line on what you do and for whom].
Why I'm writing to this person: [the one true reason: their post,
their company's news, a problem their role owns].
Their profile: [paste headline, current role, About, recent post].

Rules:
- 200 characters at most if it's an invitation note (300 on Premium),
  3 short sentences at most if it's a message.
- Open on their first name. No "I hope this finds you well", no
  flattery, no signature.
- Use only facts from the profile text above. If you'd need a fact
  that isn't there, leave it out rather than guessing.
- One ask, answerable in a few words. No calendar link in a first
  message.
- Write in the language of their profile.

Give me two versions: one that asks a question about their work, one
that offers something specific I can send them.

The character limits in the prompt are the ones LinkedIn's help pages give for invitation notes. Check them in your own invitation dialog, since LinkedIn changes these fields without notice. The "only facts from the profile" rule is what stops the invented compliment.

What a chat assistant can do here depends on what it is connected to:

Plain chatAssistant driving a browserAssistant with a LinkedIn connector
Reads a profileOnly what you pasteYes, by opening the pageYes, through the connector
Reads your inboxNoYes, by scrolling itYes, thread by thread, with sender ids
SendsNo, you paste itYes, by clicking, in your sessionYes, through the connector, as you
Remembers who repliedNoNot across runs unless it writes it downOnly if the run keeps a log
Under LinkedIn's automation ruleNo sending, so noYes, when it sendsYes, when it sends

Is it better to cold email or cold LinkedIn?

Neither is better in general. They reach people differently, and most teams use both on the same person. LinkedIn needs no email address and shows who you are. Email reaches people who rarely open LinkedIn, and can be sent at volume within the email rules, which LinkedIn messages cannot be.

Cold LinkedIn messageCold email
What you need firstA connection, or InMail (Premium)A working address, often from an enrichment tool
Who you appear asYour profile, photo and shared connectionsA name and a domain
Volume ceilingLinkedIn's unpublished invitation limits; automation is against its User AgreementYour sending domain's reputation
Personalized first touch on a free accountA few invitation notes a month (LinkedIn's pages say three or five)Unlimited
Where the reply landsLinkedIn's inbox, mixed with recruiters and congratulationsYour mailbox, where you already work

The last row matters more than it looks. An email reply lands where you already work. A LinkedIn reply lands in an inbox you open on your phone between meetings, and that is where the next section starts.

Why do LinkedIn outreach replies get lost?

LinkedIn replies get lost because the inbox has no idea whose turn it is. It sorts threads by recency and marks them read the moment you open them, on any device. A prospect who writes "sounds interesting, tell me more" on Tuesday is six threads down by Thursday, under a recruiter and two work anniversaries, already marked read, and still unanswered.

The obvious fix is to have an assistant read the inbox and list the threads waiting on you. That fix fails in two ways we have seen while building our own version.

The unread count reads zero on a thread you opened on your phone and never answered. That is exactly the thread you want to catch, so the count cannot decide anything.

The "sent by me" flag LinkedIn returns on each message cannot be trusted either. On 3 September 2026, on one connected account, it read false on every thread. That included the 22 threads where the account itself had written the last message. An assistant that trusted the flag would report that every single thread was waiting on a reply.

What works is comparing the sender id of each thread's last message with your own account id. If they differ, the other person wrote last and the thread is waiting on you. That one comparison is the core of the process in the next section.

How do you run LinkedIn outreach from Claude or ChatGPT?

With Tulina, Claude or ChatGPT reads your own LinkedIn inbox through a connector, keeps the threads where the other person wrote last, and drafts a reply to each one in your style. The drafts arrive in a Slack direct message four times a day. Nothing is sent on LinkedIn: you copy the draft, edit it or ignore it, and answer yourself.

The LinkedIn session runs on a hosted browser operated by Unipile, Tulina's LinkedIn provider. There is no cookie to paste and no extension to install. Once the LinkedIn connector and Slack are connected, paste this:

Find every LinkedIn conversation where the other person wrote last,
and draft my replies. Never send anything on LinkedIn.

1. Read my own LinkedIn profile ("me") and keep my provider id.
2. List my LinkedIn conversations, 20 a page, newest first. Stop at the
   first page older than the watermark in my log table. With no
   watermark, read the last 50 threads only. Never more than 200.
3. Keep a thread only when its last message's sender id is not mine.
   Ignore the "is sender" flag and the unread count.
4. Read each kept thread in full and classify it: refusal, question,
   interest, off-topic, or other.
5. Draft a reply of one to three sentences in my style, opening on
   their first name, ending on a question or a link, in the thread's
   language. For a lukewarm "why not", check their company first and
   give me two variants built on one concrete deliverable.
6. Send me one Slack DM: name, headline, profile link, their last
   message and the draft, per thread. If nothing is waiting, say so in
   one line.
7. Log each delivered thread with the exact draft, then move the
   watermark to the newest message seen.

The process behind that prompt, with every step and the tools it uses:

The process in Tulina

Reply to every LinkedIn conversation

Trigger · Schedule

Daily schedule, four passes

Four times a day the run picks up every message that arrived since the last pass, never a fixed depth of history.

Claude runs the rest autonomously

  1. 1

    AI pages the inbox back to the last pass.

    LinkedIn

    LinkedIn

    Threads come back newest first, page by page, until a page falls behind the point the last pass reached.

  2. 2

    AI keeps threads where they wrote last.check

    LinkedIn

    LinkedIn

    A thread is kept when the last message came from the other person, judged on the sender rather than on the read status.

  3. 3

    AI reads and classifies each thread.

    The whole conversation is read and each one is sorted into a refusal, a question, interest, off-topic or other.

  4. only when a lukewarm reply from someone who runs a company
  5. 4

    AI qualifies the sender's company first.

    INSEE Sirene

    INSEE Sirene

    The company's registry record and its own page give its size, trend and directors, matched to the person before any of it is used.

    INPI

    INPI

    LinkedIn

    LinkedIn

  6. 5

    AI drafts a reply in your style.

    Each thread gets a short reply in your own voice, and a lukewarm one gets two variants built on one concrete deliverable.

  7. 6

    AI delivers each draft in a direct message.

    Slack

    Slack

    You get the name, profile link, last message and draft for every waiting thread, or one line saying nothing is waiting.

  8. 7

    AI logs each thread, moves the watermark.

    Every delivered thread is logged with its exact draft, and the marker moves forward so the next pass starts where this one stopped.

  9. Send the reply yourself. A person steps in here.handover

    You copy, edit or ignore the draft and answer in the thread yourself, since the run never sends a message.

  10. 9

    AI learns from what you actually sent.

    LinkedIn

    LinkedIn

    Later passes compare the reply you sent with the draft, and a style rule changes only when three of those differences agree.

See the full process

A few of the process's choices come straight from running it. Pages are 20 threads because larger pages have been refused outright on real accounts. The watermark only moves after the Slack message goes out, so a pass that fails to deliver leaves the same threads for the next one. An empty pass still sends one line, because silence looks exactly like a broken run. And the drafts learn from what you actually send: a style rule changes only once three of your edits point the same way.

Where the assistant runs changes what LinkedIn can see, not whose account it is. Claude in Chrome works inside your own browser, with your logins. ChatGPT agent works in its own virtual browser. A connector like Tulina's acts through a hosted session. In all three cases it is your account sending, and your account that takes any restriction.

FIG. 01 An assistant can reach LinkedIn from your own browser, from an app on your machine, or from a remote server, as with ChatGPT agent's virtual browser or a connector's hosted session. All three speak as the same LinkedIn account, so the choice changes what LinkedIn can observe, never whose account answers for what gets sent.

How many LinkedIn messages can you send a day?

LinkedIn's help pages give no daily or weekly number for invitations or messages. The invitation limits page says every member, Basic or Premium, is subject to invitation limits. If you hit one, "your account may be temporarily restricted from sending invitations. This restriction typically lasts one week." The same page says LinkedIn "cannot remove or shorten the wait period".

The figures quoted on tool vendors' blogs are their own estimates. Since the real limit is unpublished and varies by account, a fixed daily target is the wrong design. A budget that starts small and climbs only on the account's own evidence is the right one. LinkedIn automation tools: which kind is safer walks through that ladder step by step, and run LinkedIn outreach at a safe pace is the process that runs it.

FIG. 02 A daily invitation budget that climbs one step at a time, and only after a week of clean evidence at each level. On a limit warning it drops a step and holds there. LinkedIn publishes no limit, so the account's own acceptance and warnings are the only reliable guide to pace.

Replies are not where limits bite. Answering people who wrote to you is the most ordinary thing you can do on LinkedIn, which is one more reason the reply half is the safe half to hand to an assistant.

What Claude or ChatGPT can't do for LinkedIn outreach

  • Make automated sending allowed. Section 8.2 of LinkedIn's User Agreement bars using "bots or other unauthorized automated methods to access the Services, add or download contacts, send or redirect messages". It makes no exception for AI assistants, browser extensions or connectors, and LinkedIn's help page on automated activity says the same about third-party software.
  • Know your prospect without being told. A plain chat assistant has no access to LinkedIn. Given nothing, it will invent the personalization, and an invented compliment is worse than none.
  • Message strangers on a free account. No assistant changes who your account is allowed to message. That is still connections only, or InMail on Premium.
  • Find an email address or phone number a profile does not show. That is an enrichment tool's job.
  • Hear a voice note. A reply that is only a voice message cannot be read as text. A careful run flags it and asks the person for the gist in writing, rather than guessing what was said.
  • Remember on its own. A chat does not know who you wrote to last week. Whatever runs your outreach needs a log, and a run that keeps none will message the same person twice.

Does cold messaging on LinkedIn work?

It works when the reason to write is real and someone answers the reply. We have no reply rate with a denominator behind it to offer, and a rate quoted without one (out of how many messages, sent when, to whom) tells you little. The honest levers are the two this page covers. First, a reason to write that the person would recognize as true. Second, an answer within hours when they reply, which is the part an assistant connected to your inbox does best.

For everything the LinkedIn connector can read and do, see LinkedIn for Claude and ChatGPT. For the full inbox process, see reply to every LinkedIn conversation.

See Tulina in a 30-minute demo.

Book a demo