Promotion of new videos from a YouTube channel
Starting from a query of a YouTube channel’s feeds, create a promotion and distribute the link to the recent videos.
🧩 Overview
The workflow automates the discovery of new videos on a YouTube channel, generates concise, engaging summaries, and publishes those summaries as promotional posts on Telegram. By combining web‑scraping, natural‑language understanding, and a data‑batch agent, the process turns raw RSS feeds into ready‑to‑share content, saving time and ensuring consistent, high‑quality outreach.
⚙️ Main Features
- Fetches the channel’s RSS feed and parses its XML content.
- Uses an LLM to extract, classify, and format information about recent videos.
- Identifies newly published posts and extracts relevant metadata.
- Retrieves and transcribes each video’s spoken content.
- Generates a short, persuasive summary that encourages viewers to watch.
- Publishes the summary and a link to the video on a Telegram channel.
- Handles each new video concurrently via a data‑batch agent.
- Provides structured outputs and supports configurable system prompts.
🔄 Workflow Steps
| Component Name | Role in the Workflow | Key Inputs | Key Outputs |
|---|---|---|---|
| API Request | Retrieves the YouTube channel feed in XML format. | YouTube channel feed URL | XML data |
| Parse Data | Parses the XML and extracts channel entries (video ID, title, published date, etc.). | XML data | Structured list of entries |
| OpenAI Model | Analyzes the feed and produces a JSON report describing new, recent, and old posts. | Structured entry list | JSON string |
| JSON to Data | Converts the JSON string into a Data object that can be consumed by downstream components. | JSON string | Data object (report) |
| Parse Data (New Publications) | Extracts the subset of entries marked as new (published within the last 24 h). | Report data | List of new publication objects |
| JSON to Data (2) | Transforms the new publication list into a Data object suitable for batch processing. | New publication list | Data object (new publications) |
| Data Batch Agent | Orchestrates the processing of each new publication in parallel, delegating each to the Advanced Agent. | Data object (new publications) | Combined results for all videos |
| Advanced Agent | For each video, obtains the transcript, generates a concise summary, composes a Telegram message, and returns the message text. | Video data (URL, ID, title) | Text message ready for Telegram |
| Telegram Message | Sends the composed message to the specified Telegram channel. | Message text, chat ID, bot credentials | Telegram API response (message status) |
🧠 Notes
Dependencies:
- An OpenAI API key is required for the LLM components.
- A Telegram Bot token and the target chat ID are needed for publishing messages.
- The YouTube channel ID must be supplied to the API Request component.
Assumptions:
- The RSS feed URL follows the standard YouTube format (
https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID). - Transcripts are available for the videos; if a transcript is missing, the agent will skip that video or produce a placeholder.
- The RSS feed URL follows the standard YouTube format (
Limitations:
- Rate limits on the YouTube and Telegram APIs may restrict how many videos can be processed per hour.
- The LLM’s summary length is capped at 200 words; extremely long transcripts may be truncated.
- Parallel execution is limited by the
max_concurrencysetting of the Data Batch Agent (default 5).
Performance Tips:
- Enable
json_flattenonly when the input JSON is deeply nested. - Adjust
chunk_size_secondsin the YouTube Transcripts component to reduce transcription time if short videos are processed.
- Enable
Error Handling:
- The workflow skips any video that fails to return a transcript or where the LLM response cannot be parsed into JSON.
- Logs are emitted at each component to aid debugging and audit trails.
This documentation captures the functional flow of the system, clarifying how each component contributes to automating video promotion from a YouTube channel to Telegram.