🔓 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 + TikTok posting, approve once, publish everywhere

Lisa Granqvist Partner Workflow Automation Expert

Your content process probably isn’t “hard.” It’s just annoying. Ideas show up in DMs, voice notes live in random chats, captions get rewritten three times, and then you still have to upload the same video to multiple places without messing up a hashtag or account.

This is where Telegram TikTok automation pays off fast. Content managers feel it when approvals stall. Agency owners feel it when clients want “just one more tweak.” And solo creators get crushed by the repeat uploads.

This workflow turns Telegram into your “single inbox” for idea → approval → video generation → publishing, with status updates that come back to the same chat so you’re not guessing what posted.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Telegram + TikTok posting, approve once, publish everywhere

The Problem: Multi-Platform Posting Turns Into Rework

Posting a video should be the easy part. In reality, it’s where momentum dies. You’ve got the idea, then you hunt for the file, then you paste captions into TikTok, then you repeat it for Instagram and Facebook, and each platform has its own little “gotcha.” A missed flag, the wrong account, a caption that gets clipped, a video that uploads but never publishes. Now you’re reuploading, apologizing, and trying to remember what version was “final.”

The friction compounds. After a few cycles, people post less often because it’s mentally expensive.

  • Manual uploads across TikTok, Instagram, and Facebook easily take about 30 minutes per finished video once you include switching accounts and double-checking captions.
  • Approval happens in one place, but publishing happens somewhere else, so teams lose the “approved” version and accidentally post an older draft.
  • Status is unclear, which means you keep refreshing apps or asking “did that go live?” instead of moving on.
  • When a platform fails, you often find out late, and you end up redoing work you already did once.

The Solution: Telegram In, Approved Content Out (Auto-Published)

This workflow gives you a clean pipeline that starts in Telegram and ends with published posts. You send a text idea or a voice note to a Telegram bot. If it’s voice, the workflow downloads the audio and uses OpenAI Whisper to transcribe it into text. Then an AI agent (backed by an OpenAI chat model) drafts two things: a video prompt for Gemini and a ready-to-post caption with hashtags. You review it right inside Telegram, ask for changes if needed, and only when you reply “approved” does the workflow move forward.

From there, Gemini generates a vertical 9:16 video. The file gets staged in Google Drive (upload, then download as binary so it’s easy to pass along). Blotato uploads the media once and creates posts for TikTok, Instagram, and Facebook using the same approved caption. Finally, the workflow polls each platform’s posting status and sends you a Telegram confirmation when each one is published (or an error message if something fails).

What You Get: Automation vs. Results

Example: What This Looks Like

Say you publish 4 videos a week, and each one needs to go to TikTok, Instagram, and Facebook. If manual posting takes maybe 10 minutes per platform, that’s about 2 hours a week just uploading and checking. With this workflow, you drop a voice note into Telegram (about 1 minute), approve the draft in the same chat, then wait for generation and publishing while you do other work. You still spend time reviewing, but the repetitive uploading mostly disappears.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Telegram for the bot-based content inbox
  • OpenAI to transcribe voice and draft text
  • Google Gemini (Vertex) to generate the video
  • Google Drive to stage the generated video file
  • Blotato to publish to TikTok, Instagram, Facebook
  • Google Sheets (optional) to log prompts and captions
  • Telegram Bot API Key (get it from BotFather in Telegram)
  • OpenAI API Key (get it from your OpenAI dashboard)
  • Blotato API Key (get it from your Blotato settings)

Skill level: Intermediate. You’ll connect a few accounts, paste API keys, and test a publish to make sure permissions are right.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

A message hits your Telegram bot. The workflow triggers on every incoming Telegram message, then normalizes it so downstream steps always receive a single text field.

Voice gets transcribed, text passes through. If you sent a voice note, n8n downloads the audio file and runs it through OpenAI Whisper to get a transcript. If you sent text, it skips the transcription path.

AI drafts, you approve, and it keeps context. The AI agent proposes a video prompt (for Gemini) plus a social caption with hashtags, then asks what you want changed. A memory buffer keeps the conversation coherent so “make it punchier” actually sticks. When you reply “approved,” the workflow parses the final JSON and logs the prompt/caption to Google Sheets.

Video gets generated, staged, and published everywhere. Gemini generates the 9:16 video, Google Drive temporarily stores it, and Blotato uploads the media once and creates posts for TikTok, Instagram, and Facebook. n8n then polls each post status and sends Telegram confirmations as each platform finishes.

You can easily modify the approval wording to match your team’s style based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Telegram Trigger

Set up the workflow entry point so messages in Telegram start the automation.

  1. Add and open Telegram Incoming Trigger.
  2. Credential Required: Connect your telegramApi credentials.
  3. In Updates, keep message selected to capture text and voice messages.
  4. Save and note the webhook URL if you need to register it with your Telegram bot.
Tip: Send a test message to your bot before proceeding to verify that Telegram Incoming Trigger receives payloads.

Step 2: Extract Text and Route Voice Messages

Normalize incoming Telegram data and handle voice messages by transcription.

  1. Open Extract Message Text and set text to {{$json?.message?.text || ""}}.
  2. In Is Voice Message?, keep the condition that checks {{$json.message.text}} is empty to route voice uploads.
  3. Open Fetch Voice File and set File ID to {{ $('Telegram Incoming Trigger').item.json.message.voice.file_id }}.
  4. Credential Required: Connect your telegramApi credentials on Fetch Voice File.
  5. Open Transcribe Audio and keep Resource set to audio and Operation set to transcribe.
  6. Credential Required: Connect your openAiApi credentials on Transcribe Audio.
⚠️ Common Pitfall: If users send voice messages without proper Telegram file permissions, Fetch Voice File will return an empty file and transcription will fail.

Step 3: Set Up the AI Prompting Layer

Configure the AI agent to generate a video prompt and social copy, plus memory for iterative feedback.

  1. Open Prompt Assistant and keep Text set to {{$json.text}} and Prompt Type set to define.
  2. Ensure OpenAI Chat Engine is connected as the language model for Prompt Assistant.
  3. Credential Required: Connect your openAiApi credentials on OpenAI Chat Engine (credentials are added to the parent, not the agent).
  4. Open Conversation Window Memory and set Session Key to {{ $('Telegram Incoming Trigger').first().json.message.from.id }} with Context Window Length set to 10.
Tip: Conversation Window Memory is a tool sub-node. Add credentials to the parent AI model node (in this case OpenAI Chat Engine), not the memory node itself.

Step 4: Parse AI Output and Log Prompts

Validate the AI JSON output, notify the user, and store prompts in a spreadsheet.

  1. Review Approval Received? to confirm it detects JSON by checking {{$json.output}} contains videoPrompt and socialMediaText.
  2. Keep Parse AI Result as-is to extract videoPrompt and socialMediaText from the AI output.
  3. Open Notify Processing and confirm Text is set to Okay. Your video is being prepared now. I'll let you know as soon as it's online. and Chat ID to {{ $('Telegram Incoming Trigger').item.json.message.chat.id }}.
  4. Credential Required: Connect your telegramApi credentials on Notify Processing.
  5. Open Append Prompt Log and confirm Operation is append, Document ID is your spreadsheet ID, and Sheet Name is gid=0.
  6. Credential Required: Connect your googleSheetsOAuth2Api credentials on Append Prompt Log.
⚠️ Common Pitfall: If your Google Sheet doesn’t include columns prompt and text, Append Prompt Log will fail to append.

Step 5: Generate and Store the Video Asset

Create the video via Gemini, upload it to Drive, then download for media distribution.

  1. Open Produce Video Clip and set Prompt to {{ $('Parse AI Result').item.json.videoPrompt }} with Resource set to video.
  2. Credential Required: Connect your googlePalmApi credentials on Produce Video Clip.
  3. Open Upload Video to Drive and set Name to {{$binary.generated_video.fileName || 'video.mp4'}}, and choose your target Folder.
  4. Credential Required: Connect your googleDriveOAuth2Api credentials on Upload Video to Drive.
  5. Open Download Drive Video and keep Operation as download, with File ID set to {{ $('Upload Video to Drive').item.json.id }}.
  6. Credential Required: Connect your googleDriveOAuth2Api credentials on Download Drive Video.

Step 6: Upload Media and Publish to Social Platforms

Upload the video once, then publish to Instagram, TikTok, and Facebook in parallel.

  1. Open Upload Media Asset and keep Resource set to media with Use Binary Data enabled.
  2. Credential Required: Connect your blotatoApi credentials on Upload Media Asset.
  3. Confirm parallel execution: Upload Media Asset outputs to both Create Instagram Post and Create TikTok Post and Create Facebook Post in parallel.
  4. In Create Instagram Post, set Post Content Text to {{ $('Parse AI Result').item.json.socialMediaText }} and Post Content Media URLs to {{ $json.url }}.
  5. In Create TikTok Post, set Platform to tiktok, Post Content Text to {{ $('Parse AI Result').item.json.socialMediaText }}, Post Content Media URLs to {{ $json.url }}, and enable AI Generated.
  6. In Create Facebook Post, set Platform to facebook and fill Facebook Page ID and Account ID.
  7. Credential Required: Connect your blotatoApi credentials on all Blotato publishing nodes (Create Instagram Post, Create TikTok Post, Create Facebook Post).
Tip: Replace placeholder values like [YOUR_ID] in your Blotato account and page selectors before testing.

Step 7: Configure Status Checks and Notifications

Poll publishing status and notify the user when posts are live or if failures occur.

  1. Keep Delay TikTok Check, Delay Instagram Check, and Delay Facebook Check set to 30 seconds to pace status polling.
  2. Configure Check TikTok Status, Retrieve Instagram Post, and Retrieve Facebook Post with Post Submission ID set to {{ $json.postSubmissionId }}.
  3. In TikTok Published?, Instagram Published?, and Facebook Published?, keep the condition matching published status to drive success routing.
  4. Confirm the “in-progress” loops use TikTok In Progress?, Instagram In Progress?, and Facebook In Progress? with corresponding wait nodes Pause TikTok 5s, Pause Instagram 5s, and Pause Facebook 5s.
  5. Set success notifications using Confirm TikTok Live, Confirm Instagram Live, and Confirm Facebook Live with Chat ID set to {{ $('Telegram Incoming Trigger').item.json.message.chat.id }} and Text referencing {{ $json.publicUrl }}.
  6. Ensure failure notifications Alert TikTok Failure, Alert Instagram Failure, and Alert Facebook Failure are connected to the “false” branches of the in-progress checks.
  7. Credential Required: Connect your telegramApi credentials on all Telegram notification nodes (9 total, including confirmations and alerts).
⚠️ Common Pitfall: Instagram Published? uses a right-side value of =published. If your API returns published without the equals sign, update the condition to match exactly.

Step 8: Test and Activate Your Workflow

Run end-to-end tests and then activate for production use.

  1. Click Execute Workflow and send a test text message to your Telegram bot to trigger Telegram Incoming Trigger.
  2. Verify that Prompt Assistant replies with a draft and that Send Draft to User delivers it to Telegram.
  3. Reply “approved” in Telegram to push the flow through Approval Received?, Parse AI Result, and Notify Processing.
  4. Confirm that Produce Video Clip generates output, Upload Video to Drive stores it, and Upload Media Asset provides a media URL.
  5. Ensure posts are created on all platforms and that you receive live confirmations from Confirm TikTok Live, Confirm Instagram Live, and Confirm Facebook Live.
  6. When everything works as expected, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Telegram credentials can expire or need specific permissions. If things break, check your bot token in BotFather and confirm the token in n8n first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Blotato can fail silently if the connected social account loses authorization. If you start getting “in-progress” loops forever, check your Blotato account connections and reconnect TikTok/Instagram/Facebook.

Frequently Asked Questions

How long does it take to set up this Telegram TikTok automation?

About an hour if you already have the API keys and accounts connected.

Do I need coding skills to automate Telegram TikTok posting?

No. You’ll mostly paste credentials and adjust a few text fields. The only “technical” part is testing once and confirming each platform can publish.

Is n8n free to use for this Telegram TikTok automation 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 (Whisper + chat) and Gemini video generation costs, plus whatever Blotato plan you’re on.

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.

Can I customize this Telegram TikTok automation workflow for posting only to TikTok?

Yes, and it’s a common tweak. In n8n, you can disable the Blotato branches for Instagram and Facebook by turning off the “Create Instagram Post” and “Create Facebook Post” paths. You can also adjust the AI Agent’s system prompt so it writes a shorter TikTok-first caption, then keep the rest of the approval loop exactly the same.

Why is my Telegram connection failing in this workflow?

Usually it’s a bad or rotated bot token. Regenerate or re-copy the token from BotFather, update the Telegram credentials in n8n, then send a fresh message to the bot to re-test. If it still fails, make sure you are talking to the correct bot and that your trigger node is listening to the right update types (text and voice).

How many videos can this Telegram TikTok automation handle?

If you self-host, it’s mostly limited by your server and the external APIs, not n8n.

Is this Telegram TikTok automation better than using Zapier or Make?

For this use case, n8n is usually the better fit because the workflow needs branching logic (voice vs text), an approval loop with memory, file handling, and status polling. Those pieces are doable in Zapier or Make, but they get clunky and can get expensive as you add steps and retries. n8n also gives you a self-host option, which is handy when you start running more executions. Zapier still wins for simple two-step automations and quick prototypes, honestly. Talk to an automation expert if you want help choosing.

Once this is running, Telegram becomes the only place you need to think about posting. The workflow handles the repetitive parts, then taps you on the shoulder when everything is live.

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