RSS to Telegram, branded posts with Google Sheets
You publish good content, then lose time doing the annoying parts: checking feeds, rewriting blurbs, grabbing images, and posting to Telegram without accidentally sharing the same link twice.
This RSS Telegram automation hits content marketers first. But founders running a community channel and agency teams managing multiple brands feel it too. You want consistent posts that look branded, without babysitting a workflow all day.
This n8n workflow watches an RSS feed, blocks duplicates using Google Sheets, upgrades the copy with AI, watermarks the article image, and publishes the final post to your Telegram channel. Here’s what it does, why it works, and what you’ll need to run it.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: RSS to Telegram, branded posts with Google Sheets
flowchart LR
subgraph sg0["RSS Feed Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "RSS Feed Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n2@{ icon: "mdi:database", form: "rounded", label: "Check Processed Links", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check: Is Link New?", pos: "b", h: 48 }
n4@{ icon: "mdi:cog", form: "rounded", label: "Skip: Link Already Processed", pos: "b", h: 48 }
n5@{ icon: "mdi:database", form: "rounded", label: "Update Processed Links", pos: "b", h: 48 }
n6@{ icon: "mdi:robot", form: "rounded", label: "Customize Article Text", pos: "b", h: 48 }
n7["<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/>Fetch Article Image"]
n8@{ icon: "mdi:cog", form: "rounded", label: "Add Watermark to Image", pos: "b", h: 48 }
n9["<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/>Publish to Telegram Channel"]
n0 --> n2
n1 -.-> n6
n3 --> n4
n3 --> n5
n7 --> n8
n2 --> n3
n8 --> n9
n6 --> n7
n5 --> n6
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 n0 trigger
class n6 ai
class n1 aiModel
class n3 decision
class n2,n5 database
class n7 api
classDef customIcon fill:none,stroke:none
class n7,n9 customIcon
The Problem: RSS Posting Turns Into Daily Busywork
Posting RSS updates to Telegram sounds simple until you do it for a week. You check the feed, open the article, skim for the real takeaway, write a caption that doesn’t sound robotic, find an image that isn’t blurry, and then you post it. Next day, you do it again. And sooner or later you repost the same link (because you forgot you already shared it, or the feed reorders items). That’s not just time wasted. It’s trust lost, because duplicates make a channel feel sloppy.
The friction compounds. Here’s where it breaks down in real life.
- You end up spending about 10 minutes per post just to “clean it up” before it’s shareable.
- Duplicate links slip through, especially when multiple people post to the same channel.
- Image quality and branding stay inconsistent, so your channel looks like a copy-paste feed.
- If you skip a day, catching up becomes a mini project instead of a quick task.
The Solution: RSS → AI Copy + Branded Image → Telegram (No Repeats)
This workflow turns your RSS feed into finished Telegram posts automatically. It starts by monitoring your RSS feed on a schedule. When a new item appears, it checks a Google Sheet that acts like a simple “already posted” log. If the link is new, the workflow fetches the article details, runs the text through an AI step to improve readability and engagement, and then pulls the article’s main image. After that, it applies your watermark so every post carries your brand. Finally, it publishes the polished text and watermarked image straight to your Telegram channel and records the link in Google Sheets so it won’t post again.
The workflow begins with the RSS Monitor Trigger and immediately compares against your logged links in Google Sheets. Then the AI agent formats the article text into a Telegram-friendly post, and the HTTP + Edit Image steps produce a consistent, branded visual. The last step sends everything to Telegram, ready for your audience.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say your feed publishes 3 posts per day. Manually, you might spend about 10 minutes cleaning up the text, 5 minutes finding or fixing an image, and 2 minutes posting and double-checking the link. That’s roughly 50 minutes a day. With this workflow, your “work” is basically zero after setup: the trigger runs automatically, the AI formats the copy, watermarking happens in the background, and Telegram receives the post. You might spend 5 minutes a day skimming the channel for quality. That’s close to an hour back, most days.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Telegram to publish posts to your channel
- Google Sheets to log posted links and block repeats
- AI model API key (from your provider, e.g., OpenRouter or Gemini)
Skill level: Intermediate. You’ll connect accounts, paste an RSS URL, and tweak an AI prompt and watermark settings.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
RSS monitoring kicks it off. The RSS Monitor Trigger checks your feed on a schedule so you don’t have to watch it manually.
Duplicate prevention happens early. The workflow looks at your Google Sheet of logged URLs, then uses an If check (Validate New Link) to decide if the item is new or should be ignored.
AI turns “feed text” into “channel-ready copy.” The AI Chat Engine plus the Format Article Text agent rewrites or summarizes the article into something people will actually read in Telegram, which means fewer awkward excerpts and less editing.
Branding is applied automatically. n8n retrieves the article image with an HTTP Request, then the Edit Image step adds your watermark before the Telegram node publishes it.
You can easily modify the AI prompt and watermark style to match your brand. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the RSS Trigger
This workflow starts by polling an RSS feed for new items using the trigger node.
- Add the RSS Monitor Trigger node to your canvas.
- Set Feed URL to
https://www.kinonews.ru/rss/. - Set Poll Times to
every 15 minutes(Mode:everyX, Unit:minutes, Value:15).
Step 2: Connect Google Sheets
Google Sheets is used to check for duplicate links and record new ones before publishing.
- Open Review Logged Links and select the sheet: Document
[YOUR_ID], Sheet Namekinonews.ru. - Credential Required: Connect your googleSheetsOAuth2Api credentials in Review Logged Links.
- Open Record New Link and keep Operation set to
update. - In Record New Link, map url to
{{ $('RSS Monitor Trigger').item.json.link }}and ensure row_number is present for matching. - Credential Required: Connect your googleSheetsOAuth2Api credentials in Record New Link.
Step 3: Configure Duplicate Filtering
The workflow checks whether the RSS link already exists and stops if it’s a duplicate.
- Open Validate New Link and set the condition to compare Left Value
{{ $json.url }}with Right Value{{ $('RSS Monitor Trigger').item.json.link }}using equals. - Confirm the false path leads to Record New Link and the true path leads to Ignore Duplicate Link.
- Keep Ignore Duplicate Link as a no-op node to safely stop processing duplicates.
url, the duplicate check will never match, and duplicates will be posted.Step 4: Set Up AI Formatting
The workflow uses an AI model to format and condense the article text for Telegram.
- Open AI Chat Engine and set the Model to
gpt-4.1-mini. - Credential Required: Add your OpenAI credentials in AI Chat Engine (the AI model is attached to Format Article Text).
- Open Format Article Text and keep Prompt Type as
define. - Ensure the System Message includes the expressions
{{ $('RSS Monitor Trigger').item.json.title }}and{{ $('RSS Monitor Trigger').item.json.content }}for contextual formatting.
Step 5: Configure Image Retrieval and Watermarking
The workflow downloads the article image and applies a watermark before posting.
- In Retrieve Article Image, set URL to
{{ $('RSS Monitor Trigger').item.json.enclosure.url }}. - Open Apply Image Watermark and set Operation to
text. - Set Text to
AI.NEWS, Font Size to48, Font Color to#F3ECEC, and Position Y to150. - Set Data Property Name to
=dataso the image data is passed forward correctly.
Step 6: Configure the Telegram Output
Publish the formatted text and watermarked image to your Telegram channel.
- Open Post to Telegram Channel and set Operation to
sendPhotowith Binary Data enabled. - Set Caption to
{{ $json.output }}and Parse Mode toMarkdown. - Credential Required: Connect your telegramApi credentials in Post to Telegram Channel.
Step 7: Test and Activate Your Workflow
Run a full test to confirm the RSS feed is read, duplicates are filtered, and a new post is published correctly.
- Click Execute Workflow and wait for RSS Monitor Trigger to fetch an item.
- Verify that duplicates are routed to Ignore Duplicate Link and new items proceed through Record New Link and Format Article Text.
- Confirm that Post to Telegram Channel publishes a photo with a formatted caption in your Telegram channel.
- When successful, toggle the workflow to Active to enable scheduled polling.
Common Gotchas
- Telegram credentials can expire or need specific permissions. If things break, check your bot token and that the bot is an admin in the target channel 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
About 30 minutes if your accounts are ready.
No. You’ll connect Telegram and Google Sheets, then adjust a few fields and prompts.
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 AI model API costs, which are usually a few cents per post depending on the model and prompt size.
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 should. Update the prompt inside the Format Article Text agent to match your tone (short, punchy, formal, newsletter-like). Then tweak the Apply Image Watermark node to change placement, size, and opacity. Some teams also add a short “source line” or hashtag block in the formatting step so every post follows the same structure.
Most of the time it’s the bot token being wrong, expired, or pasted with extra spaces. Also check that the bot has permission to post in that channel (it usually needs to be an admin). If it works in a direct chat but fails in a channel, the chat ID or channel username mapping is often the culprit. Less common, but real: Telegram rate limits if you try to blast too many posts at once after a backlog.
A lot. The real limits are your n8n plan (execution volume), your server size if self-hosted, and how fast your AI provider will accept requests.
For this workflow, n8n has a few advantages: more complex logic with unlimited branching at no extra cost, a self-hosting option for unlimited executions, and flexible AI agent steps that are easier to customize than most “templated” Zapier paths. Zapier or Make can still work if you only need a basic RSS → Telegram relay, with no watermarking and no logging. But once you care about duplicate prevention, consistent formatting, and branded visuals, the scenario complexity grows fast. n8n handles that without turning every small change into a paid add-on. Talk to an automation expert if you want help choosing.
Once this is live, your channel stays fresh without you hovering over it. The workflow handles the repetitive stuff, so you can spend your time on the ideas that actually move 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.