LinkedIn outreach with Claude or ChatGPT: cold messages, and the replies that get lost
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:
- 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.
- 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.
- Paste the prompt below, with your offer and the reason filled in.
- Check every fact in the draft against the profile. Delete anything you cannot point to.
- Send it yourself, from LinkedIn: as an invitation note if you have notes left this month, otherwise as the first message after they accept.
- 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 chat | Assistant driving a browser | Assistant with a LinkedIn connector | |
|---|---|---|---|
| Reads a profile | Only what you paste | Yes, by opening the page | Yes, through the connector |
| Reads your inbox | No | Yes, by scrolling it | Yes, thread by thread, with sender ids |
| Sends | No, you paste it | Yes, by clicking, in your session | Yes, through the connector, as you |
| Remembers who replied | No | Not across runs unless it writes it down | Only if the run keeps a log |
| Under LinkedIn's automation rule | No sending, so no | Yes, when it sends | Yes, 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 message | Cold email | |
|---|---|---|
| What you need first | A connection, or InMail (Premium) | A working address, often from an enrichment tool |
| Who you appear as | Your profile, photo and shared connections | A name and a domain |
| Volume ceiling | LinkedIn's unpublished invitation limits; automation is against its User Agreement | Your sending domain's reputation |
| Personalized first touch on a free account | A few invitation notes a month (LinkedIn's pages say three or five) | Unlimited |
| Where the reply lands | LinkedIn's inbox, mixed with recruiters and congratulations | Your 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:
Le processus dans Tulina
Répondre à chaque conversation LinkedIn
Déclencheur · Planifié
Planification quotidienne, quatre passages
Quatre fois par jour l'exécution reprend chaque message arrivé depuis le dernier passage, jamais une profondeur d'historique fixe.
Claude exécute la suite en autonomie
- 1
Remonter la messagerie jusqu'au dernier passage
LinkedInLinkedIn
Les fils reviennent du plus récent au plus ancien, page par page, jusqu'à ce qu'une page passe sous le point atteint au passage précédent.
- 2
Garder les fils où l'autre a écrit en derniercontrôle
LinkedInLinkedIn
Un fil est gardé quand le dernier message vient de l'autre personne, jugé sur l'expéditeur plutôt que sur le statut de lecture.
- 3
Lire et classer chaque fil
La conversation entière est lue et chacune est rangée en refus, question, intérêt, hors sujet ou autre.
- only when une réponse tiède de quelqu'un qui dirige une entreprise
- 4
Qualifier d'abord l'entreprise de l'expéditeur
INSEE SireneINSEE Sirene
La fiche de l'entreprise au registre et sa propre page donnent sa taille, sa tendance et ses dirigeants, rapprochés de la personne avant tout usage.
INPIINPI
LinkedInLinkedIn
- 5
Rédiger une réponse dans votre style
Chaque fil reçoit une réponse courte dans votre propre voix, et un fil tiède reçoit deux variantes construites sur un livrable concret.
- 6
Livrer chaque brouillon en message direct
SlackSlack
Vous recevez le nom, le lien du profil, le dernier message et le brouillon de chaque fil en attente, ou une ligne disant que rien n'attend.
- 7
Tracer chaque fil, avancer le filigrane
Chaque fil livré est tracé avec son brouillon exact, et le repère avance pour que le passage suivant reparte là où celui-ci s'est arrêté.
Envoyer la réponse vous-même. Une personne intervient ici.relais
Vous copiez, modifiez ou ignorez le brouillon et répondez vous-même dans le fil, puisque l'exécution n'envoie jamais de message.
- 9
Apprendre de ce que vous avez vraiment envoyé
LinkedInLinkedIn
Les passages suivants comparent la réponse envoyée au brouillon, et une règle de style ne change que lorsque trois de ces écarts concordent.
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.
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.
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.