🔓 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 Upload-Post, approved posts go live

Lisa Granqvist Partner Workflow Automation Expert

Your social posting process probably isn’t “hard.” It’s just endless. Drafts in one place, approvals in another, final posts stuck in a scheduler, and somehow you still miss a day.

This Telegram post automation hits marketers first, because consistency is part of the job. But small business owners and agency leads feel the same friction when approvals drag and content quality slips.

This workflow keeps everything in one loop: generate a post, review it in Telegram, approve it, then publish through Upload-Post. You’ll see how it works, what you need, and where teams usually trip up.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Telegram to Upload-Post, approved posts go live

The Problem: Social posts die in the approval gap

Most teams don’t fail at social because they can’t write. They fail because the writing, checking, approving, and publishing happen in different places, at different times, with different people. A draft gets written, then sits in a doc. Someone requests tweaks in a chat. You copy the final text into a tool, reformat it, and hope you didn’t accidentally remove a link or break the character limit. Multiply that by daily posting and multiple channels, and you’ve created a tiny recurring tax on your business.

It adds up fast. And the worst part is you never feel “done,” because there’s always one more approval, one more paste, one more check.

  • Approvals happen in scattered threads, so you waste time chasing the latest “final” version.
  • Character limits get checked too late, which means last-minute rewrites and weaker hooks.
  • Posting to multiple platforms becomes repetitive admin work, not marketing.
  • When you’re busy, the process breaks, and consistency disappears for a week.

The Solution: Generate, validate, approve in Telegram, then publish

This workflow turns Telegram into your simple “content command center.” It can start on a schedule, send a prompt request to Telegram, and wait for your reply with the topic or angle you want. From there, it uses an AI model (via OpenRouter, so you can choose GPT-4, Claude, and others) to draft the post. Before you ever see it, the workflow audits the output for format, checks quality against a pass threshold, and enforces a tight character range (240–265) so you’re not posting bloated drafts. Then it sends you a clean preview in Telegram. Reply “approve,” and it publishes through Upload-Post to the platforms you’ve connected. Reply “reject,” and it can retry generation (up to three attempts) or cancel cleanly.

The flow starts with a scheduled trigger and a Telegram message. AI writes the draft and the workflow validates it. Finally, a simple Telegram approval decides whether Upload-Post publishes it or the workflow loops back to improve the draft.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you publish one post per day to five channels (LinkedIn, X, Facebook, Instagram, and another community platform). Manually, you might spend about 10 minutes drafting, then another 10 minutes formatting and posting per platform, plus a few minutes chasing an approval. That’s roughly an hour a day. With this workflow, you send a topic in Telegram, wait for the draft, then spend about 5–10 minutes approving (or rejecting). Upload-Post handles the rest, so you’re usually done in under 15 minutes.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Telegram for approvals and notifications.
  • Upload-Post to publish to your social channels.
  • OpenRouter API key (get it from your OpenRouter dashboard).

Skill level: Intermediate. You’ll connect a few accounts, paste API keys, and test the approval loop end-to-end.

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

How It Works

A schedule (or a message) kicks things off. The workflow can run on a set cadence, generate a timestamp for tracking, and then prompt you in Telegram to send a topic or content request.

Your Telegram reply gets checked before anything else happens. If the message format is off, you’ll get an immediate “input error” response so you’re not wondering why nothing posted.

AI drafts the post and the workflow audits it. Using OpenRouter, the content is generated, then shaped into a structured format. A validation pass checks character length (240–265), basic formatting, and a quality threshold so weak drafts don’t sneak through.

You approve or reject in Telegram, then publishing happens automatically. Approved posts can be split into multiple parts if you’re doing threads, then Upload-Post publishes to the channels you’ve connected and confirms success back in Telegram.

You can easily modify the character limits to match a platform’s best practices based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Scheduled Trigger

Set the workflow cadence so it starts content sessions on a predictable schedule.

  1. Add and open Scheduled Launch Trigger.
  2. Set the Rule to trigger every 5 days at 9 AM using the interval settings shown in the node.
  3. Connect Scheduled Launch Trigger to Generate Run Timestamp.

If you want a daily schedule, adjust daysInterval and triggerAtHour accordingly in Scheduled Launch Trigger.

Step 2: Connect Telegram for Topic Intake and Validation

These nodes collect the topic, validate it, and route valid input into the AI flow. There are 6 Telegram-related nodes—connect the same Telegram credentials to all of them.

  1. Open Telegram Topic Request and set Text to the provided multi-line prompt. Keep the expression for schedule name in place: {{ $json.scheduleName }}.
  2. Set Chat ID to {{ $credentials.telegramChatId }} in Telegram Topic Request.
  3. Add Await Telegram Reply and ensure it listens for updates = message.
  4. Configure Verify Reply Format to check that {{ $json.message.reply_to_message }} exists and {{ $json.message.text }} is not empty.
  5. Keep the parsing logic in Interpret User Message to output topic, format_type, and validation_status.
  6. In Route Valid Input, ensure the condition checks {{ $json.validation_status }} equals passed, then connect success to AI Post Composer and failure to Notify Input Error.
  7. In Notify Input Error, keep Chat ID as ={{ $json.chat_id }} so errors return to the right user.

Credential Required: Connect your Telegram credentials to all Telegram nodes (Telegram Topic Request, Await Telegram Reply, Notify Input Error, Send Preview for Approval, Send Cancellation Update, Send Publish Confirmation).

Step 3: Set Up AI Generation and Structured Output

This step generates social content and ensures a structured JSON response for downstream processing.

  1. Open AI Post Composer and set Text to =Create social media content about: {{ $json.topic }} Format type: {{ $json.format_type }}.
  2. Keep the long System Message in AI Post Composer to enforce character and style rules.
  3. Connect Primary Language Model to AI Post Composer as the language model; set Model to openai/gpt-4o.
  4. Attach Shape AI Response to AI Post Composer as the output parser and leave the manual schema as provided.
  5. If you want web lookup, connect Optional Web Research to AI Post Composer and keep Query as ={{ $fromAI('Query', '', 'string') }}.

Credential Required: Connect your OpenRouter credentials in Primary Language Model. Shape AI Response and Optional Web Research are AI sub-nodes—add credentials to the parent AI Post Composer, not the sub-nodes. If using web research, also connect your Tavily credentials on AI Post Composer.

Step 4: Configure Quality Checks and Preview Creation

Validate the AI output, then build a user-friendly preview for approval.

  1. Verify Audit Generated Content keeps the quality checks and outputs validation_status and tweets_array.
  2. In Quality Approval Gate, confirm the condition checks {{ $json.validation_status }} equals passed to route valid output to Build Preview Text.
  3. Keep Build Preview Text as-is to generate preview_text that includes topic, format, and post count.
  4. Note the parallel flow: Build Preview Text outputs to both Send Preview for Approval and Combine Approval Data in parallel.

⚠️ Common Pitfall: If Audit Generated Content fails often, adjust your topic prompt or the character limits inside the system message of AI Post Composer.

Step 5: Configure Approval Routing and Publishing

Route user approval, split posts for release, and publish to social channels with confirmation.

  1. In Send Preview for Approval, set Chat ID to {{ $node['Interpret User Message'].json.chat_id }} and Message to ={{ $json.preview_text }} with Operation = sendAndWait.
  2. Ensure Combine Approval Data is in mode = combine and combineBy = combineByPosition.
  3. In Evaluate Approval Choice, check {{ $json.data.approved }} is true to send approved content to Split Posts for Release, and rejected content to Send Cancellation Update.
  4. In Split Posts for Release, set Field To Split Out to tweets_array.
  5. Configure Publish to Social Channels with User = {{ $credentials.username }}, Title = ={{ $json.post }}, Operation = uploadText, Platform = x and linkedin, and X Reply Settings = everyone.
  6. Set Send Publish Confirmation to message the same user using {{ $node['Interpret User Message'].json.chat_id }}.

Credential Required: Connect your upload-post platform credentials for Publish to Social Channels. Also confirm Telegram credentials are connected for Send Preview for Approval, Send Cancellation Update, and Send Publish Confirmation.

Step 6: Test and Activate Your Workflow

Validate the full execution from scheduled trigger to approval and publishing.

  1. Manually execute the workflow from Scheduled Launch Trigger and confirm Telegram Topic Request sends the prompt.
  2. Reply in Telegram using a valid format like “sustainable living tips - single” and verify Interpret User Message outputs validation_status = passed.
  3. Confirm the AI path runs from AI Post ComposerAudit Generated ContentQuality Approval Gate and that the preview is sent.
  4. Approve with ✅ and ensure posts publish via Publish to Social Channels and a final message arrives from Send Publish Confirmation.
  5. Activate the workflow by toggling it to Active once tests succeed.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Telegram credentials can expire or the bot can lose webhook access. If things break, check your bot token and webhook URL configuration in Telegram/@BotFather and your n8n credentials 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.
  • Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.

Frequently Asked Questions

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

About an hour if your API keys and social accounts are ready.

Do I need coding skills to automate Telegram post approvals?

No. You’ll mostly connect accounts and paste credentials. The “logic” is already built into the workflow.

Is n8n free to use for this Telegram post 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 OpenRouter usage (often a few cents per post, depending on model and retries).

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 post automation workflow for threads and different tones?

Yes, and it’s one of the best reasons to use this template. You can switch between single posts and 3–6 post threads by adjusting the AI prompt and keeping the “Split Posts for Release” logic enabled. Tone changes usually live in the AI Post Composer instructions (for example: educational, founder voice, playful, or technical). If you want current events, turn on the optional Tavily web research tool so the model has fresh context.

Why is my Telegram connection failing in this workflow?

Usually it’s the bot token or webhook URL being wrong after a change to your n8n domain. Regenerate the Telegram bot token if needed, then update the Telegram credentials in n8n. Also check that your n8n instance can receive inbound webhooks (common issue on locked-down firewalls), because the approval replies depend on it. If failures happen only sometimes, rate limits or a slow instance can cause Telegram triggers to arrive late.

How many posts can this Telegram post automation handle?

A lot.

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

For an approval-driven workflow, n8n is usually a better fit because you can add branching, retries, validation checks, and multi-step logic without turning it into an expensive pile of tasks. It also supports self-hosting, which matters once you’re generating and posting every day across multiple brands. Zapier and Make can still work if you only need a basic “send draft, get yes/no, post” flow, but you’ll hit limits faster when you add quality gates and threads. If you’re unsure, map out the must-haves (approval, retries, character enforcement, multi-platform publishing) and compare costs. Talk to an automation expert if you want a quick second opinion.

Once this is running, “posting daily” stops being a daily project. You approve in Telegram, Upload-Post publishes, and you move on to work that actually grows the business.

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