🔓 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 + Google Sheets: branded news posts, done

Lisa Granqvist Partner Workflow Automation Expert

Your Telegram channel goes quiet, not because you don’t have content, but because turning “new article is live” into a polished post is annoyingly manual. You copy links, grab an image, rewrite the intro, try to keep the tone consistent, and then you still forget what you already shared.

This Telegram Sheets automation hits marketing managers first, but founders and agency folks running client channels feel it too. The outcome is simple: new articles become branded Telegram posts automatically, and every shared link is logged so you don’t repost the same thing next week.

Below you’ll see exactly how the workflow pulls articles from a webpage (no RSS needed), rewrites the text with AI, watermarks the image, posts to Telegram, and tracks it all in Google Sheets.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Telegram + Google Sheets: branded news posts, done

The Problem: Keeping Telegram Active Without Reposting

Posting “fresh” news to Telegram sounds easy until you do it for a month. You’re juggling the website, a notes doc, a design tool for the image, and Telegram itself. Then the messy parts show up: the same link gets shared twice, a post goes out with a bland snippet, or the image looks off-brand next to yesterday’s post. It’s not hard work. It’s repeat work, and it steals attention from the stuff that actually grows your channel.

The friction compounds. Here’s where it breaks down most often.

  • Someone has to check the site for new articles, and it usually happens “when there’s time.”
  • Manual copy-paste creates inconsistent intros, which means more edits and weaker hooks.
  • Without a simple log of posted links, duplicates creep in during busy weeks.
  • Branding slips because the image process changes depending on who’s posting that day.

The Solution: Auto-Create Branded Telegram Posts From Any Webpage

This workflow runs on a schedule, visits the webpage you choose, and pulls out article links directly from the HTML. For each link, it checks a Google Sheet to see if it has been shared before. If it’s new, the workflow loads the article page, extracts the important details, and cleans the text so it’s ready for a Telegram-friendly post. Then an AI agent rewrites or summarizes the content in your preferred tone, keeping things readable instead of “copy-pasted from a website.” Finally, it fetches the article’s image, overlays a watermark so every post looks consistently branded, and publishes the finished message to your Telegram channel.

The workflow starts with a scheduled trigger and a webpage fetch. It turns raw HTML into a clean list of links, filters out anything already logged in Google Sheets, then generates a polished Telegram post with AI text plus a watermarked image. After that, it publishes and records the link so the next run stays tidy.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you publish 5 articles per week and you also share each one to Telegram. Manually, it’s usually about 20 minutes per post (find the link, write a short summary, prep an image, publish, then note it somewhere), so you’re spending roughly 2 hours a week on a task that doesn’t need your brain. With this workflow, the “work” is basically zero after setup: it runs on schedule, and you only step in when you want to tweak tone or branding. You still get posts going out, but the process feels automatic instead of fragile.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Telegram for publishing posts to a channel
  • Google Sheets to log links and avoid duplicates
  • OpenAI API key (get it from your OpenAI dashboard)

Skill level: Intermediate. You’ll paste a URL, connect accounts, and tweak a prompt and watermark settings.

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

How It Works

A timed schedule kicks it off. n8n runs the workflow on the cadence you choose (every hour, twice a day, weekdays only). You control how “fresh” your channel feels.

The workflow pulls links from your webpage. It fetches the HTML, parses out article URLs, then normalizes them so comparisons work cleanly (small differences like tracking parameters don’t mess you up).

Google Sheets acts as your memory. Each link is checked against your sheet. If it already exists, the workflow stops for that item. If it’s new, the workflow logs it so future runs know it’s handled.

AI and branding take over the content packaging. The workflow loads the article, extracts and cleans the text, then sends it through an AI agent powered by an OpenAI chat model. It also grabs the article image and overlays watermark text so the post looks like it came from you.

You can easily modify the target webpage and the AI writing style based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Schedule Trigger

This workflow starts on a timed schedule, then pulls the latest news page before any parsing begins.

  1. Add and open Timed Automation Trigger.
  2. Set the schedule rule to run every hour by configuring the interval field to hours.
  3. Confirm the execution flow: Timed Automation TriggerRetrieve News Page.

Tip: If you need more frequent checks, adjust the interval field (for example, every 30 minutes) before testing.

Step 2: Connect Google Sheets

These nodes track processed links to prevent duplicates and update the sheet once a new article is handled.

  1. Open Lookup Links in Sheet and select your spreadsheet in Document and the correct tab in Sheet (values are currently placeholders like [YOUR_ID]).
  2. Credential Required: Connect your googleSheetsOAuth2Api credentials in Lookup Links in Sheet.
  3. Open Update Sheet with Link and confirm Operation is set to update.
  4. In Update Sheet with Link, set the column mapping for url to {{ $('Normalize Link Data').item.json.fullUrl }} and row_number to 2.
  5. Credential Required: Connect your googleSheetsOAuth2Api credentials in Update Sheet with Link.

⚠️ Common Pitfall: Leaving [YOUR_ID] placeholders in Lookup Links in Sheet or Update Sheet with Link will cause the workflow to fail at runtime.

Step 3: Set Up Parsing and Validation

This block fetches the news page, extracts the latest link and image, checks for duplicates, then loads and cleans the article text.

  1. In Retrieve News Page, set URL to https://www.film.ru/topic/news and keep Send Headers enabled with the provided headers.
  2. In Parse HTML Links, set Operation to extractHtmlContent and confirm the CSS selectors:
    • link.redesign_topic_main strong
    • image.wrapper_block_stack var
  3. In Normalize Link Data, keep the JavaScript that builds image and fullUrl from the extracted values.
  4. In Validate Parsing Need, set the condition to compare {{ $json.url }} with {{ $('Normalize Link Data').item.json.fullUrl }}.
  5. Confirm the routing: Lookup Links in SheetValidate Parsing Need, then the true/false output either goes to Idle Pass Through or Load Article Page.
  6. In Load Article Page, set URL to {{ $('Normalize Link Data').item.json.fullUrl }}.
  7. In Extract Article Details, set Operation to extractHtmlContent with CSS selectors:
    • Title.wrapper_articles_left h1
    • Text.wrapper_articles_text
  8. In Refine Article Text, keep the JavaScript that removes bracketed text and outputs cleanText.

Tip: Idle Pass Through is a no-op node used to end the branch when no new article is detected—keep it in place for clean logic.

Step 4: Set Up AI Formatting, Image Processing, and Telegram Output

This segment formats the article text with AI, fetches and watermarks the image, then posts to Telegram.

  1. Open AI Text Formatter and keep Prompt Type set to define with the provided system message.
  2. Ensure the prompt references are intact: {{ $('Extract Article Details').item.json.Title }} and {{ $('Refine Article Text').item.json.cleanText }}.
  3. Confirm that OpenAI Chat Engine is connected as the language model for AI Text Formatter.
  4. Credential Required: Connect your OpenAI credentials in OpenAI Chat Engine (AI tool credentials are added to the parent language model, not inside AI Text Formatter).
  5. In Fetch Article Image, set URL to {{ $('Normalize Link Data').item.json.image }}.
  6. In Overlay Watermark Text, set Operation to text, Text to KINO ЛЕГЕНДЫ NET, Font Size to 48, Font Color to #F3ECEC, and Position Y to 150. Keep Data Property Name as =data.
  7. In Post to Telegram Channel, set Operation to sendPhoto, enable Binary Data, and set Caption to {{ $json.output }} with Parse Mode as Markdown.
  8. Credential Required: Connect your telegramApi credentials in Post to Telegram Channel.

⚠️ Common Pitfall: If OpenAI Chat Engine credentials are missing, AI Text Formatter will fail even though it doesn’t have its own credential field.

Step 5: Test and Activate Your Workflow

Run a manual test to confirm the end-to-end pipeline before enabling scheduled execution.

  1. Click Execute Workflow and observe the run from Timed Automation Trigger through Post to Telegram Channel.
  2. Verify that Update Sheet with Link writes the new URL to the correct row in your spreadsheet.
  3. Confirm that Telegram receives a photo with a watermarked image and a formatted caption from AI Text Formatter.
  4. Once successful, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets credentials can expire or need specific permissions. If things break, check the n8n Credentials page and confirm the sheet is shared with the connected Google account 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 Sheets automation?

About 45 minutes if your accounts are ready.

Do I need coding skills to automate Telegram posts with Google Sheets?

No. You will connect accounts, paste your webpage URL, and adjust a couple of text and watermark settings.

Is n8n free to use for this Telegram Sheets 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 API costs, which are usually pennies per post unless you’re summarizing very long articles.

Where can I host n8n to run this Telegram Sheets 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 Sheets automation workflow for multiple websites?

Yes, but you’ll want to do it cleanly. The easiest approach is duplicating the “Retrieve News Page” and parsing section per site, then writing to the same Google Sheet with an extra “Source” column. You can also swap the AI prompt in the AI Agent so each site gets a different tone, which is handy if one source is formal and another is more casual. If your sites have different layouts, expect to tweak the HTML extraction rules per site.

Why is my Telegram connection failing in this workflow?

Usually it’s the bot token, the chat ID, or missing permission to post in the channel. Double-check that the bot is an admin in the channel, then re-save the Telegram credentials in n8n. If it still fails, look at the Telegram node error details, because Telegram’s API responses are normally specific about what it didn’t like.

How many articles can this Telegram Sheets automation handle?

A lot, as long as your hosting and plan can keep up. On n8n Cloud Starter plan, you can process up to a set number of executions per month, and higher plans handle more. If you self-host, there’s no execution cap, but your server CPU and memory become the limit. Practically, most small teams run this hourly or daily and process anywhere from a few new links to a few dozen without issues.

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

Often, yes, because this is not a simple “new item → post message” flow. You’re parsing HTML, cleaning article text, checking a sheet to prevent duplicates, generating AI copy, and watermarking an image. That’s a bunch of branching and processing that gets pricey or clunky on many no-code tools. n8n is also nicer when you want to self-host for unlimited runs. If you only need a basic RSS-to-Telegram forwarder, Zapier or Make can be quicker to set up. Talk to an automation expert if you want a second opinion on tool choice.

Once this is running, your channel stays consistent without someone babysitting it. Set it up, let it post, and use your time on content that actually moves the needle.

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