Telegram to WordPress, blog posts published for you
Your content calendar looks simple until you actually try to ship. Picking a topic, writing 2,000 words, formatting headings, finding an image, filling SEO fields, posting to WordPress, then telling the team it’s live. That’s not “marketing.” That’s production work, and it eats days.
This Telegram WordPress automation hits content marketers hardest, but bloggers and WordPress site owners feel it too. You want consistent posts without sacrificing quality, and you want a workflow that doesn’t require you to babysit every draft.
This n8n workflow turns a Telegram command (or a simple schedule) into a published WordPress post with SEO fields and a featured image, then sends Discord and Telegram alerts. Below is what it solves, what changes after you set it up, and what you’ll need to run it reliably.
How This Automation Works
See how this solves the problem:
n8n Workflow Template: Telegram to WordPress, blog posts published for you
flowchart LR
subgraph sg0["Telegram Flow"]
direction LR
n0@{ icon: "mdi:robot", form: "rounded", label: "Topic Chooser and Title Maker", pos: "b", h: 48 }
n1["<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"]
n2@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check command from telegram", pos: "b", h: 48 }
n3@{ icon: "mdi:play-circle", form: "rounded", label: "Scheduled Auto Trigger (Ever..", 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/discord.svg' width='40' height='40' /></div><br/>Notify Discord channel"]
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/>Attach Feature Image to Post"]
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/>Upload Image to Wordpress"]
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/wordpress.svg' width='40' height='40' /></div><br/>Create WP Draft Post1"]
n8@{ icon: "mdi:brain", form: "rounded", label: "ALT: Metadata Generator (Gem..", pos: "b", h: 48 }
n9@{ icon: "mdi:robot", form: "rounded", label: "Parse Blog Metadata JSON1", pos: "b", h: 48 }
n12@{ icon: "mdi:brain", form: "rounded", label: "Article Generator", pos: "b", h: 48 }
n13@{ icon: "mdi:robot", form: "rounded", label: "Generate Featured Image (Ope..", pos: "b", h: 48 }
n14@{ icon: "mdi:robot", form: "rounded", label: "Generate Article Body", pos: "b", h: 48 }
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/>Notify Telegram"]
n1 --> n2
n12 -.-> n14
n7 --> n13
n14 --> n7
n9 -.-> n0
n6 --> n5
n2 --> n0
n5 --> n4
n5 --> n15
n0 --> n14
n13 --> n6
n8 -.-> n0
n3 --> n0
end
subgraph sg1["Flow 2"]
direction LR
n10@{ icon: "mdi:brain", form: "rounded", label: "Article Generator (alt)", pos: "b", h: 48 }
end
subgraph sg2["Flow 3"]
direction LR
n11@{ icon: "mdi:brain", form: "rounded", label: "Article Generator (alt2)", pos: "b", h: 48 }
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 n1,n3 trigger
class n0,n9,n13,n14 ai
class n8,n12,n10,n11 aiModel
class n2 decision
class n5,n6 api
classDef customIcon fill:none,stroke:none
class n1,n4,n5,n6,n7,n15 customIcon
The Challenge: Publishing SEO Posts Consistently
Getting one good blog post out the door is doable. Doing it again tomorrow, and the day after, is where things fall apart. The slow parts aren’t even the writing. It’s the switching between tools, the repetitive SEO fields, the formatting tweaks that somehow take forever, and the “where did we put the featured image?” scramble. Then you publish and realize the slug is off, the meta description is missing, or the category is wrong. Now you’re fixing live content, which is stressful and honestly avoidable.
It adds up fast. Here’s where it breaks down in the real world.
- You lose about 2 hours per post to research, formatting, SEO entry, and publishing steps that are mostly the same every time.
- Even careful teams ship drafts with missing slugs, wrong categories, or inconsistent headings because checklists get skipped when you’re rushed.
- Publishing depends on one person knowing “the WordPress way,” which becomes a bottleneck the moment they’re busy or out.
- You do the work, but the team still asks, “Did it go live?” because there’s no automatic alert in Discord or Telegram.
The Fix: Generate, Draft, Publish, and Notify Automatically
This workflow (called BlogBlitz) automates blog creation end-to-end: topic selection, SEO metadata, full article writing, WordPress drafting/publishing, featured image generation, and team notifications. It can start in two ways. You can trigger it on-demand by sending /generate to your Telegram bot, or you can let it run on a schedule (every 3 hours in the default setup). From there, AI generates a topic and structured metadata (title, slug, focus keyphrase, meta description), writes a long-form article (typically 1,500–2,500 words), and formats it with headings. Then WordPress receives the post plus category and author details, the workflow generates a realistic featured image, uploads it, attaches it to the post, and finally pushes publish alerts to Discord and Telegram.
The workflow starts with Telegram or a schedule trigger, then runs a short “metadata pass” to decide what the post is about and how it should be positioned for SEO. Next, a writing model composes the article body and WordPress gets the draft while an image model creates the featured visual. After the image is uploaded and attached, notifications go out so you know it shipped.
What Changes: Before vs. After
| What This Eliminates | Impact You’ll See |
|---|---|
|
|
Real-World Impact
Say you publish 3 posts a week. A typical “manual” run is around 2 hours per post between writing, formatting, filling SEO fields, uploading an image, and getting it properly published, so you’re spending about 6 hours a week just to ship. With this workflow, the human part is basically one Telegram message plus a quick review pass in WordPress, maybe 10 minutes per post. Even if you still skim and edit for tone, you’re usually saving about 5 hours a week.
Requirements
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Telegram Bot API to trigger generation with /generate.
- WordPress REST API access to create posts and drafts.
- OpenRouter API key (get it from your OpenRouter dashboard).
- OpenAI API key (get it from the OpenAI API keys page).
- Discord webhook URL (get it from your Discord channel integrations).
Skill level: Intermediate. You’ll connect accounts, paste API keys, and confirm your WordPress category IDs and author ID.
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. Send /generate to your bot for an on-demand post, or let the Schedule Trigger run it every 3 hours when you want steady output without thinking about it.
Metadata is created first. The workflow uses an LLM chain (via OpenRouter) to pick a category and generate the post essentials like title, slug, focus keyphrase, and meta description, then parses that into structured fields so WordPress receives clean inputs.
The article body is composed. A writing model generates a long-form post (1,500–2,500 words) with headings and a publish-ready structure, and n8n merges the pieces into what WordPress expects.
WordPress gets the post and the image. The workflow creates the draft/post in WordPress, generates a featured image using an OpenAI image node, uploads it through HTTP requests, and attaches it to the post so it renders correctly on your site.
Notifications close the loop. Discord receives a publish alert via webhook, and Telegram gets a confirmation message so you’re not guessing what happened.
You can easily modify the category list and tone prompts to match your niche, then keep the same publish-and-notify backbone. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Telegram Trigger
Set up the workflow entry points so it can run on demand from Telegram or on a schedule.
- Open Incoming Telegram Trigger and connect it to your bot. Credential Required: Connect your Telegram API credentials.
- In Validate Telegram Command, define the condition logic to allow only the commands you want to process.
- Open Scheduled Run Every 3 Hours and set the interval to run every 3 hours for automated generation.
- Confirm both Incoming Telegram Trigger and Scheduled Run Every 3 Hours connect to Topic Selector & Title Crafter as shown in the canvas.
Step 2: Set Up Topic and Metadata Generation
Configure the AI chain that selects topics, crafts titles, and structures metadata.
- Open Topic Selector & Title Crafter and verify it is connected to both Alt Metadata Builder (Gemini) and Parse Metadata JSON.
- In Alt Metadata Builder (Gemini), connect your LLM provider. Credential Required: Connect your OpenRouter credentials.
- Confirm Parse Metadata JSON is set as the output parser for Topic Selector & Title Crafter.
Step 3: Build the Article Body with AI Models
Generate the article content using the connected language models and the main composition chain.
- Open Compose Article Body and confirm it receives input from Topic Selector & Title Crafter.
- Verify Primary Article Model is connected as the language model for Compose Article Body. Credential Required: Connect your OpenRouter credentials.
- Optionally configure Utility: Alternate Article Model and Utility: Secondary Article Model if you plan to switch models or add fallbacks. Credential Required: Connect your OpenAI credentials for Utility: Alternate Article Model and Google Gemini credentials for Utility: Secondary Article Model.
Step 4: Configure WordPress Draft and Featured Image Delivery
Create the WordPress draft, generate a featured image, and attach it to the post.
- Open Create WordPress Draft and connect your site credentials. Credential Required: Connect your WordPress credentials.
- In Generate Featured Image, connect your image model provider. Credential Required: Connect your OpenAI credentials.
- Configure Upload Image to WordPress to upload the image to your WordPress media endpoint.
- Set Attach Featured Image to update the draft post with the media ID returned from Upload Image to WordPress.
Step 5: Configure Notifications
Send updates to Discord and Telegram after the featured image is attached.
- Open Post Discord Update and connect your Discord credentials. Credential Required: Connect your Discord credentials.
- Open Send Telegram Notice and connect your bot credentials. Credential Required: Connect your Telegram API credentials.
- Confirm the execution flow: Attach Featured Image outputs to both Post Discord Update and Send Telegram Notice in parallel.
Step 6: Test and Activate Your Workflow
Run a manual test to validate the full generation and publishing loop, then activate it for production.
- Click Execute Workflow and trigger Incoming Telegram Trigger with a valid command.
- Verify that Compose Article Body generates content and Create WordPress Draft creates a draft post.
- Confirm the featured image uploads and attaches successfully through Generate Featured Image, Upload Image to WordPress, and Attach Featured Image.
- Check that both notifications fire: Post Discord Update and Send Telegram Notice.
- Toggle the workflow to Active to enable scheduled runs from Scheduled Run Every 3 Hours.
Watch Out For
- WordPress credentials can expire or need specific permissions. If things break, check your WordPress Application Password (or REST API auth method) and confirm /wp-json/wp/v2 access 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.
Common Questions
About 30 minutes if your API keys are ready.
Yes, but someone should be comfortable pasting API keys and checking WordPress permissions. No coding is required for the default 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 OpenRouter and OpenAI API usage costs, which vary based on article 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.
You can adjust the prompts in the LLM chain that generates the topic and in the “Compose Article Body” step to match your niche and brand voice. If your categories differ, replace the category IDs used when creating the WordPress draft so posts land in the right place. Many teams also tweak the schedule (every 3 hours is aggressive) and change notifications to additional channels like Slack or email.
Usually it’s authentication. Recheck your WordPress Application Password (or the credentials you configured in n8n), then confirm the user has permission to create posts and upload media. It can also fail if your site blocks REST API requests, or if a security plugin is throttling requests. If image upload fails but post creation works, look specifically at media endpoint permissions.
On self-hosted n8n, capacity is mostly your server and API rate limits.
For AI-heavy publishing flows, n8n is usually the better fit because you can add branching logic, parsing, and multi-model fallbacks without fighting plan limits. You also get a self-hosted option, which matters when you trigger often (like every few hours) or want more control over data. Zapier and Make can work, but they tend to get expensive once you add long chains and retries, and complex text parsing is clunkier. One more thing: n8n handles “glue work” (like merging structured metadata into a clean WordPress payload) in a way that’s easier to debug. Talk to an automation expert if you want help choosing based on your publishing volume.
Set this up once and your blog stops relying on “finding time to write.” The workflow handles the repeatable parts so you can focus on editing, strategy, and content that actually sounds like you.
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.