Fully automated posting means you lose control. Manual posting means you do it every time. This workflow sits in the middle: it drafts the tweet, sends it to your Telegram, and waits. You approve, request changes, or reject. It acts on your decision. Nothing posts without your sign-off.
I use this exact workflow for this channel.
How it works
flowchart TD
YT[YouTube\nlatest video] --> TR[Transcribe\nWhisper]
TR --> AI[Draft tweet\nGPT-4o mini]
AI --> TG[Send to Telegram\nwith buttons]
TG --> W{Wait for\nresponse}
W -->|Approve| X[Post to X]
W -->|Feedback| RF[Refine tweet]
RF --> TG
W -->|Reject| END[Cancel]
- Fetch your latest long-form YouTube video
- Transcribe the audio with OpenAI Whisper
- Generate a tweet draft from the transcript
- Send a Telegram message with approve/reject/feedback buttons
- Wait for your response
- Publish if approved; refine and re-send if you want changes; cancel if rejected
The feedback loop runs as many times as you need. Each iteration sends a new draft to Telegram. You never publish something you haven't read.
The workflow structure
Config node
Two inputs: your YouTube channel ID and your Telegram chat ID. Everything downstream reads from here.
Get latest long-form video
Three nodes:
- Fetch channel videos via YouTube API
- Get video details (you need duration to filter)
- Filter: keep only videos longer than 10 minutes, return the most recent
Transcript sub-workflow
A separate workflow handles transcription to keep it reusable:
- Check the data table for an existing transcript (avoids re-transcribing on re-runs)
- If not found: fetch the audio URL via Rapid API, download the audio, transcribe with OpenAI Whisper
- Store the transcript in the data table for next time
- Return the result
Generate the tweet
An AI agent receives the transcript and the video URL (always include the URL — you want it in the tweet). The system prompt specifies your tweet format, tone, and any structural rules. GPT-4o mini works fine here.
The Telegram consent loop
The key mechanism:
- A Set node formats the post and consent message
- Send Message to Telegram with an inline keyboard: two buttons, Consent and Reject. Each button passes the execution ID and a boolean (true/false) as callback data.
- A Wait node pauses the workflow. It doesn't time out. It resumes only when a webhook call arrives.
Consent handler (separate workflow)
This second workflow handles incoming Telegram events:
- Triggered on button clicks (callback query) or text/voice replies (message)
- Extracts: execution ID, consent status, chat ID, message ID, event type
- Routes based on event type:
- Button click (consent): delete the Telegram message to clean up the chat, call the webhook on the waiting workflow, pass consent=true and no feedback
- Text feedback: delete the Telegram message, resume the workflow with consent=false and the feedback text
- Voice feedback: download the audio from Telegram, transcribe it with Whisper, then do the same as text feedback
Back in the main workflow
After the Wait node resumes, a router handles three paths:
- Consent=true, no feedback: publish the tweet
- Consent=false, has feedback: send to the refinement agent, loop back to the consent step
- Consent=false, no feedback: cancel, end the workflow
Refinement agent
Receives the current tweet and the feedback. System prompt: apply the feedback, keep the format rules, return a revised tweet. Then the consent loop runs again.
Running the full flow
Execute the workflow. It fetches the video, transcribes, drafts. A message arrives in Telegram with the draft and two buttons. You read it and decide:
- Click Consent — it posts, done.
- Reply with "remove the link at the end" — the workflow refines the tweet, sends a new Telegram message. Approve or refine again.
- Click Reject — workflow ends, nothing posts.
Getting the workflow
The full n8n workflow file is linked in the video description. Import it directly into your n8n instance and update the config node with your channel ID and Telegram chat ID.
If you want a content automation system built for your team, including approval loops like this one, get in touch. We build custom n8n workflows from scratch.