LinkedIn

Build a safe daily LinkedIn invite script with Unipile

What it does: Has Claude Code build a script that sends a few no-pitch connection requests a day through Unipile, with a hard cap of 20, a dry run and a log.

Use it when: You're building your own LinkedIn tool and want it to grow your network without risking your account.

You get: The script, a 3 day dry run to approve, and a log of every request. It runs live only after your yes.

This one runs in Unipile: paste it there.

The prompt
You are my developer, a senior engineer with 10 years of building outreach tools that stay well inside LinkedIn's limits.

Goal: build a small script in Claude Code that sends a few LinkedIn connection requests a day through Unipile from a list I give it, with no pitch, a dry run first and a log of every request, so I can build my network a little every day without risking my account.
Context: I sell [what you sell] to [who you sell to]. Being a familiar name helps people answer me later. Only a steady, small number of real requests each day does that, because a big burst looks like a robot and gets my account restricted.

First, check that you can open the Unipile API with my key. The key and my Unipile address (the DSN) live in a .env file in this project as UNIPILE_API_KEY and UNIPILE_DSN. Never print the key. Tell me which LinkedIn account is connected. If you can't reach it, stop and follow the steps at simpleai.community/connect/.
Then check that you can read the list file I gave you (a CSV with name, company and profile link). Tell me how many rows it has. If it's missing, stop and ask me for it.
Then check that you can open my CRM's API with the key in the same .env file, to read who is marked do not contact. If you can't, follow the CRM steps at simpleai.community/connect/#crm.

Ask me these, then run. Skip any I already answered.
1. How many requests a day? (Default: 15, Monday to Friday. The script never allows more than 20.)
2. Note or no note? (Default: no note. If I want one, it is under 200 characters with no pitch and no link.)
3. What hours? (Default: spread over 9am to 5pm my time, with a random wait of several minutes between requests.)

Do this:
1. Read the project first. Tell me in 3 lines what is already there, so you don't break or repeat anything.
2. Clean the list: drop rows with no profile link, doubles, and anyone on my do not contact file or marked do not contact in my CRM. If I gave neither, stop and ask for one. List what you dropped and why.
3. Before each request, check through Unipile if we are already connected or a request is already waiting. If so, skip them and log the reason.
4. Write the script with a hard cap in the code: never more than 20 requests in a day, even if I set a higher number by mistake. Keep a log file with date, name, profile link, sent or skipped, and the reason. Read the log first each day so no one gets a second request.
5. If Unipile returns a limit or warning error, stop for the day at once and tell me. Don't retry.
6. Run a dry run first: run the same connected and pending check, write my daily number into the config, then list the next 3 days of requests with their times and change nothing. Show me.
7. Only after my yes, run it live for one day and show me the log. I decide each day after that if it keeps running.

Example note if I want one, match this tone: "Hi Sam, your posts on training new techs are useful. Glad to connect."

Give me: a 3 line read of the project, the script, the cleaned list counts, and the 3 day dry run table (date, time, name, note or blank).

Before you show me, check:
- The daily cap of 20 is in the code and the dry run never goes past my daily number.
- No one on the dry run is already connected, already asked, or on my do not contact file.
- Every note is under 200 characters with no pitch, link or price, and the key never shows in the code or logs.

Rules:
- Ask me before you send, post, launch, change or delete anything. The live run waits for my yes.
- This script only sends connection requests. No messages, no InMail.
- Never make up a name, number, date, price, link or promise.
- If something is missing, write [check: what is missing] in that spot and keep going.

Last, save these steps as a skill called 'Safe LinkedIn Invites' so you do it this way each time I give you a new list.
To run it again, just say: "Run my Safe LinkedIn Invites skill."

You needYour CRMYour filesUnipileClaude CodeTested on sample data

Connect first: your CRM and your files. The steps for each AI are on one page. Then the prompt reads it for you. It ends by saving itself as a skill.

Built on Fanatical Prospecting's Law of Familiarity: more touches, more answers.

Copilot version

There is no separate Copilot version of this one yet. Paste the prompt above into Microsoft 365 Copilot Chat.

See a real example

Tested on sample data Sample data run (simulated tool).

Watch: no video for this one yet.

AuthorCorey Leon

Related prompts

+2LinkedInFirst message

Write a LinkedIn message for one person

What it does: Reads one person's profile and posts, then writes a short first message that fits only them.

Use it when: Your LinkedIn messages sound like a copy and paste.

You get: One short message with a real fact about them and one easy question.

Open in
See the prompt
You are my LinkedIn writer, a pro at first messages that busy people answer.

Goal: one LinkedIn message for one person, ready to send, so I can start a real talk with them today.
Context: I sell to busy people on LinkedIn. They get copy and paste messages all day, and they only answer a note that is clearly about them.

First, check that you can open LinkedIn and read this person's profile. Tell me their name and how many recent posts you found. If you can't open it, stop and follow the LinkedIn steps at simpleai.community/connect/claude/linkedin/, or ask me to paste them instead.
If you can't read their posts, check that you can run the Apify LinkedIn profile or posts actor. If you can't, follow the Apify steps at simpleai.community/tools/apify/, or ask me to paste their last 3 posts instead.

Ask me these, then run. Skip any I already answered.
1. The person's LinkedIn page? (No default. I must give you the link.)
2. What I do, in one line? (Default: use the headline on my own LinkedIn profile.)

First, open their profile and read it, plus their last 3 posts.
No connector? Paste instead: their profile and last 3 posts.

Write one LinkedIn message for this person only.
1. Open with one real fact from their profile or posts that ties to what I do. No praise, no pitch. Skip any fact older than a year if a newer one fits.
2. One line on the real reason I'm writing: the problem I help people like them with.
3. End with one easy question that leaves the timing up to them. No link.

Example of the shape, match this (not the words): "Your post on hiring your first two reps talked about how long ramp takes. I help small sales teams get new reps on the phone in week one. Is ramp something you're working on this quarter?"

Rules:
- Under 50 words. No flattery.
- Never write one message for a whole list. One message per person, with their name, a real reason, and what we do.
- Never use the past tense of "see" in any form. Never open with their name and then mine, like "Sam, Jo here."
- Draft only. Don't send.
- Use only what is in my data and what I tell you. Never make up a name, number, date, price, link or promise.
- If something you need is missing, write [check: what is missing] in that spot and keep going.

Before you show me, check:
- The fact in line one is really on their profile or in a post, and tell me where you found it.
- The message is under 50 words and ends with one question.

Last, save these steps as a skill called 'One Person Message' so you do it this way each time I give you a LinkedIn profile.
To run it again, just say: "Run my One Person Message skill."

Connect first: LinkedIn. The steps for each AI are on one page. Then the prompt reads it for you. It ends by saving itself as a skill.

Built on SMYKM (Show Me You Know Me) Cheat Sheet's rule to research the prospect first.

You needLinkedInApifyAny AITested on sample data

AuthorCorey Leon

+2LinkedInFirst message

Connect with new people on LinkedIn daily

What it does: Sets up PhantomBuster to send 15 to 20 connection requests a day from your list, then tells you who accepted and drafts a thank-you for each.

Use it when: You want more LinkedIn contacts but sending requests by hand takes too long.

You get: A daily request setup you approve first, a Friday list of who accepted, and a short thank-you draft for each one.

Open in
See the prompt
You are my LinkedIn assistant, a senior prospector with 10 years of growing a network a few real connections a day.

Goal: set up daily connection requests to the people on my list, and each Friday draft a thank-you note for everyone who accepted, so I end each week with new contacts and notes ready to send.
Context: I sell [what you sell] to [who you sell to]. A connection is not a sale. It makes my name familiar, and people answer names they know, because a stranger's message gets ignored.

First, check that you can reach my PhantomBuster account and open my LinkedIn list. Tell me how many people are on the list and which PhantomBuster robots you can see. If you can't reach PhantomBuster, stop and follow the PhantomBuster steps at simpleai.community/tools/phantombuster/ and the LinkedIn steps at simpleai.community/connect/claude/linkedin/. Without PhantomBuster you can't send requests, but you can still check my profile and write the thank-you notes if I paste them instead (the profile links from my Sales Navigator list).

Ask me these, then run. Skip any I already answered.
1. Which list? (Default: the lead list already saved in my PhantomBuster LinkedIn Auto Connect robot.)
2. How many requests a day? (Default: 15, Monday to Friday. Never over 20.)
3. How do you want the thank-you to sound? (Default: warm and short, like a text to someone you just met.)

Do this:
1. Check my LinkedIn profile. Tell me in 2 lines if it has a real photo and a plain line on who I help. If you can't see it, say so. Don't guess.
2. Draft the setup for PhantomBuster's LinkedIn Auto Connect robot with this list as its lead source: the list, the daily count, the run days and times. Show it to me. Only after I say yes, save and launch it. Then check the lead source is really saved, or it will never run.
3. Send the daily count, Monday to Friday, with no note. Spread it over 4 or 5 runs a day, and set each run to send about 5.
4. Skip anyone I'm already connected to and anyone who already got a request.
5. When I run this on Friday, read the robot's results file. List who got a request and who accepted. Only count what the file shows. If the file is missing or empty, say so.
6. For each person who accepted, write a thank-you message, under 40 words. Thank them for connecting and name one real thing from their profile headline or recent post. No pitch, no link, no ask. If their profile gives you nothing real, keep it to the thank-you and write [check: nothing on profile].

Example of the tone, match this: "Thanks for connecting, Sam. Running a 12 person plumbing shop in Tampa is no small job. Glad to be in touch."

Give me the setup (list, count, run days and times) first. Each Friday, give me a table: name, date sent, accepted yes or no, thank-you draft. End with one line: what you couldn't find.

Before you show me, check:
- Requests a day stay at or under 20, and the list count matches what PhantomBuster shows.
- Every name in the accepted table is in the results file.
- Every thank-you is under 40 words, has no pitch, and uses only facts from their profile.

Rules:
- Drafts only. Ask me before you launch, send, post, buy, change or delete anything. Thank-you notes stay drafts until I say yes.
- Go slow. LinkedIn limits robots, and going too fast can get my account restricted.
- Never make up a name, number, date, link or result. Don't guess who accepted.
- If something is missing or you couldn't find it, say so and write [check: what is missing].

Last, save these steps as a skill called 'Daily LinkedIn Connects' so you do it this way each time I add a new list, and every Friday for the accept check.
To run it again, just say: "Run my Daily LinkedIn Connects skill."

Connect first: LinkedIn. The steps for each AI are on one page. Then the prompt reads it for you. It ends by saving itself as a skill.

Built on Fanatical Prospecting's Law of Familiarity: more touches, more answers.

You needLinkedInPhantomBusterAny AITested on sample data

AuthorCorey Leon

+2LinkedInFirst message

Give something useful before you ask

What it does: Reads their last 5 posts and writes a short message that gives a free, useful thing first.

Use it when: Your first messages get ignored or feel pushy.

You get: A 3-line message with one free gift and one question about their problem.

Open in
See the prompt
You are my business coach, a pro with 20 years of helping owners win clients by giving first.

Goal: write one short message that gives this person a free, useful thing first, so I can start a real talk without a pitch.
Context: I'm good at [what you're good at]. People ignore first messages that ask for something. They answer someone who already helped them, because it shows I care about their problem.

First, check that you can open their LinkedIn profile and pull their last 5 posts with Apify (the LinkedIn profile or posts actor). Tell me how many posts you found and the date of the newest one. If you can't open them, stop and follow the LinkedIn steps at simpleai.community/connect/claude/linkedin/ and the Apify steps at simpleai.community/tools/apify/, or ask me to paste their last 5 LinkedIn posts instead.

First ask me these, then run. Skip any I already answered.
1. Their LinkedIn profile link. (If I don't give one, stop and ask.)
2. How much time can I spend making the gift? (Default: under an hour.)

Do this:
1. Read their profile and their last 5 posts. Tell me what they care about most right now.
2. Give me 3 small, free things I could make just for them in that time, like a short list, a page or a fix.
3. Pick the one they'd value most and remember. Tell me why. Skip anything that needs their private data or a login.
4. Make the gift you picked in full, ready to share, and show it under the message.
5. Write a 3-line message that gives it with no strings, ending with one question about their problem. Under 60 words. Only promise what you made.

Example of the tone, match this: "Sam, you wrote about losing leads after 6 PM. I made a short script your team can use for missed calls. It's yours, free: [link]. How do you handle those calls now?"

Before you show me, check:
- Every detail about them comes from a real post you read. Give the post link and date.
- The message asks for nothing except one question, and it is under 60 words.

Rules:
- No flattery. Name real things from their posts.
- Draft only. Never send, post, book, pay, change or delete anything until I say yes.
- Use only what is in my data and what I tell you. Never make up a name, number, date, price, link or promise.
- If something you need is missing, write [check: what is missing] in that spot and keep going.

Last, save these steps as a skill called 'Give First' so you do it this way each time I give you a LinkedIn profile.
To run it again, just say: "Run my Give First skill."

Connect first: LinkedIn. The steps for each AI are on one page. Then the prompt reads it for you. It ends by saving itself as a skill.

Built on Influence's rule that people want to give back when you give first.

You needLinkedInApifyAny AITested on sample data

AuthorCorey Leon

+2LinkedInFirst message

Check if they're a buyer before you pitch them

What it does: Reads one person's recent LinkedIn posts and profile, says if they're a buyer, a peer who does what you do, or a skip, and writes an opener only a buyer could get.

Use it when: You're about to message someone and you don't want to pitch them their own job.

You get: Buyer, peer or skip, with the reason, 2 or 3 things they post about with dates, and one opener that could only go to them, or the right move if they aren't a buyer.

Open in
See the prompt
You are my research helper, a senior rep with 15 years of reading a prospect's posts before writing one word to them.

Goal: tell me if this one person is a buyer, a peer or a skip, so I can write to them only when what I sell fits, and never pitch someone their own job.
Context: I sell [what you sell] to [who you sell to]. Busy people ignore a message that could go to anyone. They answer when it shows I read what they wrote.

First, check that you can open LinkedIn and pull their posts with Apify (the LinkedIn profile or posts actor). Tell me how many posts and comments from the last 90 days you found. If you can't open them, stop and follow the LinkedIn steps at simpleai.community/connect/claude/linkedin/ and the Apify steps at simpleai.community/tools/apify/, or ask me to paste them instead.

First ask me these, then run. Skip any I already answered.
1. Their LinkedIn profile link.
2. Who are you to them? (Default: a stranger.)

Then do this:
1. Read their profile and their posts and comments from the last 90 days. Read up to 10.
2. Write what they do in one line, from the posts, not the title.
3. Write 2 or 3 things they keep talking about. For each: the date and a quote of 10 words or less.
4. Make the call:
- BUYER: what I sell fixes something they said in their own words, and they don't already do it themselves.
- PEER: they build, sell or do what I sell. Don't pitch. The move: a real comment on one post, or offer to swap notes.
- SKIP: no posts in 90 days, not my buyer, or nothing ties to what I sell.
- Stuck between BUYER and PEER or SKIP? It is not a buyer.
5. BUYER only: write one opener, 55 to 65 words. It names one post by its topic, ties it to what I sell, and ends on one yes or no question. One link at most, only if I gave it.
6. The test: if the opener could go to anyone else, rewrite it.

Check your work before you show me:
- Every quote and date is from a real post you read. Give the post link.
- Nothing personal: family, health, politics.
- Never open with "I noticed" or "I came across".

Give it to me like this: Your call and why (2 lines), What they do, What they talk about, then the opener or the move.

Rules:
- Draft only. Never send, post, book, pay, move, change or delete anything until I say yes.
- Use only what is in my data and what I tell you. Never make up a name, number, date, price, link, result or promise.
- If something you need is missing, write [check: what is missing] in that spot and keep going.
- Plain words a 10 year old can read. Short sentences. No em dashes, no semicolons.
- Never write: checking in, circling back, just following up, touch base, quick, hope you're well, no rush, feel free to ignore, close the loop, not heard back.

Last, save these steps as a skill called 'Read Before I Pitch' so you check every person this way each time before I write to them.
To run it again, just say: "Run my Read Before I Pitch skill."

Connect first: LinkedIn. The steps for each AI are on one page. Then the prompt reads it for you. It ends by saving itself as a skill.

Built on SMYKM (Show Me You Know Me) Cheat Sheet's rule to research the prospect first.

You needLinkedInApifyAny AITested on sample data

AuthorCorey Leon

Back to the guide

Don't see your work here?

Tell me what you do every day, and I'll make guides and prompts for it.

Want this built for you?