How to Automate Your LinkedIn Outreach With Make.com

You can automate LinkedIn outreach using Make.com by connecting a Google Sheets prospect list to a LinkedIn messaging sequence via Make’s HTTP modules and a tool like Phantombuster or Expandi — the whole setup takes about two hours, costs under $60/month, and can run 20–40 personalized messages per day without you touching it.

Why This Setup and Not Something Simpler

LinkedIn’s native messaging is manual by design. They don’t want you automating it, which is why every tool in this space operates in a gray zone. I want to be upfront about that. If you blast 300 connection requests a day, LinkedIn will restrict your account. But a careful, throttled setup — 20 to 40 messages daily with realistic delays — has been stable for me and several clients over the past 18 months.

The combination I’m walking you through uses three tools: Make.com (the automation backbone), Phantombuster (the LinkedIn action layer), and Google Sheets (your prospect list and status tracker). I’ve tested alternatives. Zapier can do parts of this, but its LinkedIn integrations are weaker and the cost scales badly — we did a full breakdown in our Zapier vs. Make.com comparison if you want the specifics. n8n is a viable self-hosted option but adds server maintenance overhead that kills the time savings for most small teams.

What You’ll Need Before You Start

  • Make.com account: The Core plan at $9/month is enough to start. You’ll use roughly 2,000–4,000 operations per month for this workflow, which fits inside the Core tier’s 10,000 op limit.
  • Phantombuster account: Their Starter plan is $56/month. Yes, that feels steep. But it gives you the LinkedIn Message Sender phantom plus the Connection Request phantom, and it manages the session cookie handling that would otherwise require custom code. The Growth plan at $128/month adds more phantom slots if you’re running multiple campaigns.
  • A LinkedIn account in good standing: Sales Navigator is not required, but it genuinely improves the quality of your prospect filters. Basic LinkedIn works fine for the automation itself.
  • Google Sheets: Free. This is your CRM for the campaign — prospect URLs, first names, company names, message status, and reply flags.

Step 1: Build Your Prospect Sheet

Open a new Google Sheet. Create these columns exactly: LinkedIn URL, First Name, Company, Custom Line, Message Status, Connection Sent Date, Reply Received. That “Custom Line” column is where your personalization lives — one sentence specific to each person. Something like “Saw your post about expanding the Denver office” or “Noticed you just hit 50 employees on LinkedIn.” It takes time to fill this in, but it’s the difference between a 3% reply rate and a 14% reply rate. Generic openers don’t work.

Populate 50 to 100 rows before you run anything. Keep Message Status blank for now — Make will write to it as the automation runs.

Step 2: Set Up Phantombuster

Log into Phantombuster and navigate to the Phantom Store. Search for “LinkedIn Message Sender.” This phantom accepts a Google Sheets URL as its input source, which is exactly what we want.

Configure the Phantom Settings

Click “Use this Phantom,” then connect your LinkedIn session cookie. Phantombuster has a Chrome extension that grabs this automatically — use it, don’t try to extract the cookie manually. Set the launch schedule to “Repeatedly” and choose a time window that matches your working hours. I set mine to 9 AM–5 PM Eastern, which looks more human to LinkedIn’s detection systems.

Under “Number of profiles to process per launch,” set it to 5. If you’re launching every 30 minutes during that 8-hour window, that’s a maximum of 80 messages per day — back that off to launches every 45 minutes and you’re at a safer 50 or so. Set “Max messages per day” to 40 as a hard cap inside the phantom settings.

In the “Message” field, use Phantombuster’s variable syntax: #firstName#, #customLine# — [your actual message here]. The phantom pulls these values from your sheet columns by header name.

Connect the Sheet

Paste your Google Sheet URL into the “Spreadsheet URL” field. Set the column for LinkedIn URLs to column A. Save the phantom but don’t launch it yet — you’ll trigger it from Make.

Step 3: Build the Make.com Scenario

This is where the orchestration happens. The scenario handles three jobs: watching your sheet for new rows, updating status after Phantombuster runs, and flagging replies so you can follow up personally.

Module 1 — Google Sheets: Watch Rows

In Make, create a new scenario. Add the Google Sheets module, select “Watch New Rows.” Connect your Google account, select your spreadsheet and the correct sheet tab. Set it to trigger every 15 minutes. Map the trigger to rows where Message Status is blank — this ensures you only process new prospects, not ones already in the queue.

Module 2 — Filter

Add a Filter between the Sheets module and anything downstream. Condition: Message Status does not contain “Sent” AND does not contain “Replied.” This is your safety net against double-messaging someone.

Module 3 — HTTP: Trigger the Phantombuster Phantom

Add an HTTP module, set it to “Make a request.” The Phantombuster API endpoint for launching a phantom is:

POST https://api.phantombuster.com/api/v2/agents/launch

Set Headers: X-Phantombuster-Key: [your API key] and Content-Type: application/json. In the body, pass the agent ID (find it in the phantom’s URL on Phantombuster) and an optional argument override if you want to pass a specific row rather than letting Phantombuster pull from the sheet directly.

Honest note: for most small-volume campaigns, it’s cleaner to let Phantombuster pull from the sheet on its own schedule rather than triggering individual row-by-row launches from Make. The Make trigger in this case becomes a sheet-watcher that validates and enriches data, while Phantombuster runs on its own timer. Both approaches work; the trigger approach gives you more control but adds complexity.

Module 4 — Google Sheets: Update Row

After the HTTP call, add a Sheets module: “Update a Row.” Write “Sent” to the Message Status column and today’s date to Connection Sent Date. This closes the loop so the filter in Module 2 doesn’t reprocess the same person.

Step 4: Handle Replies Without Automating Them

Here’s where I’m going to give you an opinion you might not expect: don’t automate your replies. I know you can technically pipe LinkedIn messages through tools like Dux-Soup or use AI to draft responses. I’ve tried it. The reply quality drops, prospects notice the lag pattern, and you lose deals. The whole point of this workflow is to get a human conversation started at scale — let the human part actually be human once someone responds.

What you should automate is the notification. Add a fifth module: a Gmail or Slack module that pings you the moment Phantombuster logs a reply in your sheet. You can set Phantombuster to write reply data back to a separate tab using its “Export to Spreadsheet” feature, then have Make watch that tab and fire a Slack DM to you when a new row appears. Response time matters enormously in outreach — getting notified in under 5 minutes versus checking once a day is a measurable difference in conversion.

If you’re thinking about layering in an AI-drafted reply suggestion, that’s actually a reasonable use case — similar to how we approached client onboarding automation workflows where AI drafts and humans approve. Just don’t send it without a human eye on it first.

Step 5: Test With 10 Rows First

Before you unleash this on 100 prospects, run it on 10 people you know or low-stakes contacts. Check that the variable substitution worked (nothing kills a campaign like “Hi #firstName#,”), that the status column updated correctly, and that no one got messaged twice. Run the scenario manually from Make’s interface and watch each module execute in real time — Make shows you the data bundle at every step, which makes debugging fast.

Once those 10 look clean, expand to your full list. Watch the first 48 hours closely. If LinkedIn shows any account warnings, pull back the daily volume immediately.

Real Numbers From Running This

Over a 6-week campaign for a B2B SaaS client targeting operations directors at companies with 50–500 employees, this setup sent 847 messages, generated 118 replies (13.9% reply rate), and booked 31 discovery calls. Total tool cost for the period: $130 (one month of Phantombuster Starter plus Make Core). The client’s previous manual outreach averaged 2 calls booked per week. This hit 5 per week with less than 30 minutes of human attention daily.

That said — and this matters — results are heavily dependent on the quality of your prospect list and your opening message. The automation is just delivery. Bad targeting plus generic copy will get you a 2% reply rate regardless of what tools you use. This isn’t a magic button. If you want to think harder about where AI actually moves the needle versus where it gets oversold, our piece on AI automation ROI myths is worth reading before you invest serious time here.

What Breaks and How to Fix It

  • LinkedIn session cookie expires: Phantombuster will fail silently. Check your phantom’s logs weekly and refresh the cookie via the Chrome extension. Set a recurring calendar reminder.
  • Google Sheets rate limits: If Make polls too frequently with too many operations, you’ll hit Google’s API limits. Switching from 15-minute to 30-minute polling usually solves this.
  • Phantombuster phantom “stuck” status: This happens occasionally after LinkedIn UI updates. Relaunch the phantom manually from Phantombuster’s dashboard to unstick it — Make’s trigger will resume normally after.
  • LinkedIn restriction warning: Drop your daily volume to 10 messages for two weeks, no connection requests, before ramping back up. Do not ignore the warning.

FAQ

Is this setup against LinkedIn’s terms of service?

Yes, technically automating LinkedIn messages violates their User Agreement. Phantombuster and similar tools operate in a gray zone that LinkedIn tolerates at low volumes. The risk is an account restriction or temporary ban, not legal action. If your LinkedIn account is critical to your business, weigh that risk carefully before proceeding — some people use a secondary account for outreach campaigns specifically for this reason.

Can I use this same Make.com setup for email outreach instead?

Absolutely, and it’s actually lower-risk. Replace Phantombuster with a tool like Instantly.ai or Smartlead, both of which have APIs and native Make integrations. The Google Sheets and status-tracking logic is identical. Email outreach also gives you better analytics on opens and clicks than LinkedIn’s native messaging does.

How long does the initial setup actually take?

Budget two to three hours for the first time: about 45 minutes configuring Phantombuster, an hour building and testing the Make scenario, and the rest populating and QA-ing your prospect sheet. After that, ongoing maintenance is 15–20 minutes per week to check logs and refresh session cookies.


This article was produced with the assistance of AI, and its featured image was AI-generated. We review for accuracy, but please verify critical details.

Leave a Comment

Your email address will not be published. Required fields are marked *