LinkedIn + Phantombuster: consistent likes, no repeats
Keeping up with LinkedIn “the right way” sounds simple until you’re busy. You open the feed, scroll for “a minute,” then realize you just lost half an hour and still didn’t engage consistently.
This problem hits B2B marketers hard, but recruiters and founders feel it too. LinkedIn likes automation gives you steady engagement without the daily willpower tax or the embarrassing “didn’t I already like this?” repeat.
This workflow uses n8n + Phantombuster to like one fresh post on a schedule, then logs every post URL to Microsoft SharePoint so duplicates get blocked. You’ll learn what it does, what you need, and how to run it safely.
How This Automation Works
Here’s the complete workflow you’ll be setting up:
n8n Workflow Template: LinkedIn + Phantombuster: consistent likes, no repeats
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0@{ icon: "mdi:cog", form: "rounded", label: "Wait", pos: "b", h: 48 }
n1@{ icon: "mdi:cog", form: "rounded", label: "Wait1", pos: "b", h: 48 }
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Get Random Post"]
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Create CSV Binary"]
n4@{ icon: "mdi:cog", form: "rounded", label: "Upload CSV", pos: "b", h: 48 }
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/phantombuster.png' width='40' height='40' /></div><br/>Get Posts"]
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/phantombuster.png' width='40' height='40' /></div><br/>Get Response"]
n7["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/phantombuster.png' width='40' height='40' /></div><br/>Get Autoliking Agent"]
n8["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/phantombuster.png' width='40' height='40' /></div><br/>Launch AL Agent"]
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set ENV Variables", pos: "b", h: 48 }
n10["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/phantombuster.png' width='40' height='40' /></div><br/>Launch Agent"]
n11["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/phantombuster.png' width='40' height='40' /></div><br/>Get Search Agent"]
n12@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n13@{ icon: "mdi:robot", form: "rounded", label: "Generate Random Search Term", pos: "b", h: 48 }
n14@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n15@{ icon: "mdi:cog", form: "rounded", label: "Update file", pos: "b", h: 48 }
n16@{ icon: "mdi:cog", form: "rounded", label: "Download file", pos: "b", h: 48 }
n17["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Check if in List"]
n18@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n19@{ icon: "mdi:cog", form: "rounded", label: "Wait2", pos: "b", h: 48 }
n20["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Prepare Updated Data"]
n21@{ icon: "mdi:cog", form: "rounded", label: "Extract from File", pos: "b", h: 48 }
n22@{ icon: "mdi:cog", form: "rounded", label: "Convert to File", pos: "b", h: 48 }
n23@{ icon: "mdi:cog", form: "rounded", label: "Get Available Session Cookies", pos: "b", h: 48 }
n24@{ icon: "mdi:cog", form: "rounded", label: "Extract Cookies", pos: "b", h: 48 }
n25@{ icon: "mdi:robot", form: "rounded", label: "Select Cookie", pos: "b", h: 48 }
n26@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model1", pos: "b", h: 48 }
n18 --> n19
n18 --> n20
n0 --> n5
n1 --> n6
n19 --> n2
n5 --> n19
n4 --> n7
n15 --> n3
n10 --> n0
n16 --> n21
n25 --> n13
n22 --> n15
n24 --> n25
n2 --> n16
n8 --> n1
n17 --> n18
n11 --> n10
n14 --> n23
n3 --> n4
n21 --> n17
n12 -.-> n13
n9 --> n11
n26 -.-> n25
n7 --> n8
n20 --> n22
n13 --> n9
n23 --> n24
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n14 trigger
class n13,n25 ai
class n12,n26 aiModel
class n18 decision
class n2,n3,n17,n20 code
classDef customIcon fill:none,stroke:none
class n2,n3,n5,n6,n7,n8,n10,n11,n17,n20 customIcon
Why This Matters: Consistent LinkedIn Engagement Without the Grind
LinkedIn rewards consistency, not good intentions. But “engage daily” usually turns into a messy routine: you search a niche topic, open posts in new tabs, like a few, forget what you already touched, and repeat the next day because there’s no record. It’s not only time. It’s mental overhead. You’re also guessing what “safe pacing” looks like, which is how people accidentally overdo it and end up throttled or locked out. Honestly, most teams don’t need more content. They need more consistent visibility.
The friction compounds. Here’s where it breaks down.
- You lose about 20 minutes a day to feed scrolling that doesn’t move pipeline forward.
- Without a history log, you end up liking the same post twice or wasting time checking.
- Manual engagement is hard to scale across a team because “who liked what” lives in everyone’s head.
- Trying to “catch up” later creates unnatural spikes in activity, which is exactly what you’re trying to avoid.
What You’ll Build: Automated Likes With a No-Duplicates Log
This n8n workflow runs on a schedule (hourly) and likes one fresh LinkedIn post per run using Phantombuster, then records the post URL in SharePoint so it will not be liked again. It starts by rotating through a list of LinkedIn session cookies stored in a SharePoint folder, which spreads activity across sessions if you need that. Next, OpenAI (GPT-4o) generates a realistic search phrase tied to your niche, so the posts you engage with stay relevant instead of random. Phantombuster’s LinkedIn Content Search Agent pulls recent posts, the workflow picks one at random, checks it against your “already liked” CSV in SharePoint, and only proceeds if it’s new. Finally, it launches Phantombuster’s AutoLike agent and throttles execution with Wait steps to keep pacing steady.
The workflow begins with a scheduled trigger and a cookie selection step. Then it generates a search term, retrieves posts, and filters out anything already in your SharePoint history. If a post passes the check, it’s queued for liking and immediately added to the “already liked” file.
What You’re Building
| What Gets Automated | What You’ll Achieve |
|---|---|
|
|
Expected Results
Say you normally like 40 posts a day to stay visible. If that takes even 30 seconds each (find, open, like, move on), that’s about 20 minutes daily, and it’s easy to double that when you get distracted. With this workflow, you spend about 20 minutes once to set it up, then it runs hourly in the background and likes one new post per launch. The “after” effort is basically zero day-to-day, plus you stop losing time to accidental repeats because SharePoint keeps the list.
Before You Start
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Phantombuster for LinkedIn search and autolike agents
- Microsoft SharePoint to store cookies and CSV history
- OpenAI API key (get it from your OpenAI dashboard)
Skill level: Intermediate. You’ll connect a few accounts, edit one or two variables, and confirm files exist in the right SharePoint folder.
Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).
Step by Step
The schedule kicks everything off. The workflow uses an hourly Schedule Trigger, so you’re not relying on someone remembering to “go engage.” You can change the minute it runs, or run it less often if you want a lighter footprint.
A LinkedIn session is selected. It fetches a text file from SharePoint that contains session cookies (one per line), parses it, and picks one cookie record for the run. That helps if you’re managing multiple sessions, and it keeps the process consistent.
AI creates a realistic search phrase. OpenAI (GPT-4o) generates a keyword or short phrase aligned with your niche, then Phantombuster runs a LinkedIn Content Search Agent to scrape recent posts that match. The workflow waits between agent launches and responses so it doesn’t rush the downstream steps.
One post is chosen, verified, and liked. A random post is selected, then the workflow downloads your SharePoint CSV log of already-liked URLs and checks for duplicates. If it’s new, it builds a one-line CSV, uploads it to SharePoint for the AutoLike agent to read, launches the like, and appends the post URL to your “already liked” file.
You can easily modify the search prompt to target a different niche, or adjust how many posts get liked per run by changing the “lines per launch” setting in the dataset the agent reads. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Schedule Trigger
Set up the scheduled trigger that starts the automated social like flow and kicks off cookie retrieval.
- Add and open Scheduled Flow Trigger.
- Set the schedule to match when you want the workflow to run (daily, hourly, or custom).
- Confirm the trigger connects to Fetch Session Cookies as the first action.
Step 2: Connect Microsoft SharePoint for Cookie and Dataset Files
Multiple nodes read and write files in SharePoint for cookies, datasets, and CSV uploads.
- Open Fetch Session Cookies and connect the SharePoint site where your cookie file is stored.
- Open Download Spreadsheet and point it to the dataset spreadsheet used by Extract File Data.
- Open Update Remote File to configure where the updated dataset file will be saved.
- Open Upload CSV File and select the destination folder for the generated CSV.
- Credential Required: Connect your Microsoft SharePoint credentials in all SharePoint nodes.
Step 3: Configure Cookie Parsing and AI Selection
This section extracts the cookie file and uses AI to choose the appropriate cookie record before generating a search phrase.
- Verify Fetch Session Cookies outputs to Parse Cookie File, then to Choose Cookie Record.
- Open Parse Cookie File and confirm the extraction settings are appropriate for your cookie file format.
- Open Choose Cookie Record and ensure it is configured to receive the language model from OpenAI Chat Engine B.
- Open Create Search Phrase and confirm it receives the language model from OpenAI Chat Engine.
- Credential Required: Connect your OpenAI credentials in OpenAI Chat Engine and OpenAI Chat Engine B.
Step 4: Set Up Search and Retrieval with Phantombuster Agents
The workflow runs Phantombuster agents to search for posts, retrieve results, and launch the auto-like flow.
- Open Assign Env Variables and set any environment variables required by your Phantombuster scripts.
- Configure Retrieve Search Agent and Start Search Agent to use your Phantombuster API and agent IDs.
- Confirm Delay After Launch waits for the search agent before Retrieve Posts runs.
- Configure Fetch AutoLike Agent, Start AutoLike Agent, and Fetch Agent Response with the correct agent IDs.
- Credential Required: Connect your Phantombuster credentials to all Phantombuster nodes (6 total: Retrieve Posts, Fetch Agent Response, Fetch AutoLike Agent, Start AutoLike Agent, Start Search Agent, Retrieve Search Agent).
Step 5: Configure Dataset Processing and Conditional Routing
This path downloads the dataset, checks if a post exists, branches based on the result, and prepares updates.
- Confirm the order: Pick Random Post → Download Spreadsheet → Extract File Data → Verify In List → Branch Condition.
- Open Verify In List and update the code logic to match how your dataset tracks previously liked posts.
- In Branch Condition, set the logic that decides between proceeding to Pause Before Random or updating the dataset via Prepare New Dataset.
- Open Prepare New Dataset and adjust the code to append or modify the post list as needed.
- Verify the update pipeline: Prepare New Dataset → Convert Dataset File → Update Remote File → Build CSV Binary → Upload CSV File.
Step 6: Configure Timing and Randomization
Wait nodes control pacing between search, retrieval, and auto-like execution.
- Open Pause Before Random and set a delay that prevents repeated requests from hitting the same content too quickly.
- Open Delay After Launch to allow the search agent time to complete before Retrieve Posts runs.
- Open Delay For Response so Fetch Agent Response runs only after Start AutoLike Agent has finished.
Step 7: Test and Activate Your Workflow
Validate the end-to-end flow and then enable the scheduled automation.
- Click Execute Workflow to run a manual test from Scheduled Flow Trigger.
- Confirm that Fetch Session Cookies downloads the file and Parse Cookie File extracts data successfully.
- Verify that the Phantombuster chain reaches Retrieve Posts, Pick Random Post, and the dataset update path.
- Check SharePoint to confirm the CSV file is uploaded by Upload CSV File and that the dataset is updated by Update Remote File.
- Once successful, toggle the workflow to Active to enable scheduled runs.
Troubleshooting Tips
- Microsoft SharePoint credentials can expire or need specific permissions. If things break, check the SharePoint OAuth connection in n8n and confirm the “Phantombuster” folder and CSV files still exist.
- If you’re using Wait nodes or external agent runs, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses from Phantombuster.
- Default prompts in AI nodes are generic. Add your brand voice and niche boundaries inside “Generate Random Search Term” (and keep it tight) or you’ll be editing outputs forever.
Quick Answers
About 30 minutes if your accounts and SharePoint folder are ready.
No. You’ll mostly add credentials, confirm the SharePoint files exist, and tweak a couple settings like schedule and company ID.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API costs and a Phantombuster plan with API access.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, and you should. The quickest win is changing the prompt inside “Generate Random Search Term” so it searches your exact niche and tone. You can also adjust the schedule trigger and the dataset size (the workflow uses a “numberOfLinesPerLaunch” style approach) to like more or fewer posts per run. If you don’t want SharePoint, replace the upload/download steps with Google Drive or Dropbox nodes and keep the same “already liked” CSV idea.
Usually it’s an API key issue or a plan limitation. Regenerate your Phantombuster API key, update it in n8n, and confirm you’re on a plan that includes API access (Growth). If the agent starts but never returns results, it can also be a cookie problem, so double-check the SharePoint cookies file format (one cookie per line) and that the selected cookie is still valid. Rate limits happen too, especially if you crank up frequency, so ease back and extend the waits.
The included pacing is designed for roughly 400 likes/day, and you can dial it down by running less often or liking fewer posts per launch.
For this use case, yes, most of the time. Zapier and Make are great at shuttling data between apps, but this workflow relies on agent-style runs (Phantombuster), file handling (CSV download/update), and conditional logic to block duplicates. n8n handles that branching cleanly, and self-hosting means you’re not paying per tiny step once volume grows. If you only want a simple “send me a reminder to engage” automation, Zapier/Make can be simpler. But if you want the likes to happen automatically with a SharePoint audit trail, n8n fits better. Talk to an automation expert if you want help choosing.
Set this up once, then let it quietly do the boring part of LinkedIn for you. You’ll stay visible, avoid repeats, and keep your time for work that actually matters.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.