Modern Creator
Bo Sar · YouTube

Claude Code Turned My LinkedIn Into a Lead Gen Machine

A 42-minute live build showing how Claude Code orchestrates Vayne, Apify, and LinkedHelper into a personalized B2B outreach pipeline.

Posted
2 months ago
Duration
Format
Tutorial
educational
Views
7.5K
201 likes
Big Idea

The argument in one line.

Claude Code works as the intelligence layer in a LinkedIn outreach stack precisely because specialized tools handle the platform-risky scraping and delivery steps that would get a direct-API approach banned.

Who This Is For

Read if. Skip if.

READ IF YOU ARE…
  • You run B2B outreach and want to move beyond generic connection requests that get ignored.
  • You use LinkedIn Sales Navigator but personalization at scale has been a manual bottleneck.
  • You are building Claude Code skills and want a real multi-API orchestration example to study.
  • You run an agency or solo practice and need consistent outreach volume without hiring an SDR.
SKIP IF…
  • You are not doing cold B2B outreach -- this pipeline is purpose-built for it.
  • You want organic LinkedIn growth through content, not outbound campaigns.
  • LinkedIn automation ethics or account-risk tolerance is a hard stop for you.
TL;DR

The full version, fast.

Most LinkedIn outreach fails because it sounds automated even when it is not. This tutorial builds a five-tool pipeline: Sales Navigator provides the filtered lead list, Vayne.io scrapes it into a CSV, Apify pulls each lead recent posts, Claude Sonnet writes a sub-200-character connection note referencing real post activity, and LinkedHelper delivers the campaign using simulated browser behavior instead of a detectable headless bot. The whole stack costs roughly $1-3 per 1,000 leads in API fees, and Claude Code acts as the orchestration layer calling each API in sequence and outputting a ready-to-import CSV.

Free for members

Chat with this breakdown — free.

Sign in and you get 23 free chat messages on us — ask for the hook, quote a framework, find the exact transcript moment, generate a markdown action plan. Bring your own key when you want unlimited.

Create a free account →
Chapters

Where the time goes.

00:0000:44

01 · Why LinkedIn Outreach Fails

Generic connection requests get ignored; personalization at scale via Claude Code is the premise

00:4402:12

02 · Pipeline Overview

Five-step architecture: Sales Navigator, Vayne, Apify, Claude, LinkedHelper

02:1202:24

03 · Building Skills Live

Commitment to show the build process rather than just the finished skill

02:2404:06

04 · Profile Optimization First

Active LinkedIn profile, SSI score 70+, post at least once every 3 days

04:0605:59

05 · Niche, ICP and Offer

Define ICP, pain points with numbers, and a guarantee-backed offer before building

05:5909:11

06 · Sales Navigator Filters

Job title, headcount, geography, industry, and Posted on LinkedIn filters

09:1113:02

07 · Scraping with Vayne

Vayne.io scrapes Sales Navigator search URLs into CSV, auto-splits batches over 2,500

13:0214:40

08 · Why Use Separate Tools

LinkedIn detects headless bots; specialized tools handle risk; Claude handles intelligence

14:4016:12

09 · Apify Post Scraping

Apify scrapes 5-10 recent posts per lead for $1-3 per 1,000 leads

16:1219:16

10 · Creating the Skill

Brain-dump to Claude Code triggers plan mode; skill covers Vayne API, Apify, and Claude Sonnet note generator

19:1622:07

11 · Personalization Guidelines

Under 200 chars, no em dashes, no generic openers, reference specific post content

22:0724:31

12 · Linked Helper Overview

Chrome extension using real browser session; Pro tier $45/mo; anti-detection built in

24:3127:52

13 · Plan Review and API Keys

Review Claude Code plan, answer clarifying questions, provide API keys

27:5229:54

14 · Testing the Pipeline

10-lead test batch; $0.06 Apify cost; all notes under 200 chars

29:5431:30

15 · Reviewing Connection Notes

Live review confirms notes are human-sounding and follow all style guidelines

31:3036:52

16 · Campaign Setup

Import CSV to LinkedHelper, install custom variable for connection note, configure follow-up sequence

36:5240:11

17 · Campaign Workflow Breakdown

Follow, warm-up likes/comments, personalized invite, two follow-ups if no reply

40:1141:25

18 · Launching the Campaign

Campaign goes live; LinkedHelper simulates organic browsing with delays

41:2541:52

19 · Wrap-Up

Subscribe CTA; audience question about future video format

Atomic Insights

Lines worth screenshotting.

  • LinkedIn detects headless browsers by their automation fingerprints -- use a Chrome extension like LinkedHelper instead or risk a permanent account ban.
  • The Posted on LinkedIn filter in Sales Navigator targets only active accounts, dramatically increasing reply rates compared to filtering by title alone.
  • Claude Code does not replace specialized scraping tools -- it orchestrates them, because LinkedIn walled-garden APIs make direct scraping a ban risk.
  • Personalized connection notes under 200 characters that reference a specific post outperform generic icebreakers with zero additional effort per lead.
  • Vayne.io auto-splits Sales Navigator searches over 2,500 results into multiple orders so you do not need to manually slice filters to stay under limits.
  • A winning B2B outreach offer needs three components: free value, a risk-removing guarantee, and a time-bound proof window.
  • A LinkedIn SSI score below 60 limits outreach to 150 invitation requests per week -- fix it before running any automation.
  • The full personalization pipeline costs about $0.06 for 10 leads on Apify alone, making cost-per-personalized-message negligible at scale.
  • Follow-up messages after connection acceptance should ask a problem-focused question, not pitch -- the goal is starting a conversation, not closing a sale.
  • Knowing a skill exists and knowing how to build it yourself are different competencies; the latter lets you adapt the tool to every new niche.
  • Automatically canceling pending invitations older than 30 days keeps your pending count under 1,000, which LinkedIn uses as an account health signal.
  • The architecture principle is simple: risky platform interactions go to specialized tools; intelligence and orchestration go to Claude Code.
Takeaway

Five tools, one pipeline, no bots that get you banned.

WHAT TO LEARN

Personalized outreach at scale works when each tool in the stack handles only the risk layer it was built for.

01Why LinkedIn Outreach Fails
  • Generic connection requests get ignored because they signal automation, not relevance -- the recipient has no reason to believe the sender read anything about them.
02Pipeline Overview
  • The five-tool architecture separates concerns deliberately: Sales Navigator for targeting, Vayne and Apify for data extraction, Claude for intelligence, LinkedHelper for delivery.
04Profile Optimization First
  • An SSI score below 60 limits weekly invitation requests to 150 -- fix the profile before running automation or the volume ceiling defeats the purpose.
  • Posting at least once every three days keeps the account from being deprioritized by LinkedIn, which affects both content reach and how recipients perceive the profile.
05Niche, ICP and Offer
  • A winning cold outreach offer needs three components: a specific deliverable, a risk-removing guarantee, and a time-bound proof window to create urgency.
  • Quantifying pain points in the ICP definition -- hours per hire, ghosting rate, dollars lost annually -- makes the offer more credible and the personalization more targeted.
06Sales Navigator Filters
  • The Posted on LinkedIn filter is the most important single filter because it restricts the list to people who are active and likely to respond.
07Scraping with Vayne
  • Vayne.io auto-splits searches over 2,500 results into sequential orders, meaning you can target the full United States without manually slicing the search by state.
08Why Use Separate Tools
  • Routing all automation through Claude Code directly would require calling LinkedIn APIs that are heavily restricted, risking account bans -- specialized tools absorb that platform risk.
09Apify Post Scraping
  • Scraping five to ten recent posts per lead costs roughly $1-3 per 1,000 leads on Apify, making the personalization input negligible in cost relative to its conversion impact.
10Creating the Skill
  • Claude Code plan mode breaks a brain-dump into discrete components and surfaces clarifying questions before writing a line of code.
  • Reviewing the plan before approving execution is where you catch model assumptions that do not match your use case.
11Personalization Guidelines
  • Specific style rules in the prompt -- no em dashes, no generic openers, keep under 200 characters -- are the difference between a note that reads human and one that reads AI-generated.
  • When a lead has no relevant recent activity, the correct behavior is to skip them rather than invent a reference point.
14Testing the Pipeline
  • Testing with a 10-lead batch before running thousands verifies end-to-end API integration and output quality before spending real budget.
15Reviewing Connection Notes
  • The test output confirms style rules are being honored -- no em dashes, references to real post content, conversational tone -- and identifies patterns to correct before scaling.
16Campaign Setup
  • LinkedHelper custom variables let you inject Claude-generated text directly into the connection request template, keeping the personalization column from the CSV fully dynamic.
17Campaign Workflow Breakdown
  • The warm-up sequence -- follow the profile, then like and comment on posts before sending the invite -- creates familiarity that increases acceptance rates.
  • Automatically canceling pending invitations older than 30 days keeps the pending queue below 1,000, a threshold LinkedIn monitors as a spam signal.
18Launching the Campaign
  • LinkedHelper running in the background simulates scrolling through profiles and pausing before actions, which is the behavioral difference between a tool that survives and a headless bot that gets caught.
Glossary

Terms worth knowing.

LinkedIn Sales Navigator
LinkedIn paid prospecting tool ($120+/mo) with advanced lead filters and the ability to filter for profiles that posted in the last 30 days, making it the primary B2B lead directory in this pipeline.
Vayne.io
A third-party scraper purpose-built for LinkedIn Sales Navigator that accepts a search URL and returns a CSV of leads with names, titles, emails, and LinkedIn URLs. Priced from $29/mo for 10,000 leads.
Apify
A web scraping marketplace with pre-built actors for scraping LinkedIn profiles and posts. Used here to pull each lead five to ten most recent posts as input for Claude personalization.
LinkedHelper
A Chrome extension that controls a real LinkedIn browser session to send connection requests and follow-up messages, using randomized delays and human-like behavior patterns to avoid LinkedIn bot detection.
SSI (Social Selling Index)
LinkedIn score (0-100) measuring profile completeness, engagement quality, and network activity. Accounts below 60 face reduced weekly invitation limits.
ICP (Ideal Customer Profile)
A specific definition of the company type and buyer persona most likely to convert -- founders/CEOs at staffing agencies with 11-200 employees in US, UK, Canada, and Australia in this example.
Claude Code skill
A reusable set of instructions stored in Claude Code memory that defines a standard operating procedure Claude follows whenever invoked by name.
Resources

Things they pointed at.

Quotables

Lines you could clip.

02:10
Knowing a skill exists is one thing. Knowing how to build and adapt it yourself -- that is where the real value is.
Clean standalone thesis about self-sufficiency in AI tooling; no setup neededTikTok hook↗ Tweet quote
04:04
No amount of personalization saves a dead-looking profile.
Single-sentence truth with a sting; works as a standalone insightIG reel cold open↗ Tweet quote
14:18
Claude Code is the brain. Each tool does what it is best at.
Clean architecture principle; quotable as a software design maximNewsletter pull-quote↗ Tweet quote
The Script

Word for word.

Read-along

Don't just watch it. Burn it in.

See every word as it's spoken — crank it to 2× and still catch all of it. The same dual-channel trick behind Amazon's Kindle + Audible.

metaphorstory
00:00Okay. So LinkedIn has over a billion members. It's the highest quality b to b leads directory on the planet.
00:06And yet, most people doing LinkedIn outreach, they sound like robots. Like, you know, hey, saw your profile, thought we could connect and explore synergies. You just ignore this right away.
00:16But what if every single message that you sent referenced something specific about that person and what they posted about last week, for example? Not because you read through a thousand profiles, but of course, because Cloud Code did it for you.
00:29And today, I am building the entire pipeline alive. I've been building AI systems for businesses for two years now, scaled my agency to $36,000 a month in revenue, with me personally doing outreach and sales.
00:41And without a doubt, LinkedIn is one of the most effective lead generation channels, especially for b to b sales. Before we dive in, let me show you, like, what we are building because there are five moving parts, and I want you to see how they connect. Here's the flow.
00:57Step one, we use LinkedIn Sales Navigator to find our ideal leads. Sales Navigator is our directory. Okay?
01:04We apply filters, get a search URL from it. Step two, we take that search URL from LinkedIn Sales Navigator, and we send it to a tool called bain.io.
01:15Bain scrapes every profile from that search and gives us a clean CSV file with names, titles, companies, emails, and LinkedIn URLs. Step three, we take those LinkedIn URLs and use Apify to scrape each person's recent post, what they've been talking about, what they care about, etcetera.
01:33Step four, this is where we use AI, cloud specifically. We feed all that data, like the lead information plus their recent posts into Clod, and it writes a personalized connection note for each person. You know, messages that sound human, not some kind of AI garbage.
01:49And step five, we upload everything into LinkedHelper, which runs the actual outreach campaign on LinkedIn. Everything.
01:56Connection requests, follow ups, the whole sequence. And this is very high level details, of course. I'm going to elaborate on every step.
02:03I'm building the whole thing live, including creating the Cloth Code skills from scratch.
02:09Some of you asked me to actually show the build process in my videos instead of just demonstrating a finished skill, and I agree because knowing a skill exists is one thing. Knowing how to build and adapt it yourself, that's where the real value is. So that's where we are going today.
02:24Quick disclaimer. Before you send a single message, two things need to be right. Okay?
02:28The first thing is your LinkedIn profile optimization. Look at this. Beautiful.
02:33So what you need to implement is this whole checklist. I'm not going to even go through it. This is a very basic checklist.
02:39You can watch a ton of videos on YouTube on how to optimize your LinkedIn profile. Or another shortcut is that you just take a screenshot of this thing. You drop it into ChatGPT or Clot.
02:49You give it the context about your business, your situation, and it will create everything for you, all the descriptions, pretty much everything you need to have in your LinkedIn profile. Because the first thing that your recipients will do, they will go to your profile, and if it is dead, they will just ignore you. Okay?
03:04So you have to optimize your profile. And second thing, you need to stay active. The rule of thumb is to post at least once every three days.
03:11LinkedIn deprioritizes inactive accounts, and also it just looks inactive and dead. Engage daily, like, five to 10 posts.
03:19Leave two to three meaningful comments, and this can be automated as well, of course. Check your SSI score.
03:25So you can go to linkedin.com/sales/ssi. Aim for 70 plus score below 60, then you need to fix it first. SSI is your social selling index.
03:37It basically measures how effective you are at establishing your professional brands, finding the right people, engaging with insights, and building relationships, it is updated daily. So this is official description and official definition by LinkedIn.
03:50And if you have lower SSI index, you might be limited to only 150 invitation requests per week, for example. Alright.
03:57And also remember that your profile is your landing page. No amount of personalization saves a dead looking profile, so better invest half an hour or twenty minutes and make your LinkedIn profile really well structured and look active.
04:11Second thing to have in place before you even start your LinkedIn outreach is this. You need to understand what your niche is, what your ideal customer profile is. You need to build your problem solution hypothesis, and you need to have a specific offer in place.
04:24Overall, it should be a whole separate video on how to construct problem solution hypothesis, on how to create a winning offer. I'm not going to dive into this right now. Just make notes that you need to have this in place before you start the outreach.
04:38My example industry today is recruitment agencies. Some of the pain points that I could solve for them are 78% of time spent on admin tasks, twenty three hours per hire spent on screening the candidates, screening the CVs, 76% candidate ghosting rate, and 200 to $500,000 per year lost due to those pain points.
04:58Now my ideal customer profiles would be founders, CEOs, and staffing agencies, somewhere between 11 to 200 employees, five to 30 recruiters. My main markets would be The US, The UK, Canada, Australia. IT tech recruitment equals sharpest entry, so this is where I'm gonna aim.
05:14And my offer is very simple. My usual formula for a winning offer is like this. You need to offer free value.
05:20You need to offer some guarantee which removes all the risk for them, and you need to suggest some time period which will trigger urgency plus proof in a short period of time. So something like that. I'll cut your candidate screening time by seventy five percent in fourteen days.
05:34So I have a specific deliverable, a specific value for them, a specific time period to see proof as soon as possible, or you don't pay. This is my guarantee.
05:43It will be free for you if I don't achieve this result. Want to give it a try. So this is a very simple offer.
05:48I usually use this kind of offers in email outreach. But today, I just want to have it in place so to understand the context of what my end goal is. Alright.
05:57And now that you have your profile optimized, you understand your ICP, you know who you are targeting and why you are doing that, it's time to set up your first campaign. And the first step is to use a LinkedIn Sales Navigator as a directory to get your leads. So LinkedIn Sales Navigator, it looks like this.
06:14LinkedIn Sales Navigator is the most reliable b to b directory of leads online because it's not an outdated database of leads. It pulls active LinkedIn profiles live from the business social network, which is LinkedIn, and you have a filter option here which is called posted on LinkedIn. What it means is that it will only show you people who posted on LinkedIn in the last thirty days.
06:36This is extremely valuable because those people are active in this social network. So when you reach out to them, the probability that you will get an answer is extremely high. Conversion rates are really high if you filter properly and if your messages are personalized.
06:50By the way, this Sales Navigator is quite pricey. You have to pay at least $120 per month for the cheapest tier.
06:58So if you're just starting out, it might be costly and you need to justify that cost. Good news is they give you one month of free trial. And then after a month, maybe you can get on another free trial.
07:09Anyway, here on the left, you have lead and account steps. Account is basically filtering the companies and leads, basically, people. So we are going to use leads.
07:18There is more complexities to that, but we are not going to discuss it. Let's just focus on filters for the lead tab. Since I have my ICP in place, I'm just going to use all these filters.
07:29I have, first of all, founders, MDs, CEOs, and staffing agencies. Let's go to my current job title, CEO, and I will just manually add those.
07:39What is MD? I don't even know. Medical doctor?
07:41Doesn't make sense to me. Managing director program. That's right.
07:45And who else? Owner. So decision makers.
07:47Right? Then we need to limit the amount of employees from 11 to 200. I have it already selected.
07:5311 to fifty and fifty one to 200. US, UK, Canada, Australia. Let's do that.
07:58So geography, United States, Canada, and UK.
08:03And, basically, the main the most important filter is industry. Real estate, I need to close this and add recruitment and staffing staffing and recruitment.
08:13So this is our industry staffing and recruitment, geography, and then we have seniority level. You can add this as well if you want. I'll just skip it for now.
08:21Maybe let's add not entry level, but something like director, CXO, owner, vice president as well.
08:28Alright. I think that's pretty much it. You see, I don't have too many filters here.
08:32I don't need to include any first name, any profile language, any of that. Just the geography, just industry, the current job title, and the seniority level is more than enough. Then we have company headcount.
08:42You don't want to target small companies because they don't have budgets for your offer usually. So we're gonna start from at least 11 employees. And one more filter here is posted on LinkedIn.
08:52We definitely wanna target only active LinkedIn profiles. Now with all those filters applied, I've got two and a half thousand results. Two and a half plus, so somewhere between two and a half and 3,000 leads.
09:04Now what I want to do, I want to get all of those leads and save them in CSV files. So I need to somehow export them. Unfortunately, Sales Navigator doesn't allow me to export those leads.
09:15They kind of limit you to use their interface, you can only do something inside Sales Navigator. However, we are going to use third party tool, which will scrape through all these search results. So if you just copy this URL after you applied all the filters, after you just selected all the filters, your URL changes.
09:32You just copy it, and if you paste it in a separate tab, you will open the search results with already all those filters applied. Right? So what you're gonna do, you're gonna paste this URL to a third party tool, which is called Vain, and Vain will scrape all those leads, it will give you a CSV file with all the results, right, with all the lead information, emails, LinkedIn URLs, job titles, names, all of that.
09:54So Vayne is a tool specifically designed to scrape LinkedIn Sales Navigator. Their pricing is based on the amount of leads that you can scrape per month. For example, you can scrape 10,000 leads for $29 a month, and you can scrape 100,000 leads for $159 a month, which is really affordable.
10:12So we are going to use Vain. Let me just open my dashboard here. What I need to do in Vain let me just quick quickly show you.
10:19One second. So here I have sales navigator, leads, and when you click to create a new order, you will have to just enter that URL from LinkedIn Sales Navigator right here and click check URL.
10:29However, if you didn't connect your LinkedIn account first, then it wouldn't give you any results. It would say that LinkedIn Sales Navigator search URL can be checked because the LinkedIn cookie has expired or is not valid. That's why we need to connect the account first.
10:43By the way, there is a daily limit, 15,000 accounts to scrape. Just an important note if you want to go really with volumes and scale. How to connect your account?
10:51It's not an easy as it sounds. There is no just, you know, authentication from LinkedIn or Google, whatever.
10:57You need to paste your LinkedIn Sales Navigator cookie. Good news, they have a full video guide on how to do it right here. Let me just try and do it right now.
11:05So I'm going to my Sales Navigator page right here. I'm going to click inspect, and here I need to find applications. Let's see.
11:12Do we have application? Yeah. Right here.
11:14Now once I am in the application tab, I need to go to cookies and here find LinkedIn. And here I need l I a t. Right.
11:22This one. So I'll just copy the whole thing, and I'm going to paste it right here. Update.
11:28It should show as connected. Cool. And now I can just paste my URL.
11:32So I basically extracted a bunch of URLs from the search, and I put them all in my table. So for example, for recruitment and staffing, I have already to use LinkedIn Sales Navigator search URL.
11:44I'll just copy it, and I'm going to paste it right here and click check URL. Let's see. Alright.
11:49We found 2,884 results for your LinkedIn Sales Navigator search. Order name, so I can just name it recruitment manual, retrieve it most, this number of leads.
11:59Let's just say 10 to show you a test because we are not going to do this manually, of course. ClosedCode is going to send an API call to Vain. It will retrieve the results, and it will give it back to closedCode.
12:10Okay? But for now, just want to show you how the results look like. So complete list with email, we can do that.
12:15Right? But for now, I'll just skip it, and let's click create order. By the way, you can only scrape up to 2,500 leads at one time.
12:23And as you saw, you might have more results than that. So imagine your LinkedIn Sales Navigator search URL gives you 5,000 results. Then Vain is going to automatically split it into two orders.
12:35Very smart tool, and this splitting automated splitting is included in the very basic tier, the first one for $29. Right? So you don't have to manually play with filters, like maybe find the same leads only for Texas, then for California, then for Florida to limit the amount of leads.
12:52Now you can select the whole United States, and it will be split into, like, batches. Each one would be up to 2,500. Now before I show you the scraping, I know what you're thinking.
13:02Why not just, you know, do everything with Clothes Code? Why do we need Vain and the Linz Helper and Epify, all those tools? Because the idea is that Clothes Code is doing everything for you.
13:12It is a really agentic. Right? And this is a great question, and the answer matters.
13:17So Cloud Code is the brain. It's incredible at processing data, writing personalized messages, orchestrating the pipeline, everything.
13:25But LinkedIn is a walled garden, let's say. It's very restricted and very protected. So their APIs are heavily restricted.
13:32You can't just make API calls to scrape profiles or send connection requests. LinkedIn actively detects and bans automation. So I've seen scripts online that use, like, headless browsers to scrape Sales Navigator directly, and here's why that's terrible.
13:46Because LinkedIn detects headless browsers. They check for automation fingerprints, and if they cache it, your account gets restricted or even banned forever. You lose your entire network, and we don't want that.
13:57So the architecture is this, specialized tools handle the risky platform interaction. For example, Bain is for scraping. The risk is on their infrastructure, not your LinkedIn account.
14:07Links helper for sending is a Chrome extension that simulates real browser behavior, not a headless bot. This is different. I'm not going to dive into what what a headless bot is.
14:17Just trust me, it is just safer to use a tool that has years of experience overriding all those detection systems. ClotCode is the intelligence layer personalization, data processing, orchestration again.
14:29Each tool does what is best at. And with that out of context, let me just fire up ClotCode and actually build this thing. While Vain is working on my scraping task, let's quickly discuss the next steps.
14:40So we've already done the Sales Navigator search. We've done the Vain scraping task. Now we need to tackle Epify and AI personalization step.
14:48Epify is a marketplace where you can use different scrapers. For example, I used to scrape Upwork, I scraped Instagram, I scraped Google Maps, and you can also scrape LinkedIn profiles here.
14:57We're not going to use it manually, of course. We are going to create a skill in Clothes Code, and that skill is going to combine these three steps. So whenever I give to my ClotCode a LinkedIn Sales Navigator URL, it is going to send it to Vain.
15:11Then Vain is going to give it the scraped results from LinkedIn Sales Navigator. ClotCode is going to use Epify to scrape all those leads, recent posts, five to 10 posts per lead. And then Cloud Code is going to send that information to Cloud, Cloud AI, and Cloud AI is going to create connection notes plus follow-up messages.
15:31Actually, let's only do the connection notes. The follow-up messages will be static. At the end, Cloud Code will output a CSV file in which we will have a lead, and to each lead, we will have a personalized message, which will be sent out along with our connection request.
15:45In the meantime, Vain has completed the scrapping job, so let's quickly download it and check it out. I'm going to open it. So let's see how it looks like.
15:52So we have first name, last name. We have summary. We have job title.
15:57We have job description. LinkedIn URL, so this is the most important part, location, company, LinkedIn ID, company, etcetera, etcetera. So I'm going to close this for now.
16:05And now I will create a skill in Cloud Code that will combine all these three steps in one SOP, right, in one skill. By the way, if you're new to Cloud Code, there is the best full course for beginners on Cloud Code available online on my channel, my previous video. So make sure to check it out.
16:22I basically guide you click by click how to install it, how to use it. I explain every important concept. You will understand what a skill is, how to create one, everything.
16:32So you will be a very comfortable user with what code after watching that video, and then you can come back and continue with this. Now let's create a skill together. So a skill in a nutshell is just a set of instructions for Cloud Code.
16:43It is a standard operating procedure that Cloud Code follows whenever required. Let me just quickly show you.
16:49So if I open a skill right here on the right hand side, you can see there is a name, generate diagrams. There is a description of what it does. So generate creative hand drawn style Xcode draw diagrams with Gemini generate illustrations, all of that.
17:02And then just steps that ClotCode has to follow in order to complete the task. In my case, right now, I am not going to type all these instructions manually. I'm going to just give ClotCode my brain dump, what I need to achieve.
17:16It will plan how to construct the best possible skill to achieve that goal. I actually have a skill created for Cloud Code, which guides it on how to create the best skills following the best practices. And in my full course video, I actually showed how to install that skill creating skill, if you know what I mean.
17:33So, yeah, let's just brain dump everything that we need to achieve, and let's see how it creates a skill alive. It is going to use plan mode first to basically break down all the necessary components, and then once I approve that plan, it will execute. Now we are going to build a set of skills for LinkedIn outage.
17:52First, we need to build API integration with vain.io. I'm going to give it the API specs from vain. I'm going to API integrations, API documentation.
18:01It will research it anyway on its own, but to make it easier, I will just copy from here the specs. Now whenever I give you a LinkedIn Sales Navigator search URL, here's an example. So I'll just show it how it looks like.
18:14I'll copy and paste one of my URLs. Whenever you have that URL, I want you to send it to Vain and start a an order, start a job programmatically, and Vain should scrape all the LinkedIn profiles from that search URL.
18:29Once you get those profiles back, I want you to use Epify scraper, which is the best on Epify, to scrape those LinkedIn profiles and extract their most recent posts. I want to understand their activity on LinkedIn.
18:43After that, once you get the whole list of leads with their recent activity, their post, their actual post from the last, let's say, four weeks, I want you to use Claude to create personalized connection notes.
18:56So I will use those connection notes to send personalized connection requests. Let me show you a few examples how to do it. Okay.
19:04So here, just mistyped some names like Epify, so I will change it. Usually, I don't do it, and it will understand everything anyway. So I will use those connection nodes to send personalized connection requests.
19:15Let me show you a few examples how to do it. Here, I just prepared some examples. This is where your input matters.
19:21So if you want to have very generic personalized first messages, then you can just say create them yourself. But this is what differentiates you from those robotic connection requests sent by other people.
19:33Right? Logs code and overall AI works well with examples. I have a specific example to give it just to navigate how to create all those messages.
19:41So here's a post. Right? Big news.
19:43Thrilled to officially announce the launch of blah blah blah new website. So I'm going to tell it here's an example post, and then I'll tell it example connection note, which basically says, hey, first name, love your new website, looks great, and I've been following you for a while as I am building my career in recruitment now.
20:01Would love to connect. So we need to keep them under 200 characters to stay safe because LinkedIn doesn't allow you to add more to your connection request. So let's just say, keep them under 200 characters.
20:11And let's just paste more guidelines that I prepared before. So if no relevant activity to use, just skip it because, you know, sometimes people can post about their children. We don't wanna say, hey, love your your recent achievements with your child.
20:26Let's just keep it professional. Never say something like, saw your new post about publishing a new website or I came across your profile. It all sounds AI generated.
20:35No em dashes. We don't wanna use those double dashes that AI always generates for some reason. If the post is an achievement announcement, it's okay to say, congrats on this thing.
20:44I've been following you for a while. So let's just paste all of that to Claude's code right here. And let's just give it more context for you to understand what we are doing here.
20:52Right? So, basically, the use case for this skill is for my LinkedIn outreach. I'm going to take a list of leads and then just create a campaign which will send out connection request.
21:04And then if they reply, I will pick it up and I will continue the conversation. My goal is to target recruitment agencies here, but this doesn't matter for you. The skill should be universal.
21:14I want you to use the best practices for skill creation. Obviously, the message itself should sound very human like, not generic, not AI written. And at the end of the skill, once the job is completed, I need to get a ready to use CSV somewhere saved in my folder.
21:31And that CSV should contain all the information that it had from Vain plus a new column which will be called personalization. And that column should have the whole message that I should just paste into connection request. Let's just dump this whole thing, not Bain, but Vain, just in case.
21:48And other than that, I think we are good. So let's just send this. And now it is going to plan the whole execution, and the execution in this case is just the skill creation.
21:57And once it it the skill is created, we are going to test it again with a smaller batch to see how it works. And after that, we are going to launch the real campaign in our linked helper. That will be the last step here.
22:08So in the meantime, let me actually show you the linked helper. So linked helper is the delivery tool. It's a Chrome extension that controls your actual browser session.
22:16Not a headless bot, as I said before. LinkedIn, it sees like normal browser behavior. This tool, a linked helper, it has years of anti detection built in, randomized delays, human like behavior, patterns, smart throttling, all of that.
22:30You can actually see how it's typing on your behalf in your account in LinkedIn. And on top of reliability, it has a ton of functionality, ready made campaign templates, sequence builders, like all of the little tricks specific to LinkedIn that have worked out over the years.
22:46Right here, they have been on the market four years. I think I used them maybe five years ago for the first time in my full time job when I was actually responsible for cold outreach. If you go to product sales reps, what you can achieve with this tool is basically build a whole sequence.
23:00It's very similar to Dripify. Maybe you are familiar with that one. So you can scrape profiles, but we are going to do that separately with higher quality.
23:08You can follow key people. You can auto like, auto comment on posts of people that you follow. You can invite profiles to your first connections, then you can send welcome messages.
23:17You can send follow-up messages. You can endorse professional skills, all of that. Then you can invite connections to follow your company's page.
23:23Basically, everything you can do in LinkedIn, you can automate and have this tool do it for you on your behalf from your LinkedIn profile. Link helper is not free, of course. Let's go to pricing.
23:33So here you can just try it for free. You can go for a standard package which is $15 a month, and you can go for a pro package which is $45 a month.
23:42And if you're going to do the outage in LinkedIn for real, then you need to go for pro right away because standard includes only 20 messages per day. Basically, it is not enough to achieve any results. That's why pro tiers should be your option starting day one.
23:55So once you subscribe, it will direct you to download their app, and inside the app right here, you need to log in to your account. So I actually gave it my real credentials for my LinkedIn account. And now if you open it, it is going to actually open an instance to start an instance in which it will use your LinkedIn account for all the actions that it's going to perform on your behalf.
24:16So it is initializing my LinkedIn account. Let's actually see how it works. One second.
24:21Okay. So it opens my account. And here you can create a new campaign, which we are going to do in a moment.
24:27So let's check out the plan from Cloud Code. And before I finalize the plan, a couple of questions. First, what's the primary use case for Vain?
24:34Are you scraping leads from LinkedIn Sales Navigator searches or more focused on reaching existing leads with mails, emails and phones or both. So usually, I would definitely get the emails as well because cold emails can be used and LinkedIn Sales Navigator is also the best directory for emails, and then you can reach out using different channels.
24:53But for this video, we will focus only on the LinkedIn profiles. However, since I'm creating this skill and I might as well use it later, I am selecting both scraping plus enrichment. Do you already have a Vain API key ready to add to the file?
25:06Yes. I have it. So here, it's just saying that for the LinkedIn post scrapping step, which API actor do you want to use?
25:13I'll just say use the best one that you can find. Note style for the personalized connection notes was the target length and tone similar to your existing icebreaker style or different for LinkedIn.
25:25Let's say, example, somehow, I need to repeat myself. Sometimes it happens. So let's go here, and let's show this example.
25:33And then let's also give it more instructions also.
25:38Boom. Should these LinkedIn connection request skills be separated from the cold email pipeline or integrating the same separate skills? Alright.
25:46So now it is planning further. In the meantime, I'll just copy my API key, sorry, from my dashboard.
25:53So you go to API settings, and here you can copy your API key and paste it in Cloud Code. I'm going to upgrade, and I will not expose my API key. So that's just the step that I will do in the background.
26:04Okay. So Cloud Code generated the plan for me. Let's see context.
26:08Vain IO scrapes leads from LinkedIn sales navigator, search URLs. Apify scrapes each leads recent LinkedIn posts. Cloud generates personalized connection requests, notes under 200 characters based on their activity, and output CSV ready for manual LinkedIn outreach or for future automation.
26:24Correct. So API client for Vain, then we have Vain API key, LinkedIn post scraper script, connection node generator script.
26:33So let's actually see connection node generator script. Uses Claude, blah blah blah, Haiku to generate personalized connection request notes. Let's actually use Sonnet instead of Haiku.
26:42Right? Unified LinkedIn audio skill, critical files reuse. Okay.
26:45So all good. Let's use Sonnet instead of Haiku just for the better performance.
26:52And here's my API key for Vain. Here's my API key for Vain.
26:59I'll just place it here. Okay. And now I will just accept this plan, and it is going to start executing and preparing the scale.
27:06So I will pause for a moment. Plan approves. Let me start building.
27:09I'll begin with Vain API client indeed. Here's the to do list for cloud codes. Create Vain API clients, add Vain API key, create a LinkedIn lead Scraper scripts, create LinkedIn Post Scraper scripts, create connection node generator, create LinkedIn Outreach skill, test Vain API clients with real API key.
27:27What is LinkedIn Lead Scraper script? Basically, I don't need to even understand all of that. Right?
27:33I just need to give it a clear instruction, all the guidelines, and then test how it works in practice after the skill is created. And because I have that skill with best practices how to create skills for closed code, I am pretty confident it's going to work well.
27:47So let me just pause the video for a moment, and I'll get back to you once it's done. Alright. So it says all done.
27:52Here's what was built. We have a full Vain IO API client with all endpoints. We have Scraper for sales navigator URL via Vain.
28:02We have scraper for recent post via Epify. We have generator of personalized connection notes via cloud sonnet with your exact tone rules. Cool.
28:11Let's test it. So let's say let's test it. Here's the URL.
28:16We are going to paste one of my URLs here. So let's say this one, US and Canada for staffing and recruiting. I think it had, like, over 2,500 search results.
28:27So if I just paste it here, we will see the results over 2,000 results. Cool. So let's actually do it and then allow this batch command.
28:35Yeah. Let's actually bypass permissions. It doesn't ask me every time it needs to edit or read the file.
28:41So now it is going to complete the whole pipeline, and the idea is that it will output a file, a CSV file with personalized messages per lead, and we will be able to upload this to our automation tool to Linked Helper, and we will set up a campaign right there. So we are almost there.
28:59One last step left. I'll pause while it's doing its job. Alright.
29:03So it says full pipeline works end to end. Here's the summary test results, only 10 leads. If I had to process for the whole 2,000 leads, it would take several hours probably.
29:13So for this video, let's just do a test batch. So all 10 notes generated all under 200 characters. Tone is casual and human.
29:20Now I noticed I came across patterns, etcetera. Achievement post gets congress treatment. All notes feel conversational, not corporate.
29:28By the way, I spent only $0.06 on Epify scrapping. You're going to spend between 1 and $3 on Epify scraping per 1,000 leads.
29:39So it is extremely affordable. And for Vain, I use 10 credits. And for Claude Sonnet, so basically, you're going to spend even less on Epify scraping than on tokens for Claude Sonnet model.
29:52It it is that cheap. Okay. Now let's just let's open the file final file, and let's check out the results.
29:58Right. So here's the file. Let's see.
30:00We have a new column here. It should be personalization or something.
30:04Let's see. Let's see. Probably in the end.
30:06Right? That makes sense. Oh, so many fields here.
30:10Oh my god. Here we have connection notes. Let's read them.
30:13Hey, Ted. Your persistence message really resonated.
30:17Building my own venture and needed that reminder. Would love to connect. Your point about replacing eventually with actual dates really hit home.
30:26Being guilty of that myself, I would love to connect Mohammed. And as you noticed, there is no m dashes which would look like this, So it took into consideration my guidelines.
30:36Your point about great candidates versus perfect resumes hits hard. See this all the time in staffing. Would love to connect Max.
30:43Hey, Jennifer. Love that you're sharing the SYEP p program. Such a great way to get young people into the workforce.
30:50Hey. Even love the new website launch. Looks like you've built something really solid there.
30:55I'm the recruiting space too and would love to connect. Hey, Ross. Your point about quality gaps showing up at the worst times really hit home.
31:03Seen this so many times in early stage companies. Would love to connect. Cool.
31:07I think those are good. Ideally, you can iterate and maybe, you know, give it more examples, give it some examples how not to do it, how to do it. But in my case, I think this is more than enough for this test for this video.
31:20Now I need to understand where this file is located. It is located in my users, projects, outreach, LinkedIn leads recruiters test.
31:29Okay. So now we are going to set up our campaign in links helper. Here, once you click create campaign, you are given a bunch of different templates to choose from.
31:39I'm going to use warm up, invite, and follow-up. So this should work like this. You're going to follow profiles, then like and comment posts and articles, then invite only your second and third level contacts, then message to first connections, message to first connections second times, and message to first connections third time.
31:57In my case, let's just click on it. Let's give it a name, demo recruiters.
32:02So, basically, Cloth code completed its job. It was to give commands to Vain, get the result, then use Apify to scrape posts, and then use Cloth to create personalized notes based on those posts and based on that activity.
32:16It did it well. Now we are just going to launch a campaign. So continue with selected template.
32:21Add follow profiles action. Yeah. Next, add like and comment post or article action.
32:27I don't like it. No. It's okay.
32:29Next, create an invitation message template. So here, we can use our personalization created by Claude.
32:35For that, if you pay attention, you can use only this green kind of LinkedIn default variables right here. And if you want to use your own variable, you need to install custom template variable. So you will have install button here.
32:48Just click install, and then you can use your own variables. So in my case, let's just delete all of this, and let's say connection note. Alright.
32:57We have connection note in my connection message. Create an invitation message template. Note, for most LinkedIn accounts without a LinkedIn premium subscription, you can send only up to 10 invites with text, which is not much.
33:11If you don't have a subscription, consider removing invitation message. But when you subscribe for Sales Navigator, even for that one month free trial, you get a LinkedIn premium for free.
33:22And later on, I definitely suggest that you pay that. I I'm not sure. It's probably, like, $20 per month for premium LinkedIn.
33:29It will give you more space and just higher limits for all the invitation requests. Add message variation to reduce repetition and minimize LinkedIn account risks. They will be different anyway because I'm just using this variable, and every time the the actual text, the actual copy will be different.
33:45Next, step number four, automatically cancel unaccepted invitations. Yes. So what it does, as I mentioned, this tool, they are smart.
33:52They know how to perform as an organic account, how to override all the detectors, etcetera. So they recommend deleting all unexpected invitations that are older than two or four weeks and keeping the number of pending invitation below 1,000. With this option enabled, LinkedIn a linked helper will cancel unexpected invitations sent manually or automatically earlier than x days ago.
34:15In my case, I will just keep it thirty days ago. Next, create your first follow-up message to newly added connection. Yes.
34:22We will do that. So my message is going to be the following. It will be, hi, first name, and then I've actually prepared static messages that I'm gonna use.
34:31I don't want AI to do it because after the first personalization note, now I'm good to templatize the messages for, like, all of them.
34:40Here, I will say, hey, first name. Thanks for connecting. I've been going deep into the recruitment space.
34:46Would really appreciate your insights. What's your biggest bottlenecks right now? Is it handling screening volumes as well?
34:52I've been already working with a few recruitment agencies on this and curious if you're seeing the same patterns. Again, the strategies might differ. My strategy here is to just not being pushy, not being sales.
35:02I'm not stating my offer in any case. So this is just a follow-up message. Whenever you send a connection request, if they accept it but they don't reply to you, then this message will be sent.
35:13If they reply, then I will personally take on and I will take over the conversation. I've done so much hard work to get there, to get those conversations started that I want to actually communicate with them myself once they got back to me and personally replied.
35:27This whole tutorial is about getting from nothing to the first conversation started, and then you do it yourself. So, yeah, I've been do going deep blah blah blah. And my strategy here is to just ask if they have a problem with screening volumes.
35:41They understand that it is meant, like, screening CVs or resumes, and I'm implying as well, like, I've already solving this problem for other recruitment agencies and curious if you're seeing the same patterns. Cool. Let's keep it.
35:54Let's click save and close. Next. Now I want to select second follow-up message.
35:58Let's uncheck this. And here, I'll just click to edit. And my second follow-up message is here.
36:03So, again, if they remain silent, they never reply to me, I send the second message, which is no worries if you are spam or if you think it's just a generic cold outreach, I can relate. Anyway, if you decide to share the insights with me, I'd really appreciate it.
36:18Also happy to show what we've been doing with those recruitment firms that I mentioned. We basically cut their CV screen time by 75% with a pretty simple AI setup, doing it for free until you see real value.
36:30So, yeah, here, I'm kind of teasing. It's just a glimpse of what I'm doing. And if they really have that problem, they would probably reply at this point if they see that 75% can be automated.
36:41So, again, this is just a hypothesis, and the whole campaign is just to prove the problem solution hypothesis. Right? Okay.
36:46Let's save and close. Now I am going to click next. I don't want to send third follow-up messages if they didn't reply to my invitation note and to my two follow-up messages.
36:58I am good to just finish and consider the campaign completed. So campaign created. Great job.
37:03Let's click continue. Now we need to choose a source to fill my campaign with profile. So we basically need to select where should we find leads.
37:12A lazy option is just to use search page. You can just apply some filters in LinkedIn, and it will kind of scrape it itself, this tool.
37:20But our approach is much more reliable, much higher quality. We are going to upload our CSV, that's cloud code personalized with all the connection notes. So let's just select file.
37:31I'm going to my projects, agency, outreach, and my file is here, LinkedIn leads recruiters, test with notes. Open, import.
37:39Let's see how it imports the file. Successfully imported 10 profiles. Take an action.
37:43Show profiles in the campaign queue. Starts campaign. Review campaign.
37:46Let's review campaign for now. Let's upload custom variables. This is what we need.
37:50Auto detect. What we need here? We need only one.
37:53We need only connection note. Upload.
37:56Close. Okay. Now we have this custom variable.
37:59We need to actually change my message. So let's click review campaign. So here I have my workflow.
38:05First of all, we have profiles to process. Currently, have only 10 because we added only 10. Then we have follow profiles.
38:12So the first step, it's going to follow profiles. Then it is going to wait in between actions. In this case, one day.
38:18After it waited for one day, it is going to like and comment posts and articles. Because whenever you like or comment, there is a high probability that those leads, they will see it in their, like, activity tab or some kind of notifications, and they will see your face, your profile before you reach out to them.
38:35Once you reach out to them, they will see a familiar face, and they will be more interested to get back to you. We have another delay. Then we have an invitation request, and here we need to change this to our custom variable that we just uploaded from our list.
38:48So custom variable connection note. This is what we are going to send to them, save and close. After that, we are going to filter contacts out of my network.
38:56So now we are going to keep only first level contact. So this step is going to filter contacts out of my network and keep first level only. So it is going to keep only those who accepted my invitation, those who clicked accept, and only those leads will go to the next action.
39:12Next action is to send them that message, that first follow-up message. So here, if you scroll a little bit, being on this action, I have message analyzer here. So it is going to reject this step if a person replied after my invitation.
39:27So after my fifth action, which is right here when I invited them to join my network, Or if I messaged them after my invitation, if they replied to me or if I saw them in my, you know, network and I decided to reach out proactively manually, it is going to spot this, and it is not going to send this follow-up message in that case.
39:47If they accepted the invitation and they never replied to me and I never messaged them, then this campaign is going to send them this first follow-up message, and it is going to check for replies. Again, if no replies, then it is going to send them second follow-up message. And if then no replies, it is going to check for them, then it will just end.
40:04The campaign will be finished, and it is going to park all those leads into processed leads. That's how it works. I really like how they improved the tool over years.
40:12So let's just start campaign, and it is going to kind of take over my browser. You see? I I'm not touching anything.
40:19It is now scrolling through LinkedIn. It is going to enter the profile's URL, open that profile. Let's actually see how it works.
40:26Again, not touching anything. So it is searching for a name. Now it will press enter, and it will kind of simulate and replicate all the actions that a person would organically do.
40:37It is going to scroll through profile because we don't, you know, we don't just go to the connection request right away. Sometimes we scroll through profile. It is going to simulate it.
40:46I just need to keep this open, so I will just minimize this one. It will be running on the background as, you know, the whole day pretty much. That's pretty much it.
40:54I hope I did not forget anything. My flow, as I said, is that whenever they reply to me, then I just go to messages on LinkedIn and I start typing to them. But also in this tool, you have a dashboard right here.
41:05So you will see you can select a particular date, a particular campaign that you use. We have demo recruiters. Right?
41:11And you will see daily activity. You will see how many people accepted, how many people were invited, messaged, and replied.
41:19So, basically, you will have all the stats here, and this is very handy because you can estimate your campaigns based on these metrics. Thank you very much for watching. I hope this tutorial was useful.
41:28Let me know in the future, should I just prepare everything in advance and just show you how the skill works and break it down? Or is it better when I show, like, how I'm typing, how I'm giving commands to post code, how I'm creating skills, all of that. Other than that, thank you very much for watching.
41:43Leave some comments. Let me know which kind of tutorials you need me to prepare next. I really appreciate your time.
41:47Hit the like button. Subscribe if you haven't yet, and I'll see you soon in the next one. Bye.
The Hook

The bait, then the rug-pull.

A billion-member directory of active buyers, and most cold outreach on it reads like a mail merge from 2009. The answer here is a five-tool pipeline where Claude Code acts as the brain -- scraping leads, pulling their recent posts, writing personalized notes under 200 characters, and handing the whole thing off to a Chrome extension that simulates the clicks.

Frameworks

Named ideas worth stealing.

00:44model

The 5-Step LinkedIn Outreach Stack

  1. LinkedIn Sales Navigator (directory)
  2. Vayne.io (lead scraping)
  3. Apify (post scraping)
  4. Claude Sonnet (personalization)
  5. LinkedHelper (delivery)

Each tool owns its risk layer: directory, data extraction, intelligence, and delivery are separated to protect the LinkedIn account.

Steal forAny B2B outreach sequence needing personalization at volume without hiring SDRs
05:12model

Winning Offer Formula

  1. Free Value (what they get)
  2. Guarantee (risk reversal)
  3. Time Period (urgency + proof)

A three-part cold outreach offer structure that removes buyer risk and creates urgency.

Steal forCold email, LinkedIn connection notes, any introductory offer for skeptical buyers
13:20concept

Tool Risk Architecture

Assign platform-risky tasks to purpose-built tools that absorb detection risk. Keep Claude Code for intelligence and orchestration only.

Steal forAny multi-platform automation where one platform actively detects and bans bots
CTA Breakdown

How they asked for the click.

VERBAL ASK
41:25subscribe
Hit the like button. Subscribe if you haven't yet, and I'll see you soon in the next one.

Soft close at the very end after full value delivery; includes an audience engagement question about future video format preferences

MENTIONED ON CAMERA
FROM THE DESCRIPTION
PRIMARY CTAWhere the creator wants you to go next.
AFFILIATECommission earned if you click.
Storyboard

Visual structure at a glance.

hook
hookhook00:00
pipeline diagram
promisepipeline diagram00:44
offer formula
valueoffer formula05:12
sales navigator filters
valuesales navigator filters09:11
skill build
valueskill build16:12
test results
prooftest results29:35
campaign live
ctacampaign live40:11
Frame Gallery

Visual moments.

Chat about this