RSS + Telegram: approved LinkedIn posts, done for you
Your RSS feed never stops. But your LinkedIn calendar does. So the “we should post this” links pile up, drafts get rushed, and the good stuff quietly expires.
Marketing managers feel it first. Content leads deal with it next. And if you run a small business, you end up doing it at 9pm. This RSS Telegram approval automation turns new articles into LinkedIn-ready drafts you can approve in a Telegram chat.
You’ll see how the workflow watches an RSS feed, uses AI to write platform-specific posts, stores everything in a lightweight content database, then waits for a simple “Approve/Decline” before anything goes live.
How This Automation Works
Here’s the complete workflow you’ll be setting up:
n8n Workflow Template: RSS + Telegram: approved LinkedIn posts, done for you
flowchart LR
subgraph sg0["RSS Flow"]
direction LR
n0@{ icon: "mdi:robot", form: "rounded", label: "Article Summary", pos: "b", h: 48 }
n1@{ icon: "mdi:robot", form: "rounded", label: "Create Image Prompt", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "Create Facebook Post", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n4["<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/linkedin.svg' width='40' height='40' /></div><br/>LinkedIn"]
n5@{ icon: "mdi:robot", form: "rounded", label: "Create LinkedIn Post", pos: "b", h: 48 }
n6["<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/code.svg' width='40' height='40' /></div><br/>Code"]
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/x.dark.svg' width='40' height='40' /></div><br/>X1"]
n8["<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/facebook.svg' width='40' height='40' /></div><br/>Facebook Graph API"]
n9@{ icon: "mdi:cog", form: "rounded", label: "Wait1", pos: "b", h: 48 }
n10@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If1", pos: "b", h: 48 }
n11["<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/x.dark.svg' width='40' height='40' /></div><br/>X"]
n12["<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/>Extract Link Seprately"]
n13@{ icon: "mdi:robot", form: "rounded", label: "Generate Image", pos: "b", h: 48 }
n14["<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/nocodb.svg' width='40' height='40' /></div><br/>NocoDB Databse"]
n15["<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/>Send Message"]
n16@{ icon: "mdi:cog", form: "rounded", label: "wait for response", pos: "b", h: 48 }
n17@{ icon: "mdi:play-circle", form: "rounded", label: "RSS Trigger", pos: "b", h: 48 }
n18["<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/nocodb.svg' width='40' height='40' /></div><br/>Database Update to Yes"]
n19["<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/nocodb.svg' width='40' height='40' /></div><br/>Database Update to No"]
n20["<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/>message for twitter"]
n21["<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/>Image url extracter"]
n3 --> n18
n3 --> n19
n10 --> n7
n10 --> n11
n6 --> n12
n9 --> n10
n17 --> n6
n15 --> n16
n13 --> n2
n14 --> n15
n0 --> n1
n16 --> n3
n1 --> n13
n21 --> n4
n20 --> n9
n2 --> n14
n5 --> n21
n18 --> n20
n18 --> n8
n18 --> n5
n12 --> n0
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 n17 trigger
class n0,n1,n2,n5,n13 ai
class n3,n10 decision
class n8,n12,n21 api
class n6 code
classDef customIcon fill:none,stroke:none
class n4,n6,n7,n8,n11,n12,n14,n15,n18,n19,n20,n21 customIcon
Why This Matters: RSS content dies in the draft folder
Most teams don’t struggle to find content. They struggle to ship it. Someone drops an article link into Slack, another person says “great,” and then it sits because nobody has time to summarize it, write a post, find an image, and double-check the wording. Do that a few times a week and you get the worst combo: you’re “active” in theory, but inconsistent in reality. Even when you do publish, it’s often off-brand because the draft was written in a hurry and nobody had a clean approval moment.
It adds up fast. Here’s where it breaks down.
- Copying links, skimming the article, and writing a decent LinkedIn draft can easily take about 30 minutes each time.
- Without a single approval checkpoint, posts either don’t go out or they go out with avoidable mistakes.
- Teams lose track of what’s pending versus posted, so the same story gets re-shared or ignored.
- Images become the bottleneck, because “just grab one” usually means resizing, cropping, and hunting for something usable.
What You’ll Build: RSS-to-draft posts with Telegram approval
This workflow watches an RSS feed on a schedule (every 20 minutes) and reacts when a new article appears. It pulls the article link, then has OpenAI summarize the content so you’re not relying on headlines alone. From that summary, the workflow generates two important things: a post draft tailored to each platform (including LinkedIn), and an image prompt that can produce a relevant visual. Everything gets saved into NocoDB as a “Pending” record so you have a simple backlog you can review later. Then it sends a preview into Telegram with inline buttons for approval. When you tap ✅ Approve, it publishes to LinkedIn and Facebook, and it can optionally post to X depending on your Telegram reply.
The workflow starts with RSS discovery, then moves through AI summarization and post creation. After that, it becomes a human-friendly approval system in Telegram, which means you keep control without doing the repetitive work. Finally, publishing happens only when you say yes.
What You’re Building
| What Gets Automated | What You’ll Achieve |
|---|---|
|
|
Expected Results
Say you publish 5 RSS-based updates a week. Manually, a quick skim + summary + LinkedIn draft + image hunt is usually about 45 minutes per post, so you’re looking at roughly 4 hours weekly. With this workflow, you’ll spend a couple minutes approving (or declining) each draft in Telegram, then it posts for you. Even if you still tweak wording inside NocoDB sometimes, most teams get several hours back every week and stop missing timely stories.
Before You Start
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- OpenAI for summaries, drafts, and image generation
- Telegram to approve or decline drafts
- NocoDB API token (get it from your NocoDB user settings)
Skill level: Intermediate. You’ll connect a few APIs, map fields into NocoDB, and test an approval loop in Telegram.
Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).
Step by Step
A new RSS item appears. The workflow checks your chosen feed on a 20-minute timer and triggers when it finds a fresh article.
The article gets turned into usable inputs. n8n extracts the URL, pulls the content (via HTTP request and transform logic), then sends it to OpenAI to summarize so you’re working from meaning, not just the headline.
Drafts and visuals are created automatically. OpenAI generates an image prompt and a platform-ready post (including a LinkedIn version), and the workflow stores the summary, post content, image URL, and status in NocoDB.
Telegram becomes the approval gate. You receive a preview message with ✅ Approve or ❌ Decline. Approve triggers posting to LinkedIn and Facebook, plus an optional X decision. Decline simply marks the record so it doesn’t come back to haunt you later.
You can easily modify the RSS sources to cover multiple feeds, or change the approval rules so only LinkedIn is auto-published. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the RSS Trigger
Set up the RSS trigger that starts the workflow when a new feed item appears.
- Add the RSS Feed Trigger node and connect your RSS feed URL in its settings.
- Keep the remaining settings at their defaults unless your feed requires a specific polling interval.
- Optionally keep Flowpast Branding as a documentation note for your workflow canvas.
Step 2: Normalize and Extract the Article Link
Prepare the incoming RSS data and fetch the target link content for downstream summarization.
- Connect RSS Feed Trigger to Transform Logic to reshape the feed item payloads as needed.
- Connect Transform Logic to Extract Link Separately to retrieve the article content from the link.
- Connect Extract Link Separately to Summarize Article to pass the cleaned content into the AI pipeline.
Step 3: Set Up the AI Content Pipeline
Use the OpenAI nodes to summarize the article, create visual prompts, generate imagery, and draft social copy.
- In Summarize Article, configure your summarization prompt and model settings.
- Connect Summarize Article to Draft Image Prompt, then to Generate Visual to prepare and generate an image concept.
- Connect Generate Visual to Compose Facebook Update to draft the Facebook copy.
- Keep Compose LinkedIn Update connected downstream from approval (Step 4), as it is triggered after approval.
Credential Required: Connect your OpenAI credentials to all OpenAI nodes (Summarize Article, Draft Image Prompt, Generate Visual, Compose Facebook Update, Compose LinkedIn Update).
Step 4: Configure Review, Approval, and Database Updates
Store the drafted content, request approval via Telegram, and route the decision logic.
- Connect Compose Facebook Update to Update NocoDB Records to save the draft in your database.
- Connect Update NocoDB Records to Dispatch Telegram Note to notify reviewers.
- Connect Dispatch Telegram Note to Await Telegram Reply, and then to Branch Decision to wait for approval.
- Set Branch Decision to route approvals to Set Record Approved and rejections to Set Record Rejected.
Credential Required: Connect your NocoDB credentials to Update NocoDB Records, Set Record Approved, and Set Record Rejected.
Credential Required: Connect your Telegram credentials to Dispatch Telegram Note and Telegram for Twitter.
Step 5: Configure Parallel Social Publishing and X Routing
After approval, publish to Facebook and LinkedIn while routing the X (Twitter) post based on reviewer input.
- Note the parallel execution: Set Record Approved outputs to both Telegram for Twitter and Publish Facebook API and Compose LinkedIn Update in parallel.
- Connect Telegram for Twitter to Delay Step One, then to Check X Choice to allow a short review delay and route the X choice.
- Configure Check X Choice to send to Post to X Primary on the true path and Post to X Alternate on the false path.
- Connect Compose LinkedIn Update to Extract Image URL, then to Publish LinkedIn Post to include the generated image.
Credential Required: Connect your Facebook Graph API credentials to Publish Facebook API.
Credential Required: Connect your Twitter credentials to Post to X Primary and Post to X Alternate.
Credential Required: Connect your LinkedIn credentials to Publish LinkedIn Post.
⚠️ Common Pitfall: If X or LinkedIn posts fail, confirm the approval flow reached the correct branch and that media URLs are accessible to the target platform.
Step 6: Test and Activate Your Workflow
Run a full test to validate the RSS input, AI drafting, approval routing, and multi-channel publishing.
- Click Execute Workflow and provide a sample RSS item to simulate a new post.
- Confirm the AI steps create summaries, prompts, and social copy, and that records are created in NocoDB.
- Approve the item via Telegram and verify that Facebook, LinkedIn, and X posts publish correctly.
- When satisfied, toggle the workflow Active to run automatically on new RSS items.
Troubleshooting Tips
- LinkedIn credentials can expire or need specific permissions. If things break, check your LinkedIn developer app access token and the company/page posting rights 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.
Quick Answers
Plan for about an hour if you already have all API keys ready.
No coding required. You’ll mostly connect accounts and match fields going into NocoDB and Telegram.
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 (often a few dollars a month at small volumes) plus any costs from your social platform apps if applicable.
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. You can swap the RSS feed URL in the RSS trigger, change the OpenAI prompt used in the “Compose LinkedIn Update” and “Compose Facebook Update” steps, and adjust the If/approval logic so only certain categories get posted. Common tweaks include adding Instagram or Threads, changing the Telegram message format, and routing “Declined” items to a review channel instead of closing them out.
Usually it’s the bot not being added to the right chat, or the Chat ID being wrong. Double-check the bot is a member of the group/channel, then confirm the Chat ID you saved in n8n matches that exact destination. If inline buttons don’t work, look for blocked permissions in Telegram or an expired bot token and refresh it.
A typical setup can handle dozens of new RSS items per day, but your real limit is approvals and API rate limits.
Often, yes, because this workflow isn’t just “RSS in, LinkedIn out.” You have multiple AI steps, a database (NocoDB) record lifecycle, an approval loop with waiting, and conditional posting to X. n8n handles branching and wait states cleanly, and self-hosting means you’re not paying per tiny step the same way you might elsewhere. Zapier or Make can still work if you simplify the flow, skip the approval stage, or only post to one platform. If you’re unsure, Talk to an automation expert and map it to your posting volume.
Once this is running, your RSS feed stops being “reading material” and starts becoming approved, on-brand posts. The workflow handles the repeatable parts. You just tap approve and move on.
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.