🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Telegram to LinkedIn, approve posts before they go live

Lisa Granqvist Partner Workflow Automation Expert

If LinkedIn posting feels like a messy side project, you’re not imagining it. Ideas land in random places, drafts get rewritten three times, and you still hesitate before hitting publish.

This Telegram LinkedIn approval automation hits marketing managers first, but founders and consultants feel it too. You get a repeatable “draft → feedback → approve → publish” loop that protects your voice and stops half-finished posts from slipping through.

You’ll see how the workflow turns a Telegram text (or voice note) into a LinkedIn-ready post, keeps revisions inside the same chat, and only publishes once you explicitly approve it.

How This Automation Works

See how this solves the problem:

n8n Workflow Template: Telegram to LinkedIn, approve posts before they go live

The Challenge: Publishing consistently without sounding generic

LinkedIn rewards consistency, but consistency is hard when every post starts from scratch. One day you have a solid idea, the next day you’re staring at a blank page, rewriting the hook because it “doesn’t feel like you.” Voice notes help, until you have to transcribe them. Collaboration helps, until feedback is split across Slack, docs, and DMs. And the biggest issue is trust: if you automate publishing too early, you risk posting something slightly off-brand at the worst possible time.

It adds up fast. Here’s where it breaks down in real life.

  • Drafting from a raw idea can take 30 minutes, and that’s before edits or approvals.
  • Voice notes are quick to record, but converting them into clean text becomes a tedious extra step.
  • Feedback arrives in fragments, so you end up doing “final” rewrites that are not final at all.
  • Posting without a clear approval moment creates anxiety, which often turns into missed posting days.

The Fix: Telegram-to-draft creation with an approval loop

This workflow turns Telegram into your capture box, your writing assistant, and your “publish gate.” You send a message to your Telegram bot as plain text or a voice note. If it’s voice, the workflow downloads the audio and transcribes it using OpenAI’s speech-to-text. Then an AI agent drafts a LinkedIn post using a structured prompt (hook up top, readable paragraphs, hashtags at the end, emojis used sparingly). The draft comes back to Telegram for review, and you can reply with feedback like “shorter,” “more direct,” or “make it more technical.” Nothing gets posted yet. Only when you reply with an approval keyword (“ok,” “approved,” “sounds good”) does the workflow switch formats, extract the final post text, and publish via Blotato to LinkedIn.

The flow begins with a Telegram message trigger, then optionally transcribes audio, then runs the AI drafting and revision loop. After approval, Blotato publishes the post, and the workflow checks status until it’s published (or fails), then messages you the result with a link.

What Changes: Before vs. After

Real-World Impact

Say you post 4 times a week. Manually, a typical cycle might be 30 minutes to write, 10 minutes to polish formatting and hashtags, and another 10 minutes to get final sign-off or confidence to publish, so roughly 50 minutes per post (over 3 hours weekly). With this workflow, you drop a Telegram idea in about a minute, spend maybe 5 minutes refining the AI draft in chat, then reply “ok.” Publishing runs in the background with a couple short status checks. You’re usually back to work in under 10 minutes.

Requirements

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Telegram to capture ideas and approvals.
  • OpenAI for speech-to-text and draft generation.
  • Blotato API Key (get it from your Blotato account settings).

Skill level: Intermediate. You’ll connect credentials, paste API keys, and adjust a prompt, but you won’t be writing code unless you want deeper customization.

Need help implementing this? Talk to an automation expert (free 15-minute consultation).

The Workflow Flow

A Telegram message kicks everything off. You send either text or a voice note to your bot, and the workflow standardizes that input so the AI gets one clean “prompt.”

Voice notes become usable text. When the incoming message has no text, the workflow downloads the audio from Telegram and transcribes it with OpenAI speech-to-text so nothing gets lost.

The AI drafts, then revises in a loop. An AI agent generates a LinkedIn post using your rules (hook, structure, tone, hashtags), sends it back to Telegram, and uses conversation memory so edits like “more confident” or “cut the fluff” actually stick.

Approval triggers publishing and status checks. Once you reply with an approval keyword, the workflow extracts the final post text, publishes through Blotato, waits briefly, then checks status until it’s published or fails, and finally messages you the result.

You can easily modify the approval keywords or switch from “publish now” to “schedule for tomorrow morning” based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Telegram Message Trigger

Set up the Telegram trigger so the workflow starts whenever a new message arrives.

  1. Add the Telegram Message Trigger node and set Updates to message.
  2. Credential Required: Connect your telegramApi credentials in Telegram Message Trigger.
  3. Connect Telegram Message Trigger to Prepare Message Input.

Step 2: Normalize the Incoming Message

Prepare a consistent text input for the AI, whether the user typed a message or sent a voice note.

  1. In Prepare Message Input, add a field named text and set String Value to {{ $json?.message?.text || "" }}.
  2. Connect Prepare Message Input to Voice Note Check.
  3. In Voice Note Check, set the condition to check if {{ $json.message.text }} is empty (string → empty).
  4. Connect the true branch of Voice Note Check to Retrieve Voice File and the false branch to AI Draft & Revise.

Step 3: Transcribe Voice Notes and Generate the Draft

Convert voice messages to text, then let the AI generate a LinkedIn post draft.

  1. In Retrieve Voice File, set File ID to {{ $('Telegram Message Trigger').item.json.message.voice.file_id }}.
  2. Credential Required: Connect your telegramApi credentials in Retrieve Voice File.
  3. In Audio Transcription, set Resource to audio and Operation to transcribe.
  4. Credential Required: Connect your openAiApi credentials in Audio Transcription.
  5. In AI Draft & Revise, set Text to {{ $json.text }} and keep Prompt Type as define.
  6. Ensure OpenAI Chat Engine is connected as the language model for AI Draft & Revise.
  7. Credential Required: Connect your openAiApi credentials in OpenAI Chat Engine (credentials are applied to the parent AI node, not the memory sub-node).
  8. Attach Conversation Window Memory to AI Draft & Revise with Session Key set to {{ $('Telegram Message Trigger').first().json.message.from.id }} and Context Window Length set to 10.

If the AI keeps losing context between messages, confirm the Conversation Window Memory Session Key expression matches the sender’s Telegram ID exactly.

Step 4: Validate Approval and Extract the Final Post

Route the AI output based on whether the user approved the draft and extract the final JSON payload.

  1. In Approval Validation, keep the three string conditions that check {{ $json.output }} for videoPrompt, socialMediaText, or a JSON start ({).
  2. Connect the true branch of Approval Validation to Extract Approved Post.
  3. Connect the false branch of Approval Validation to Send Draft for Approval.
  4. In Send Draft for Approval, set Text to {{ $('AI Draft & Revise').item.json.output }} and Chat ID to {{ $('Telegram Message Trigger').first().json.message.chat.id }}.
  5. Credential Required: Connect your telegramApi credentials in Send Draft for Approval.
  6. Leave the Extract Approved Post code as-is to parse and validate the JSON output.

⚠️ Common Pitfall: If the AI responds with extra text after approval, Extract Approved Post will throw an error. Ensure the AI only returns JSON when approval keywords are received.

Step 5: Publish to LinkedIn via Blotato and Monitor Status

Send the approved post to Blotato, wait for processing, and poll the status until it’s published or fails.

  1. In Publish via Blotato, set Platform to linkedin, Account ID to [YOUR_ID], and Post Content Text to {{ $json.Post }}.
  2. Credential Required: Connect your blotatoApi credentials in Publish via Blotato.
  3. Connect Publish via BlotatoWait for BlotatoQuery Post Status.
  4. In Query Post Status, set Operation to get and Post Submission ID to {{ $json.postSubmissionId }}.
  5. Credential Required: Connect your blotatoApi credentials in Query Post Status.
  6. In Published Status Check, keep the condition {{ $json.status }} equals published, then connect to Send Confirmation Notice.
  7. In In Progress Check, keep the condition {{ $('Query Post Status').item.json.status }} equals in-progress, then connect to Wait More for Blotato and loop back to Query Post Status.
  8. Connect the false branch of In Progress Check to Send Failure Alert for non-published states.

Step 6: Configure Telegram Notifications

Send status updates back to the user in Telegram for success or failure.

  1. In Send Confirmation Notice, set Text to =Your post is online! Click here to go to the post: {{ $json.publicUrl }} and Chat ID to {{ $('Telegram Message Trigger').item.json.message.chat.id }}.
  2. Credential Required: Connect your telegramApi credentials in Send Confirmation Notice.
  3. In Send Failure Alert, set Text to There was an error uploading your post. and Chat ID to {{ $('Telegram Message Trigger').item.json.message.chat.id }}.
  4. Credential Required: Connect your telegramApi credentials in Send Failure Alert.

Step 7: Test and Activate Your Workflow

Verify the end-to-end flow for text and voice messages, then enable the workflow for production use.

  1. Click Execute Workflow and send a Telegram text message to trigger Telegram Message Trigger.
  2. Confirm that Prepare Message Input outputs the text field and that AI Draft & Revise returns a draft.
  3. Reply with an approval keyword (e.g., “approved”, “ok”, “passt”) and verify Extract Approved Post produces a Post field.
  4. Check that Publish via Blotato returns a submission ID and that Query Post Status progresses to published.
  5. Verify that Send Confirmation Notice posts the public URL back to Telegram.
  6. When everything works, switch the workflow to Active to run continuously.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Watch Out For

  • Telegram bot tokens are easy to rotate and forget. If messages stop triggering, check the Telegram credentials in n8n first, then confirm the bot is still in the right chat.
  • If you’re using Wait nodes or external publishing, 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.

Common Questions

How quickly can I implement this Telegram LinkedIn approval automation?

About 30 minutes once you have your API keys.

Can non-technical teams implement this Telegram LinkedIn approval?

Yes. You’ll mostly connect accounts and paste keys into n8n credentials, then adjust the writing prompt to match your voice.

Is n8n free to use for this Telegram LinkedIn approval workflow?

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 usage for transcription and generation, plus whatever Blotato charges for publishing.

Where can I host n8n to run this automation?

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.

How do I adapt this Telegram LinkedIn approval solution to my specific challenges?

Start inside the “AI Draft & Revise Post” node and edit the System Prompt to reflect your tone, audience, and formatting rules. If you want different approval words, change the logic in the approval check so it recognizes what your team actually says in chat. For scheduling instead of immediate posting, adjust the “Create post with Blotato” node to a scheduling action (if available) and add a small step before it to set the scheduled time. You can also swap the “OpenAI Chat Model” node to a different model if you want faster drafts or higher quality.

Why is my Telegram connection failing in this workflow?

Usually it’s a bot token issue or the bot isn’t allowed to read messages in the chat you’re using. Re-check the Telegram credentials in n8n, confirm you’re messaging the right bot, and make sure the workflow is enabled. If voice notes fail but text works, the file download step can also break when Telegram file permissions change, so check the “Retrieve Voice File” node run logs.

What’s the capacity of this Telegram LinkedIn approval solution?

On a typical n8n Cloud plan you can run hundreds to thousands of these drafts per month, depending on your plan and how often you post. If you self-host, capacity mostly depends on your server and OpenAI rate limits, not n8n itself. Practically, most people run this a few times per day at most, which is well within limits.

Is this Telegram LinkedIn approval automation better than using Zapier or Make?

Often, yes, because the “approval loop” needs branching logic, memory, and conditional checks that get awkward (and pricey) in simpler automation tools. n8n also gives you the option to self-host, which can matter once you’re iterating a lot. Zapier or Make can still be fine if you only want “Telegram message → create a draft somewhere” with no revisions. But if you care about keeping the conversation context and only publishing after explicit approval, n8n fits more naturally. Talk to an automation expert if you want help choosing the simplest setup for your team.

Once this is running, posting stops being a recurring debate in your head. The workflow handles the capture, drafting, and approval gate so you can focus on the ideas that actually move your business forward.

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.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal