Telegram to WordPress, posts publish themselves
You open Telegram, drop a quick “write about this,” and then… nothing happens. Because the real work is still waiting: outlines, headings, SEO fields, WordPress formatting, images, categories, uploads, links, and that final “did it actually publish?” check.
This Telegram WordPress automation hits content marketers first, but blog owners and agency teams feel it too. You want consistent publishing without turning every article into a half-day production.
This workflow turns a Telegram command (or a schedule) into a complete WordPress post with SEO metadata, a featured image, and a Discord + Telegram alert. Below, you’ll see what breaks manually, what this fixes, and what you need to run it.
How This Automation Works
See how this solves the problem:
n8n Workflow Template: Telegram to WordPress, posts publish themselves
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0@{ icon: "mdi:robot", form: "rounded", label: "Topic Chooser and Title Maker", pos: "b", h: 48 }
n1@{ icon: "mdi:robot", form: "rounded", label: "Basic LLM Chain", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "Topic Chooser and Title Make..", pos: "b", h: 48 }
n3["<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/wordpress.svg' width='40' height='40' /></div><br/>Wordpress Post Draft"]
n4@{ icon: "mdi:robot", form: "rounded", label: "OpenAI - Generate Image", pos: "b", h: 48 }
n5["<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/>Upload Image to WP"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Wordpress - Set Featured Image"]
n7@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n8@{ icon: "mdi:brain", form: "rounded", label: "Title, category, meta, keyph..", 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/discord.svg' width='40' height='40' /></div><br/>Send to Discord Using Webhook"]
n10@{ icon: "mdi:brain", form: "rounded", label: "Article Generator", 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/telegram.svg' width='40' height='40' /></div><br/>Telegram Trigger"]
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n13["<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/>Telegram"]
n12 --> n0
n1 --> n3
n7 --> n0
n11 --> n12
n10 -.-> n1
n5 --> n6
n3 --> n4
n4 --> n5
n0 --> n1
n6 --> n9
n6 --> n13
n2 -.-> n0
n8 -.-> 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 n7,n11 trigger
class n0,n1,n2,n4 ai
class n8,n10 aiModel
class n12 decision
class n5,n6 api
classDef customIcon fill:none,stroke:none
class n3,n5,n6,n9,n11,n13 customIcon
The Challenge: Publishing consistently without burning hours
Writing “just one blog post” is never just one task. You draft the piece, then you switch tools to create a title and slug that won’t embarrass you in Google. After that comes SEO fields, categories, image generation (or stock hunting), media upload, and the fiddly WordPress formatting that somehow always takes longer than you expect. The worst part is the mental load. You’re constantly context-switching, which means you work slower and make more mistakes, even when you’re good at this stuff.
It adds up fast. Here’s where it breaks down in real teams.
- Posts stall because the “last 20%” (image, meta, categories, upload) keeps getting postponed.
- Titles and slugs end up inconsistent, which means older content looks messy and internal linking gets harder later.
- Someone forgets to add the featured image or picks the wrong category, and you notice after it’s already live.
- You lose track of what published when, so keeping a steady cadence becomes guesswork.
The Fix: Telegram-triggered AI posts that publish to WordPress
This n8n workflow (BlogBlitz) publishes WordPress posts automatically from either a Telegram command (“generate”) or a scheduled run every few hours. Once triggered, it uses OpenRouter to choose a category and generate the content brief: title, slug, focus keyphrase, and meta description. Then OpenAI writes the full article (about 1,500–2,500 words) with a clean structure, headings, and a call-to-action so it reads like a real post, not a wall of text. Next, it generates a realistic featured image, uploads it to WordPress, and attaches it to the post. Finally, you get a publish notification in Discord and Telegram with the link, so you always know what went live.
The workflow starts with Telegram or a schedule trigger. AI generates the SEO package (topic, title, slug, meta) and the long-form article, then WordPress receives a drafted post plus the featured image upload. Discord and Telegram alerts close the loop.
What Changes: Before vs. After
| What This Eliminates | Impact You’ll See |
|---|---|
|
|
Real-World Impact
Say you aim for 5 posts a week. Manually, even a “fast” process often looks like 2 hours writing, about 30 minutes on SEO fields and formatting, and another 30 minutes finding or creating an image and uploading it. That’s roughly 15 hours weekly. With this workflow, your time is closer to: 5 minutes to trigger in Telegram (or none if scheduled), then you just skim the draft and polish if needed. For many sites, that’s about a workday back every week.
Requirements
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- WordPress to publish posts via the REST API.
- Telegram to trigger runs and receive publish alerts.
- Discord to send webhook notifications to your channel.
- OpenAI API key (get it from your OpenAI dashboard).
- OpenRouter API key (get it from your OpenRouter account settings).
Skill level: Intermediate. You’ll connect a few accounts, paste API keys, and confirm your WordPress categories and permissions.
Need help implementing this? Talk to an automation expert (free 15-minute consultation).
The Workflow Flow
A Telegram command or a schedule kicks things off. You can run it on-demand by sending “generate” to your bot, or let the schedule run every few hours so content keeps moving even when you’re busy.
The workflow decides the topic and builds the SEO wrapper. OpenRouter selects a category (Technology, AI, Tech Facts, Tech History, or Tips) and generates the title, slug, focus keyphrase, and meta description so the post has a consistent “SEO spine” from the start.
OpenAI writes the article and creates the featured image. The article generator produces a long-form post with headings and a call-to-action. Then the image node creates a realistic featured image so you’re not stuck hunting stock photos.
WordPress receives the draft, media upload, and final attachment. n8n creates the post in WordPress, uploads the image via HTTP, assigns it as the featured visual, and then sends the final link to Discord and Telegram.
You can easily modify categories or the writing style to match your site. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Schedule and Telegram Triggers
Set up the two entry points that can initiate the workflow on a schedule or via Telegram events.
- Add and open Scheduled Automation Trigger, then define your preferred schedule (leave defaults if you will configure later).
- Add and open Telegram Event Trigger, then configure the Telegram bot and webhook settings.
- Connect Telegram Event Trigger to Conditional Branch Check to route event-based runs.
- Connect Scheduled Automation Trigger directly to Topic Selector & Title Forge for scheduled runs.
Credential Required: Connect your Telegram credentials in Telegram Event Trigger.
Step 2: Configure the Conditional Branch
Use the conditional node to gate Telegram-triggered runs before they proceed to topic selection.
- Open Conditional Branch Check and define your conditions for allowing Telegram-triggered requests.
- Ensure the “true” output is connected to Topic Selector & Title Forge.
Step 3: Set Up Topic Selection and Metadata Generation
This phase chooses a topic and title, and uses structured output parsing for clean downstream data.
- Open Topic Selector & Title Forge and define the prompt and output expectations for topic selection.
- Confirm Metadata Keyphrase Builder is connected as the language model to Topic Selector & Title Forge.
- Confirm Topic Output Parser is connected to Topic Selector & Title Forge as the output parser.
- Connect Topic Selector & Title Forge to Core LLM Sequence to pass the selected topic forward.
Credential Required: Connect your OpenRouter credentials in Metadata Keyphrase Builder.
OpenAI/LLM sub-nodes such as Topic Output Parser are tools connected to Topic Selector & Title Forge—add credentials to the parent LLM nodes, not the parser.
Step 4: Generate Article Content and Draft in WordPress
Use a dedicated LLM to produce article text, then draft the post in WordPress.
- Open Article Text Generator and configure the model and response style for long-form content.
- Verify Article Text Generator is connected as the language model to Core LLM Sequence.
- Open Core LLM Sequence and ensure its output is connected to WP Draft Composer.
- Open WP Draft Composer and set the WordPress site, post type, and draft status as needed.
Credential Required: Connect your OpenAI credentials in Article Text Generator.
Credential Required: Connect your WordPress credentials in WP Draft Composer.
Step 5: Create and Attach the Featured Image, Then Notify
This stage generates an image, uploads it to WordPress, assigns it as the featured visual, and sends notifications in parallel.
- Open AI Image Creator and configure the image generation prompt using the article or title data.
- Connect AI Image Creator to WP Media Upload to upload the generated image.
- Open WP Media Upload and set the HTTP method, authentication headers, and WordPress media endpoint.
- Connect WP Media Upload to Assign Featured Visual and configure the request to attach the media ID to the post.
- Assign Featured Visual outputs to both Discord Webhook Dispatch and Telegram Message Sender in parallel.
- Open Discord Webhook Dispatch and Telegram Message Sender to format the notification messages.
Credential Required: Connect your OpenAI credentials in AI Image Creator.
Credential Required: Connect your Discord credentials in Discord Webhook Dispatch.
Credential Required: Connect your Telegram credentials in Telegram Message Sender.
⚠️ Common Pitfall: If WordPress media upload or featured image assignment fails, verify that WP Media Upload and Assign Featured Visual include valid authentication headers and the correct REST API endpoints.
Step 6: Test and Activate Your Workflow
Run an end-to-end test from each trigger to verify content creation, media upload, and notifications.
- Click Execute Workflow to test the scheduled path from Scheduled Automation Trigger.
- Send a Telegram message to trigger Telegram Event Trigger and confirm the conditional path reaches Topic Selector & Title Forge.
- Verify a draft post is created by WP Draft Composer and a featured image is assigned by Assign Featured Visual.
- Confirm notifications are delivered by Discord Webhook Dispatch and Telegram Message Sender.
- Toggle the workflow to Active to enable production runs.
Watch Out For
- WordPress API credentials can expire or lack permissions. If posting fails, check your WordPress application password/user role and the wp-json/wp/v2 endpoint access first.
- If you rely on scheduled runs, content generation times vary because AI responses and media uploads are not always predictable. If downstream nodes fail on empty responses, increase any waiting/retry behavior and re-run with the same input.
- Default AI prompts are generic. Put your brand voice, preferred structure, and “things to avoid” directly into the LLM prompt nodes early, or you will be editing every post after it publishes.
Common Questions
About 30 minutes if your accounts and categories are ready.
Yes. You’ll connect accounts, paste API keys, and test a Telegram “generate” message.
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/OpenRouter usage costs, which usually land around a few cents per post depending on length and image generation.
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.
Start in the “Edit Fields (Set)” area where category IDs and default values are centralized, then adjust the topic/category prompts in the OpenRouter and OpenAI nodes. Common tweaks include switching categories to match your site, tightening the tone to match your brand, and changing the schedule from every few hours to daily. If you don’t want auto-publishing, keep the WordPress node as draft-only and require a manual review.
Usually it’s an application password issue or a user role that can’t create posts. Regenerate the WordPress application password, confirm the user has author/editor permissions, and verify your site allows REST API access at wp-json/wp/v2. If media upload fails but posts work, double-check the HTTP request endpoints and that your server isn’t blocking large image payloads.
If you self-host, capacity is mainly your server and your API rate limits.
For long-form generation plus media upload, n8n is usually the more flexible choice. You can run multi-step logic (topic selection, structured parsing, WordPress posting, image upload, and notifications) without turning it into a brittle chain of separate zaps or scenarios. It’s also easier to self-host, which matters when you’re generating big posts on a schedule and you don’t want execution limits to dictate your content calendar. Zapier or Make can still be fine for simpler “Telegram to draft” flows, honestly. Talk to an automation expert if you want help choosing.
Once this is running, your content engine stops depending on “finding time to write.” The workflow handles the repetitive publishing grind, and you get to focus on edits, strategy, and distribution.
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.