🔓 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 WordPress, polished posts published fast

Lisa Granqvist Partner Workflow Automation Expert

Your Telegram channel is active, but your WordPress site looks neglected. Copying posts over sounds simple until you’re fixing formatting, hunting for images, and realizing you already published that same update yesterday.

This Telegram WordPress automation hits news publishers first, honestly. But content marketers keeping a blog alive and social media managers juggling multiple channels feel it too. You’ll turn Telegram updates into clean, categorized WordPress posts without babysitting the process.

Below is what this workflow does, how the pieces fit together, and what you’ll want to tweak so the posts sound like you, not like a bot.

How This Automation Works

Here’s the complete workflow you’ll be setting up:

n8n Workflow Template: Telegram to WordPress, polished posts published fast

Why This Matters: Telegram Updates Don’t Magically Become Articles

Telegram is fast. WordPress is where the long-term traffic lives. The problem is the gap between them. A short Telegram update often needs a real headline, an intro that makes sense on your site, cleaner structure, and a featured image that won’t break your theme. Then there’s the “did we already post this?” anxiety, because Telegram reposts, edits, and forwarded content can look deceptively new. The result is a constant drip of manual work that steals focus from actual publishing decisions.

The friction compounds. Here’s where it usually breaks down.

  • Someone has to copy text, clean it up, and make it readable as a standalone post.
  • Images and videos get missed, uploaded twice, or added without the right placement in the article.
  • Duplicate posts slip through because the “same story” looks slightly different across updates.
  • Categories drift over time, so your site navigation and SEO get messier every week.

What You’ll Build: Telegram RSS to WordPress Publishing Pipeline

This workflow watches one or more Telegram channel RSS feeds and turns each new update into a proper WordPress post. When an item appears, it first normalizes the incoming fields (title, content, GUID, media URL) so everything downstream is predictable. Next, it checks your WordPress site for duplicates using the GUID logic, so reposted or repeated items don’t pollute your archive. If the post is new, GPT-4o rewrites it in a clean news-style format, then runs a second pass to add context and improve flow. Finally, it downloads any attached image or video, uploads it to WordPress, maps media IDs correctly, and publishes the post with the right category and excerpt.

The workflow begins with Telegram RSS triggers (multiple feeds, each mapped to a category). Then it runs duplicate prevention and AI rewriting in two stages. After that, it handles media (image vs. video) and publishes via WordPress REST requests, with a video shortcode inserted when needed.

What You’re Building

Expected Results

Say you publish 5 Telegram updates per weekday and each one needs a quick rewrite, category selection, and a media upload. Manually, that’s maybe 15 minutes per post, so roughly 75 minutes a day (and it gets worse when there’s video). With this workflow, you spend a few minutes up front setting your tone and categories, then each new item is processed and published automatically while you do other work. The “hands-on” part drops to near zero unless you want to review a specific story.

Before You Start

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Telegram channel RSS URL for the feeds you want to monitor.
  • WordPress site with REST API enabled for publishing.
  • OpenAI API key (get it from your OpenAI dashboard)

Skill level: Beginner. You’ll connect accounts, paste a few URLs/keys, and test one item end-to-end.

Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).

Step by Step

A Telegram RSS item appears. One of the Telegram RSS Trigger nodes fires, and the workflow assigns an initial category based on which feed the item came from.

Duplicates get filtered out early. The workflow queries WordPress posts (with paging) and compares GUIDs. If it finds a match, it flags the item as already published and moves on, which keeps your site clean.

The content gets rewritten into an article. GPT-4o handles a full rewrite with structure first, then a second AI pass enhances context. In the same stretch, the workflow also sets SEO-friendly fields like excerpt and prepares the post payload.

Media is handled and attached automatically. If there’s an image or video, the file is downloaded, uploaded to WordPress, and mapped to the post. Video items can get a shortcode inserted before publishing so they display correctly.

You can easily modify the rewrite style to match your publication voice based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the RSS Feed Trigger

Set up the Telegram RSS triggers that ingest channel updates and start the workflow.

  1. Open Telegram RSS Trigger A and set Feed URL to https://tg.i-c-a.su/rss/bbcnewschannel.
  2. Repeat the same Feed URL and polling schedule for Telegram RSS Trigger B, Telegram RSS Trigger C, Telegram RSS Trigger D, Telegram RSS Trigger E, and Telegram RSS Trigger F.
  3. Confirm each trigger is connected to its category node: Telegram RSS Trigger ASet Category Actualitate, Telegram RSS Trigger BSet Category External, Telegram RSS Trigger CSet Category Social, Telegram RSS Trigger DSet Category Internal, Telegram RSS Trigger ESet Category Internal B, Telegram RSS Trigger FSet Category Internal C.

Step 2: Configure Category Mapping and Normalization

Map RSS payloads to categories, default image IDs, and GUID fields, then normalize fields for downstream processing.

  1. In Set Category Actualitate, set article to {{ $json.contentSnippet }}, image to {{ $json.enclosure.url }}, category_id to 46, default_image_id to 17505, and guid to {{$json["guid"].split('/').pop()}}.
  2. Repeat the same field mapping pattern for Set Category External (category 43, default image 17475), Set Category Social (category 17, default image 17506), Set Category Internal (category 1, default image 17504), Set Category Internal B (category 1, default image 17509), and Set Category Internal C (category 44, default image 17647, GUID expression {{$json["guid"].split('=').pop()}}).
  3. In Normalize Fields, map article to {{ $json.article }}, image to {{ $json.image }}, category_id to {{$json.category_id}}, default_image_id to {{ $json.default_image_id }}, guid to {{$json.guid}}, and set next_page to 1.
  4. Send Normalize Fields into Batch Iterator to control pagination and batching.

Step 3: Configure Duplicate Checks and Paging

Query WordPress for existing posts with the same GUID and decide whether to continue processing.

  1. In Query WP Posts, set URL to https://your-domain.com/wp-json/wp/v2/posts and include query parameters: meta_key n8n_guid, meta_value {{ $json.guid }}, per_page 50, and page {{ $json.current_page }}.
  2. Credential Required: Connect your wordpressApi credentials in Query WP Posts.
  3. Confirm Update Paging Fields sets guid to {{ $json.guid }} and current_page to {{ $json.next_page }}.
  4. Ensure Combine Posts Data merges response data before Custom JS Logic runs.
  5. Verify Check Pages Left evaluates {{ $json.next_page }}{{ $json.total_pages }} and routes to Update Paging Fields or Flag News Missing.
  6. Confirm the flow: Custom JS LogicCheck DuplicatesFlag News Found or paging loop.

Step 4: Set Up AI Rewriting and SEO Enrichment

Use AI to rewrite content, enhance context, and extract SEO metadata.

  1. In Rewrite Article AI, keep JSON Output enabled and verify it consumes {{ $json.article }}.
  2. Credential Required: Connect your openAiApi credentials in Rewrite Article AI.
  3. Confirm parallel execution: Rewrite Article AI outputs to both Context Enhancer AI and Set SEO Fields in parallel.
  4. In Context Enhancer AI, keep JSON Output enabled and ensure it uses {{ $json.message.content.headline }}, {{ $json.message.content.article_body }}, and {{ $json.message.content.seo_meta.focus_keyword }}.
  5. Credential Required: Connect your openAiApi credentials in Context Enhancer AI.
  6. In Set SEO Fields, set title to {{ $json.message.content.headline }}, article to {{ $json.message.content.article_body }}, seo_description to {{ $json.message.content.seo_meta.meta_description }}, and seo_keywords to {{ $json.message.content.seo_meta.focus_keyword }}.
  7. In Set Enhanced Article, set enhanced_article to {{ $json.message.content.enhanced_article }} and feed into Combine Streams B.

Tip: Rewrite Article AI and Context Enhancer AI use long system prompts—ensure your OpenAI model supports the token length required for full articles.

Step 5: Configure Media Download, Upload, and Type Routing

Download media, upload to WordPress, detect type with AI, and map image/video IDs.

  1. In Combine Streams A, verify it combines inputs and then branches in parallel to Download Media File, Apply Default Image, Rewrite Article AI, and Fetch Category & GUID.
  2. In Download Media File, set URL to {{ $json.image }} and keep response format set to file.
  3. In Upload Media to WP, set URL to https://your-domain.com/wp-json/wp/v2/media and keep headers to {"Content-Disposition":"attachment; filename={{$binary.data.fileName.slice(-10)}}","Content-Type":"{{$binary.data.fileType}}"}.
  4. Credential Required: Connect your wordpressApi credentials in Upload Media to WP.
  5. In Detect Media AI, keep JSON Output enabled and provide {{ $json.mime_type }} and {{ $json.media_type }}.
  6. Credential Required: Connect your openAiApi credentials in Detect Media AI.
  7. Confirm parallel execution: Upload Media to WP outputs to both Detect Media AI and Combine Media Data in parallel.
  8. In Route Media Type, keep rules for {{ $json.message.content.type }} equals image or video, routing to Image Media Mapping or Video Media Mapping.
  9. Verify Image Media Mapping sets image_id to {{ $json.id }} and video_id to no, while Video Media Mapping sets image_id to {{ $json.default_image_id }} and video_id to {{ $json.id }}.
  10. Confirm Map Media IDs outputs image_id as {{ $json.image_id }} and video_id as {{ $json.video_id }}.

⚠️ Common Pitfall: If Download Media File fails to return binary data, Upload Media to WP will not have data in Input Data Field Name, resulting in empty media uploads.

Step 6: Assemble Content and Route by Media Type

Combine content, media IDs, and SEO fields, then choose publishing path based on video presence.

  1. In Combine Streams B, keep Mode as combine and Combine By as combineByPosition with Number Inputs set to 4.
  2. Confirm Set SEO Fields, Set Enhanced Article, Fetch Category & GUID, and Map Media IDs all feed into Combine Streams B.
  3. In Evaluate Video Presence, keep the condition {{ $json.video_id }} equals no to route image posts to Publish Post Request.
  4. In Insert Video Shortcode, set enhanced_article to [playlist type="video" ids="{{ $json.video_id }}" tracklist="false"]{{ $json.enhanced_article }} and keep field mappings for title, article, seo_description, seo_keywords, image_id, video_id, and guid.
  5. Confirm Insert Video Shortcode outputs to Publish Post with Video.

Step 7: Configure WordPress Publishing Requests

Publish posts to WordPress for both image-only and video-enhanced content.

  1. In Publish Post Request, set URL to https://your-domain.com/wp-json/wp/v2/posts and keep the JSON body template using {{ $json.title }}, {{ JSON.stringify( $json.enhanced_article )}}, {{ $json.seo_description }}, {{ $json.category_id }}, {{ $json.image_id }}, and {{$json.guid}}.
  2. Credential Required: Connect your wordpressApi credentials in Publish Post Request.
  3. In Publish Post with Video, use the same URL and JSON body structure to publish posts with video shortcode inserted.
  4. Credential Required: Connect your wordpressApi credentials in Publish Post with Video.
  5. Ensure both Publish Post Request and Publish Post with Video return to Batch Iterator for continued processing.

Step 8: Test and Activate Your Workflow

Validate the end-to-end flow and enable the automation.

  1. Click Execute Workflow and manually trigger one of the RSS feeds from Telegram RSS Trigger A to verify ingestion.
  2. Check that Query WP Posts returns results and that Check Duplicates routes correctly (existing posts should stop, new posts should continue).
  3. Confirm AI outputs in Rewrite Article AI and Context Enhancer AI produce JSON with content and SEO metadata.
  4. Verify media uploads in WordPress by checking a new media item created by Upload Media to WP.
  5. Confirm new posts are published by Publish Post Request or Publish Post with Video and include the n8n_guid meta field.
  6. When satisfied, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Troubleshooting Tips

  • WordPress Application Passwords can fail if the user role lacks publishing rights. If posts won’t publish, check the user permissions and the REST API response in the HTTP Request node 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.
  • OpenAI prompts that are left generic will output “fine” writing that still doesn’t match your site. Add your tone rules and formatting preferences in the Rewrite Article AI node so you’re not editing every post later.

Quick Answers

What’s the setup time for this Telegram WordPress automation?

About 10–15 minutes if you already have your RSS feed and WordPress credentials.

Is coding required for this Telegram WordPress publishing?

No. You’ll mostly paste in URLs, connect WordPress/OpenAI, and test a sample Telegram item.

Is n8n free to use for this Telegram WordPress 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 low for short rewrites.

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 modify this Telegram WordPress automation workflow for different use cases?

Yes, and you should. Most people start by adjusting the prompt in the Rewrite Article AI and Context Enhancer AI nodes so the output matches their editorial style. You can also change category mapping by editing the category Set nodes tied to each Telegram RSS trigger, and tweak media behavior by changing the Route Media Type logic (for example, always forcing a default featured image).

Why is my WordPress connection failing in this workflow?

Usually it’s an invalid Application Password or the wrong username paired with it. Update the credentials used by the WordPress HTTP Request nodes, then re-run a single item and check the error body returned by WordPress. If you’re getting permission errors, make sure the WordPress user can publish posts and upload media. Some hosts or security plugins also block REST requests, so you may need to whitelist the endpoint.

What volume can this Telegram WordPress automation workflow process?

For most small sites, it can handle dozens of posts per day without trouble.

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

Often, yes, because this workflow has branching logic (duplicate checks, paging through WP posts, image vs. video handling, and two AI stages) that gets awkward and expensive in simpler automation tools. n8n also gives you more control over the raw WordPress REST requests, which matters when you need specific fields like excerpts, media IDs, or video shortcodes. If you self-host, you’re not counting every step as a billable task the same way. The tradeoff is that you’ll spend a little more time setting it up the first time. If you’re unsure, Talk to an automation expert and we’ll point you in the right direction.

Once this is running, your Telegram channel stops being a dead-end and starts feeding your site automatically. You get consistency without the daily grind.

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

💬
Launch login modal Launch register modal