Huashu Design
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
An n8n workflow that drafts posts for X from a message to your Telegram bot. The agent searches the web with Tavily and writes the draft, and nothing is posted until you approve it, by a button or by a typed reply.
X post writer with Telegram approval is an n8n workflow in the Marketing & SEO category, listed by Mindket. It is free. This is version 2, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
Telegram message
It starts when someone sends your Telegram bot a message with:
A post on X, published only after you have approved it
What you need before you start.
Chat and approval
Receives your request, sends each draft back and waits for your answer.
NeedsBot token from BotFather
Web search
Gives the draft agent a recent source to write from.
NeedsTavily API key
Publishing
Posts the approved text to your account.
NeedsX developer app with OAuth 2.0 and write access
Language models
Runs GPT-4.1 for the drafts and revisions and Gemini 2.0 Flash for the classifier.
NeedsOpenRouter API key
Checked by Mindket on 13 Nov 2026
This n8n workflow writes posts for X and waits for your approval before it publishes them. You message your Telegram bot with what the post should cover. An agent searches the web through Tavily, writes a draft of up to 280 characters with its source named, and sends it back to your chat. The file holds two complete flows for that approval step. In one you press Approve or Decline. In the other you type a reply, a classifier decides whether it means yes, and a request for changes goes to a revision agent, which sends a new draft for another round. Approved text is posted to X.
People who post on X often, want a draft made from fresh sources, and want to keep the last word. Because the whole loop runs inside a chat, it works from a phone.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| News and media | Social editors | Send a story topic and approve the sourced draft that comes back | An editor sends a topic from a phone and approves the sourced draft in the same chat. |
| Software and developer tools | Founders who post updates | Use the typed-reply flow to trim a draft until it reads right | A founder replies with a request for a shorter version and approves the second draft. |
| Creators and newsletters | Solo creators | Keep one account active between other work, with each post approved first | A creator sends one topic between meetings and posts only what they approved. |
| Marketing teams | Community managers | Give the draft agent a different tone in its system message | A manager rewrites the agent’s style rules once, and each draft follows them. |
Skip it if you want posts on a schedule or a content calendar. This answers one message at a time and has no queue.
An n8n with a public HTTPS address, because Telegram sends your bot’s messages to it.
Get it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Have these ready before you import it.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server with a public HTTPS address |
| Telegram | A bot, made in Telegram with BotFather, and its token |
| Tavily | An API key, kept in n8n as an HTTP Header Auth credential |
| OpenRouter | An API key for the three chat models |
| X | A developer app with OAuth 2.0, its Client ID and Client Secret, and write access |
workflow.json.Telegram Trigger, Submit Approval, Denial message, Telegram_Trigger and Request Feedback.Authorization and your Tavily key, and select it in Tavily and Tavily Search.GPT 4.1, GPT_4.1 and 2.0 Flash.X and X Post.Message the bot with what the post should cover. The agent searches, drafts, and sends the draft back to the same chat. How you answer depends on the flow.
| Flow | You answer | If you approve | If you do not |
|---|---|---|---|
Yes or no, from Telegram Trigger | Two buttons, Approve and Decline | The draft is posted to X | A short message says it was denied, and the run ends. Send a new request to try again |
Typed reply, from Telegram_Trigger | Any text | A classifier reads it, and approval posts the draft | A request for changes goes to the revision agent, and a new draft comes back for another round |
A message to the bot, and the typed-reply flow:
You: a post about this week’s Mars rover news Bot: Good to go? <the draft, up to 280 characters, with its source named> You: make it shorter Bot: Good to go? <the shorter draft> You: looks good
The last reply makes the classifier answer approved, and the latest draft is posted to X.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. Notes on the canvas group this file into its two flows and label each stage, such as Initial Content, HITL, Decision Point, Post and Revision. Start with the yes or no flow, since it has fewer parts.
For experts. Models run through OpenRouter, and each role has its own node.
| Role | Model | What to know |
|---|---|---|
| Draft agents | OpenAI GPT-4.1 | The prompt requires a Tavily search every time and asks for a source named in the text, with no @ sign |
| Revision agent | OpenAI GPT-4.1 | It has no search tool, so a revision cannot look up new facts |
| Text classifier | Google Gemini 2.0 Flash | Two categories, approved and declined, each with sample phrases |
| Search | Tavily, through an HTTP tool | Asked for one result per query, with a short answer |
A post is public, so the approval step is the only thing between a draft and your followers.
An n8n workflow. Message your Telegram bot with what a post should cover, and an agent searches the web, drafts the post and
sends it back to you. Nothing goes to X until you approve it, either with a button or with a typed reply.
workflow.json: the workflow as n8n exports it, 34 nodes. It holds two separate flows, each with its own TelegramREADME.md: these notes.workflow.json.Telegram Trigger, Submit Approval, Denial message,Telegram_Trigger and Request Feedback.Authorization, value Bearer and your Tavily key. Select it in TavilyTavily Search.GPT 4.1, GPT_4.1 and 2.0 Flash./rest/oauth2-credential/callback. In n8n add an X OAuth2 credential with the Client ID and Client Secret, finish theX and X Post.| Flow | Starts at | You answer | Then |
|---|---|---|---|
| Yes or no | Telegram Trigger | Two buttons, Approve and Decline | If sends an approval to X, and a decline to Denial message |
| Typed reply | Telegram_Trigger | Any text in Request Feedback | Text Classifier sends approval to X Post, and a request for changes to Revision Agent |
In the typed-reply flow the revised draft passes through Set Post and comes back to Request Feedback, so the loop runs
until you approve. The post that goes to X is the latest one saved in Set Post.
X_Post Agent and X Post Agent) and in Revision Agent.Text Classifier hold sample phrases. Add your own.Submit Approval and Request Feedback, as Good to go? above the draft.openai/gpt-4.1 and google/gemini-2.0-flash-001. Pick others in the nodes.max_results in their JSON body for more.README.md 4 KB workflow.json 21 KB
Updated by Mindket to the current version of this kit.
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
nerijs · Kit
A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…
LiconStudio · Kit
Keeps characters, clothing, objects and backgrounds consistent in generated video by feeding the model up to five reference images. A LoRA for LTX-2.5 in Comfy…
nhathoangfoto · Kit
A LoRA for FLUX.2 Klein 9B that puts a character into the pose shown by a mannequin reference while keeping the character's face and style. For artists and des…