Clip YouTube videos into shorts with OpenShorts and Telegram approval
Ready for 3.0What this workflow does
This workflow has 30 nodes and runs on a schedule (every day at 09:00) (plus 3 other triggers). Along the way it connects Telegram. It also calls api.openshorts.app over HTTP.
How it runs
Trigger: On a schedule (every day at 09:00) (plus 3 other triggers).
- Settings (Edit Fields (Set)): sets 2 fields: youtube_channel_id, telegram_chat_id
- Settings (clips) (Edit Fields (Set)): sets 1 field: telegram_chat_id
- Parse button (Code): runs custom JavaScript code
- Settings (weekly) (Edit Fields (Set)): sets 1 field: telegram_chat_id
- Channel RSS feed (RSS Read): reads an RSS feed
- Job completed? (If): checks a condition and branches into true / false
- Approved? (If): checks a condition and branches into true / false
- Weekly impressions (HTTP Request): calls api.openshorts.app
- Pick next video (Code): runs custom JavaScript code
- One item per clip (Code): runs custom JavaScript code
…plus 16 more steps. See the full node list below.
Services it uses
HTTP calls to: api.openshorts.app
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (9)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - RSS Read
n8n-nodes-base.rssFeedRead - Code
n8n-nodes-base.code - HTTP Request
n8n-nodes-base.httpRequest - Telegram
n8n-nodes-base.telegram - Webhook
n8n-nodes-base.webhook - If
n8n-nodes-base.if - Telegram Trigger
n8n-nodes-base.telegramTrigger - Edit Fields (Set)
n8n-nodes-base.set
From the author
Quick overview This workflow checks a YouTube channel’s RSS feed daily, sends one unprocessed video to OpenShorts for automatic 9:16 clip generation, delivers the resulting clips to Telegram for human approval, schedules approved clips for multi-platform…