LinkedIn + Telegram: better comments, safer posting
Keeping up with LinkedIn comments sounds simple until you’re doing it every day. You rush, you repeat yourself, you accidentally sound salesy, and then you’re stuck rereading everything before you hit “Post.”
Marketing managers feel it first because engagement is the job. But founders building a personal brand and consultants doing client visibility work run into the same wall. This LinkedIn comment automation drafts replies in your voice and routes them to Telegram for a quick approval, so you stay consistent without handing over control.
Below you’ll see how the workflow runs, what it produces, and the practical setup details that matter (including the “guardrails” that keep it from getting weird).
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: LinkedIn + Telegram: better comments, safer posting
flowchart LR
subgraph sg0["URL Flow"]
direction LR
n0@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n1@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n2@{ icon: "mdi:wrench", form: "rounded", label: "Think", pos: "b", h: 48 }
n3@{ icon: "mdi:brain", form: "rounded", label: "Anthropic Chat Model", pos: "b", h: 48 }
n4@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model1", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser1", pos: "b", h: 48 }
n6@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser2", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n8@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model2", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Defining guardrails", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "Extract the ID of the Linked..", pos: "b", h: 48 }
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Extract the content of the L.."]
n12@{ icon: "mdi:robot", form: "rounded", label: "Set reaction", pos: "b", h: 48 }
n13@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set comment content", pos: "b", h: 48 }
n14["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Send comment"]
n15["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Send reaction"]
n16@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set comment and prompt prope..", pos: "b", h: 48 }
n17@{ icon: "mdi:robot", form: "rounded", label: "Create comment", pos: "b", h: 48 }
n18@{ icon: "mdi:robot", form: "rounded", label: "Determine language and mood", pos: "b", h: 48 }
n19@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check Telegram User id", 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/telegram.svg' width='40' height='40' /></div><br/>Approve oder Disapprove"]
n21["<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/telegram.svg' width='40' height='40' /></div><br/>URL Trigger"]
n7 --> n14
n7 --> n16
n2 -.-> n17
n21 --> n19
n14 --> n15
n12 --> n16
n17 --> n13
n1 -.-> n10
n4 -.-> n12
n8 -.-> n18
n9 --> n10
n13 --> n20
n3 -.-> n17
n19 --> n9
n20 --> n7
n0 -.-> n10
n5 -.-> n17
n6 -.-> n12
n18 --> n12
n16 --> n17
n10 --> n11
n11 --> n18
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 n21 trigger
class n0,n5,n6,n10,n12,n17,n18 ai
class n1,n3,n4,n8 aiModel
class n2 ai
class n7,n19 decision
class n11,n14,n15 api
classDef customIcon fill:none,stroke:none
class n11,n14,n15,n20,n21 customIcon
The Problem: LinkedIn engagement is easy to botch
Commenting consistently on LinkedIn is one of those “small” tasks that quietly eats your week. You open the app to leave a quick reply and suddenly you’re rewriting the same sentence five times because it doesn’t sound like you. Then there’s tone. A thoughtful German comment reads differently than an English one, and mixing them up makes you look careless. The worst part is the risk: one cringe comment can live forever as a screenshot, which means you hesitate and post less.
It adds up fast. Here’s where it usually breaks down.
- You end up doing “drive-by” likes because writing a real comment takes too long.
- When you do comment, the tone drifts, and your personal brand starts feeling inconsistent.
- Manual copy-paste between tools invites mistakes, especially with mentions and names.
- Scaling engagement to multiple accounts or clients becomes a daily scramble instead of a system.
The Solution: Draft, review in Telegram, then post to LinkedIn
This workflow automates LinkedIn engagement in a way that still feels human because you keep the final say. It runs on a schedule, pulls the context it needs (like the post and author details), and detects the language and tone so the output fits the moment. Then an AI model (GPT-4o mini or Claude 3.5 Haiku) generates a personalized comment in your voice and includes a clean mention of the author. If you want a safety check, the draft is sent to Telegram where you can approve it, reject it and regenerate, or just skip posting. When you approve, the workflow publishes the reaction and comment through the Unipile API to LinkedIn.
The workflow starts on a schedule trigger. It chooses a reaction (like, celebrate, support, etc.), generates a comment with your guardrails, and then routes it through Telegram for optional review. Finally, Unipile posts the approved comment and reaction to LinkedIn, with the details logged for tracking.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you aim for 20 thoughtful comments a week. Manually, you might spend about 5 minutes reading the post, drafting, tweaking tone, and double-checking the mention, which is roughly 100 minutes. Add another 20 minutes for second-guessing and rewrites, and you’re near 2 hours. With this workflow, you can batch it: the schedule runs, drafts land in Telegram, and you spend about 20–30 seconds per comment approving or regenerating. That’s closer to 15 minutes of review time, plus the automation does the posting.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Unipile to publish comments and reactions to LinkedIn.
- Telegram to approve or regenerate drafts (optional).
- OpenAI or Anthropic API key (get it from your OpenAI or Anthropic dashboard).
Skill level: Intermediate. You’ll paste API keys, connect accounts, and edit a few brand-voice fields safely.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A schedule kicks things off. n8n runs at the cadence you choose (daily, weekdays only, or a few times per week) so engagement becomes a routine instead of a “when I remember” task.
Context is pulled in and cleaned up. The workflow uses HTTP requests and field-editing steps to gather what the model needs, then strips the noise so the AI is working with the actual content and author info.
The comment and reaction are generated with guardrails. It detects language (German/English), picks a reaction that fits, and produces a comment in your voice. You can tune things like comment length and a few example openers so it sounds like you on a good day.
Approval happens in Telegram, then LinkedIn is updated. If Telegram review is enabled, you approve ✅ or regenerate ❌. Once approved, Unipile posts the comment plus reaction to LinkedIn, and the workflow can log the outcome for reporting.
You can easily modify the approval logic to always post instantly, or to require approval only for certain keywords, languages, or accounts based on your needs. See the full implementation guide below for customization options.
Common Gotchas
- Unipile credentials can expire or need specific permissions. If things break, check your Unipile dashboard for the Access Token (X-API-KEY), plus the account_id and dsn values, first.
- If you’re using Wait nodes or external posting, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Frequently Asked Questions
About 15–30 minutes once your accounts are ready.
No. You’ll mainly connect accounts, paste API keys, and edit a few brand-voice fields.
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 or Anthropic API usage, which is usually low for short comments but depends on your volume.
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 probably should. You can tune the language and voice behavior in the “Defining guardrails” area, then adjust variables like role, comment_length, and openers_example_1-3 to match how you actually write. Many teams also change the If conditions so German comments always require Telegram approval while English can auto-post (or the other way around). If you only want one model, keep the OpenAI or Anthropic node you prefer and delete the other.
Most often it’s an Unipile issue: an expired X-API-KEY, the wrong account_id/dsn, or missing permissions for the LinkedIn account you connected. Update the token in n8n, then re-run a single test item to confirm the HTTP request succeeds. If it fails only at higher volume, you may be hitting rate limits, so spacing out scheduled runs usually helps.
Plenty for a normal posting routine. On n8n Cloud, your monthly execution limit depends on your plan, and each comment typically counts as one run plus a few internal steps. If you self-host, you’re mostly limited by your server and how fast your AI and Unipile calls return. In practice, most small teams run a few dozen comments per day comfortably.
Often, yes, because the logic here isn’t just “send text from A to B.” You’ve got branching decisions (language, approval, regenerate vs. post), plus API calls through Unipile, and that gets clunky and expensive fast in simpler tools. n8n also lets you self-host, which changes the math if you’re doing a lot of engagement. Zapier or Make can still be fine if you only need a basic two-step “generate comment then send to Telegram” setup and you won’t post automatically. If you’re torn, Talk to an automation expert and we’ll sanity-check your use case.
You get the upside of AI-written engagement without the downside of public mistakes. Set it up once, then spend your time approving good comments instead of forcing yourself to write them from scratch.
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.