Huashu Design
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
An n8n workflow that reaches the people who commented on your LinkedIn or Instagram post, through Unipile. LinkedIn commenters who are not yet connections get a request with a short note, Instagram commenters a direct message, one a minute.
LinkedIn invites and Instagram DMs to people who commented is an n8n workflow in the Marketing & SEO category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
Post address form
It starts when you send the Post Engagement Automation form with:
A connection request or a direct message for each commenter who passed the checks, sent from your own account
What you need before you start.
Social account API
Reads the post, its comments and each profile, and sends the requests and messages from your connected accounts.
NeedsUnipile API key and DSN, typed into API Setup
Professional network
Your account sends each connection request, with the note.
NeedsA LinkedIn account connected in Unipile
Social network
Your account sends each direct message.
NeedsAn Instagram account connected in Unipile
Checked by Mindket on 13 Nov 2026
This n8n workflow reaches out to the people who commented on one of your posts. You paste the post’s address into a form, and through Unipile it reads the comments and looks up the profile of each person who left one. On LinkedIn, anyone not yet connected to you gets a connection request with a short note. On Instagram, a commenter who passes two relationship checks gets a direct message instead. Words in the note are picked at random from a template, so the people on one post get slightly different notes signed with your account’s name. Nothing is posted in public. The run waits a minute after each send. Twenty-nine nodes run it.
Consultants, creators and small-business owners whose posts draw comments from people they would like in their network. Skip it if your account matters more than the reach. LinkedIn and Instagram both forbid this kind of automation in their terms.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Consulting | Independent consultants | Run it on a case study a day after it goes out | A consultant sends a request to the eight people who commented on a project write-up. |
| Recruiting | In-house recruiters | Rewrite the note around the role, then run it on the job post | A recruiter’s note thanks each commenter and offers a call about the opening. |
| Coaching | Coaches who post on Instagram | Message the commenters on a reel | A fitness coach thanks each commenter on a reel in a direct message. |
| Events | Event organizers | Run it on the announcement post | An organizer connects with everyone who said in the comments that they would come. |
You need a little n8n and a Unipile account. Setup means two values in one node, which its author puts at about 5 minutes.
Any n8n that can reach your Unipile server will run it. Your social accounts stay connected in Unipile, never in n8n.
activity- and a long number/p/, /reel/ or /reels/Get it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Connect your accounts in Unipile first.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| Unipile | An account, its API key and its DSN |
| Your account, connected in Unipile, for the requests | |
| Your account, connected in Unipile, for the messages |
workflow.json.API Setup and replace YOUR_UNIPILE_DNS with your DSN, the host and port Unipile shows, without https://.YOUR_UNIPILE_API with your API key.✍️ Generate Personalized Message and ✍️ Generate Personalized Message1 so it sounds like you.Open the form and paste the post’s address. The form thanks you at once. The run goes on behind it. Each send is followed by a minute’s wait, so thirty sends take half an hour or more. Open the run under Executions to see who was sent what, since each send node shows the person it went to and the note that went with it. A skipped commenter or a refused send moves straight to the next one.
| To change | Where |
|---|---|
| The note | template in both message nodes. Words in braces, split by a vertical bar, are picked at random |
| Your sign-off | Your account’s name in Unipile, or My Brand when it has none |
| The pause | ⏱️ Wait (Rate Limiting) and ⏱️ Wait (Rate Limiting)1, one minute each |
| Who gets a request | ❓ Should Send Request?, which wants is_relationship false |
| Who gets a message | The two conditions in If1 |
You paste the share address of a LinkedIn post.
https://www.linkedin.com/posts/jane-doe_sourdough-activity-7123456789012345678-AbCd
Get Post ID takes 7123456789012345678 from it, and Unipile returns the post and its comments. Sam Lee commented and is not a connection yet, so the template gives one of its many notes:
Hi Sam Lee, I appreciate you engaging with my post. Happy to connect and exchange ideas. Cheers, Jane Doe
The request goes out with that note. A minute later the loop moves to the next commenter.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. Here If sends LinkedIn addresses along the top row and everything else along the bottom one. Each row loops over the commenters one at a time. Start small. Try a post with few comments first, then open each node and read what Unipile sent back to it.
For experts. Every call is an HTTP Request to Unipile’s API, with your key in an X-API-KEY header.
| Node | Call | What to know |
|---|---|---|
🔍 Get Accounts | GET /api/v1/accounts | The first LINKEDIN and INSTAGRAM accounts are the ones used |
🔍 Fetch All Comments and 🔍 Fetch All Comments1 | GET /api/v1/posts/{id}/comments | One page only. The answer’s cursor for more is not followed |
🔗 Check Connection Status | GET /api/v1/users/{id} | Reads is_relationship |
📨 Send Connection Request | POST /api/v1/users/invite | Sends provider_id, account_id and the note, which Unipile caps at 300 characters |
🔗 Get Profile Info | GET /api/v1/users/me | Nothing reads its answer |
📨 Send Connection Message | POST /api/v1/chats | Opens a chat with the commenter’s provider_messaging_id and the text |
Both sends have an error branch, so a refused request skips its wait.
The risk here falls on your accounts more than your bill.
is_relationship, so someone you already invited is asked againactivity- and a number stops the run at Get Post IDAPI Setup in plain text, so take it out before you share the workflowAn n8n workflow for the people who comment on your posts. You paste a post's address into a form. Through Unipile, the
workflow reads the post's comments and looks up each commenter. On LinkedIn, anyone who is not yet a connection gets a
connection request with a short note. On Instagram, a commenter who passes two checks gets a direct message. It waits a minute
after each send.
Read Good to know before the first run. LinkedIn and Instagram both forbid this kind of automation in their terms.
workflow.json: the workflow as n8n exports it, 29 working nodes and three sticky notes. It holds no credential and noREADME.md: these notes.Get Post ID reads the post's number with activity-(\d+)- again. The export had dropped the backslash, so the patternGet Post ID1 lost two backslashes the same way, and its pattern would not even parse. It reads the code from a /p/,/reel/ or /reels/ address again.API Setup already held the placeholders YOUR_UNIPILE_DNS and YOUR_UNIPILE_API, so they stay as they came.workflow.json.API Setup. Replace YOUR_UNIPILE_DNS with your DSN: the host and port your Unipile dashboard shows, withouthttps://.YOUR_UNIPILE_API with your Unipile API key.✍️ Generate Personalized Message and ✍️ Generate Personalized Message1, and change it to📋 Form: Enter Post URL and paste a post with two or three comments.API Setup holds your Unipile values, and 🔍 Get Accounts lists your connected accounts.If sends an address that contains linkedin.com to the LinkedIn row. Anything else goes to the Instagram row.Get Post ID takes the number after activity- and the id of your first LinkedIn account.🔍 Fetch LinkedIn Post and 🔍 Fetch All Comments read the post and its comments. 📤 Split Comments Array makes🔄 Loop Over Items hands over one commenter at a time, and 🔗 Check Connection Status reads their profile.❓ Should Send Request? passes only a profile whose is_relationship is false.✍️ Generate Personalized Message writes the note, and 📨 Send Connection Request sends the request with it.⏱️ Wait (Rate Limiting) waits one minute before the loop takes the next commenter. A skipped person or a failed sendGet Post ID1 takes the post's code from the address and the id of your first Instagram account.🔍 Fetch Instagram Post and 🔍 Fetch All Comments1 read the post and its comments.🔗 Get Profile Info asks for your own profile and 🔗 Check Followers Status for theirs.If1 lets them through when both relationship_status.followed_by and relationship_status.has_received_invitation✍️ Generate Personalized Message1 writes the text, and 📨 Send Connection Message starts a chat with it.⏱️ Wait (Rate Limiting)1 waits one minute before the next commenter.The form answers as soon as you send it, and the run goes on behind it. Thirty commenters who all get a send take at least
half an hour.
Both message nodes share one template. Words in braces, split by |, are picked at random, so two commenters rarely get the
same note. {{fullname}} becomes the commenter's name. {{signatureName}} becomes your account's name in Unipile, orMy Brand when it has none. A LinkedIn note uses the first and last name, an Instagram one the profile's full name.
Hi Sam Lee,
I appreciate you engaging with my post.
Happy to connect and exchange ideas.
Cheers,
Jane Doe
Unipile's documentation allows 300 characters in an invitation note. The template stays well under that unless you add a lot.
template in both message nodes. Keep {{fullname}} and {{signatureName}}.⏱️ Wait (Rate Limiting) and ⏱️ Wait (Rate Limiting)1, one minute each. A longer wait is kinder to your❓ Should Send Request?.If1.📋 Form: Enter Post URL.is_relationship, so someone you already invited is asked again. Unipile's documentationactivity- and a number in it, as a post's share link has. Other LinkedIn addresses stop the runGet Post ID. Any address without linkedin.com goes down the Instagram row.🔗 Get Profile Info fetches your own profile for every Instagram commenter, and nothing reads the answer.API Setup in plain text, so take it out before you share the workflow.README.md 7 KB workflow.json 37 KB
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
nerijs · Kit
A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…
LiconStudio · Kit
Keeps characters, clothing, objects and backgrounds consistent in generated video by feeding the model up to five reference images. A LoRA for LTX-2.5 in Comfy…
nhathoangfoto · Kit
A LoRA for FLUX.2 Klein 9B that puts a character into the pose shown by a mannequin reference while keeping the character's face and style. For artists and des…