⚡AI-Powered YouTube Playlist & Video Summarization and Analysis v2
Configured with Agent, Chain LLM, Chat Trigger, Document Default Data Loader, and additional nodes. Review the connections and setup before adapting this template.
Node categories in this workflow
- AI & models
- Transform
- Data store
- Trigger
- Web / API
- Files / media
- Routing
- Code
Icons describe general node roles, inferred from node types. Inspect the parameters for the configured action.
Drag to pan; use + and − to zoom. Reconstructed from the exported node positions; nothing runs here. Dashed lines represent non-main connections. Full node names and notes appear below.
How it works
The exported workflow contains the following configured nodes. Their connections are shown above; inspect the JSON for the complete logic, expressions, and external actions.
| Node | Category | Type | Operation |
|---|---|---|---|
| Google Gemini Chat Model1 | AI & models | LM Chat Google Gemini | See node parameters |
| Handle Queries | AI & models | Agent | See node parameters |
| Split Out | Transform | Split Out | See node parameters |
| Summarize & Analyze Transcript | AI & models | Chain LLM | See node parameters |
| Concatenate | Transform | Summarize | See node parameters |
| Split Out1 | Transform | Split Out | See node parameters |
| Limit | Transform | Limit | See node parameters |
| Qdrant Vector Store | Data store | Vector Store Qdrant | See node parameters |
| Recursive Character Text Splitter | Transform | Text Splitter Recursive Character Text Splitter | See node parameters |
| Embeddings Google Gemini | AI & models | Embeddings Google Gemini | See node parameters |
| Google Gemini Chat Model2 | AI & models | LM Chat Google Gemini | See node parameters |
| Embeddings Google Gemini1 | AI & models | Embeddings Google Gemini | See node parameters |
| Chat | Trigger | Chat Trigger | See node parameters |
| Video Titles | Transform | Split Out | See node parameters |
| Merge | Transform | Merge | See node parameters |
| Edit Fields | Transform | Edit Fields | See node parameters |
| AI Agent | AI & models | Agent | See node parameters |
| Google Gemini Chat Model4 | AI & models | LM Chat Google Gemini | See node parameters |
| Delete Collection | Web / API | HTTP Request | POST |
| Default Data Loader | Files / media | Document Default Data Loader | See node parameters |
| Chat Buffer Memory | Data store | Memory Buffer Window | See node parameters |
| Full Summary | Transform | Summarize | See node parameters |
| Chat Buffer Memory1 | Data store | Memory Buffer Window | See node parameters |
| YouTube Transcript | Files / media | Youtube Transcripter | See node parameters |
| Message Intent | AI & models | Agent | See node parameters |
| Structured Output Parser1 | Transform | Output Parser Structured | See node parameters |
| Update Context Intent | Data store | Redis | set |
| Get Previous Context Intent | Data store | Redis | get |
| Route Message Intent | Routing | Switch | See node parameters |
| Process Status | Code | Code | See node parameters |
| Simple Memory | Data store | Memory Buffer Window | See node parameters |
| Simple Memory3 | Data store | Memory Buffer Window | See node parameters |
| Google Gemini Chat Model6 | AI & models | LM Chat Google Gemini | See node parameters |
| Numb of Videos | AI & models | Agent | See node parameters |
| Default Intent | Code | Code | See node parameters |
| Playlist Limit | Routing | If | See node parameters |
| Playlist or Video | Routing | Switch | See node parameters |
| Get Fields for Summary | Code | Code | See node parameters |
| Update Context Process Done1 | Data store | Redis | set |
| Google Gemini Chat Model8 | AI & models | LM Chat Google Gemini | See node parameters |
| Playlist HTTP Request | Web / API | HTTP Request | See node parameters |
| YouTube Transcript1 | Files / media | Youtube Transcripter | See node parameters |
| Video HTTP Request | Web / API | HTTP Request | See node parameters |
| Get Title and Desc | Code | Code | See node parameters |
| Split Out2 | Transform | Split Out | See node parameters |
| Concatenate1 | Transform | Summarize | See node parameters |
| Get Videos | Code | Code | See node parameters |
| Get Playlist Videos Data | Code | Code | See node parameters |
| Embeddings Google Gemini2 | AI & models | Embeddings Google Gemini | See node parameters |
| Qdrant Vector Store3 | Data store | Vector Store Qdrant | See node parameters |
| Answer questions with a vector store | AI & models | Tool Vector Store | See node parameters |
| Qdrant Vector Store4 | Data store | Vector Store Qdrant | See node parameters |
| Answer questions with a vector store1 | AI & models | Tool Vector Store | See node parameters |
| Google Gemini Chat Model | AI & models | LM Chat Google Gemini | See node parameters |
| Google Gemini Chat Model3 | AI & models | LM Chat Google Gemini | See node parameters |
| Qdrant Vector Store2 | Data store | Vector Store Qdrant | See node parameters |
| Embeddings Google Gemini4 | AI & models | Embeddings Google Gemini | See node parameters |
| If | Routing | If | See node parameters |
| Count Content | Transform | Summarize | See node parameters |
| Update Context Intent1 | Data store | Redis | set |
Setup
- Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
- Connect your own credentials through n8n’s credential store. Replace
REPLACE_WITH_*values with your resource identifiers. - Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
- Run with synthetic data and harmless destinations. Enable triggers only after checking the actual outputs.
Requirements
An n8n instance with the listed node types and compatible versions. Service-connected workflows may require accounts, credentials, or paid APIs.
Credential types declared in the source
googlePalmApiqdrantApiredis
Workflow notes
RAG & Reply to User Query
RAG & Reply to User Query
- Retrieves and provides answers to user queries combining retrieval-augmented generation.
- Processes messages without specific routing rules.
Fetch and prepare Playlist video transcripts data for processing
Fetch and prepare Playlist video transcripts data for processing
- Collects and organizes playlist video transcripts.
- Prepares data for analysis and summarization.
Summarize & Analyze Transcript
Summarize & Analyze Transcript
- Creates summarized data from transcripts.
Store Embeddings
Store Embeddings
- Saves embedded data for future use.
- Updates current context to maintain the flow of the conversation.
First Summary Analysis
First Summary Analysis
- Conducts initial analysis of summarized data.
- Return to the user insights from processed transcripts.
Message intent routing
Message intent routing
- Retrieves the previous context for continuity.
- Ensures data integrity before processing.
- Routes incoming messages based on intent.
Update Context
Update Context
- Updates any issues detected in the context.
- Prepares data for workflow progression.
Fetch and prepare single video transcripts data for processing
Fetch and prepare single video transcripts data for processing
- Retrieves and pre-processes single video transcripts.
- Prepares data for analysis and summarization.
Process or ask for more details
Process or ask for more details
- Decides next steps based on workflow conditions e.g. missing number of playlist videos to process.
- Route to Playlist or Video processing.
Already Processed?
Already Processed?
- Check if we already have embeddings in the vector store.
AI-Powered YouTube Playlist & Video Summarization and Analysis Chat Bot
AI-Powered YouTube Playlist & Video Summarization and Analysis Chat Bot
This N8N workflow transforms YouTube playlists or individual videos into interactive knowledge bases. Instead of watching videos, users can chat with the workflow to get summaries and answers based on the video transcripts.
How it Works:
-
Chat Interaction & Intent Detection:
- The workflow starts via a chat interface (
Chat Trigger), prompting the user for a YouTube playlist or video URL. - It retrieves any previous conversation context stored in Redis.
- A Google Gemini AI agent (
Message Intent) analyzes the user's input to determine if it contains a valid YouTube playlist URL, a video URL, or neither (NONE). It extracts the URL, the corresponding ID (Playlist ID or Video ID), and checks if the user specified a limit for the number of playlist videos to process. - The workflow maintains context (like the current URL, ID, and processing status) using Redis (
Update Context Intent,Get Previous Context Intent).
- The workflow starts via a chat interface (
-
Routing & Pre-processing Checks:
- Based on the detected intent and whether the content needs processing, a
Switchnode (Route Message Intent) directs the workflow. - If a valid URL is provided and hasn't been processed yet (
status != 'DONE'), it proceeds to the processing pipeline. - It checks if embeddings for the given ID already exist in the Qdrant vector store (
Qdrant Vector Store2,If). If they do, it skips processing and moves to the query handling stage. - If the input is a playlist URL but no video limit is specified (
limit=0), it prompts the user to provide one (Numb of Videosagent).
- Based on the detected intent and whether the content needs processing, a
-
Video/Playlist Processing Pipeline:
- Data Fetching:
- For Playlists: Fetches the playlist page (
Playlist HTTP Request), extracts video details using custom code (Get Playlist Videos Data), limits the videos if specified (Limit), and then fetches the transcript for each video (YouTube Transcript). - For Videos: Fetches the video page (
Video HTTP Request), extracts title/description (Get Title and Desc), and fetches the transcript (YouTube Transcript1).
- For Playlists: Fetches the playlist page (
- Transcript Processing & Summarization:
- Transcripts are retrieved using the
youtubeTranscripternode. - Transcripts are concatenated (
Concatenate,Concatenate1). - Data (like video ID, title, transcript text) is merged and structured (
Merge,Edit Fields). - Each video's transcript is summarized by a Google Gemini AI chain (
Summarize & Analyze Transcript).
- Transcripts are retrieved using the
- Embedding & Storage:
- Any existing data for the playlist/video ID is cleared from the Qdrant vector store (
Delete Collection). - The processed transcripts (potentially alongside summaries/metadata) are loaded (
Default Data Loader). - Text is split into manageable chunks (
Recursive Character Text Splitter). - Google Gemini generates vector embeddings for the text chunks (
Embeddings Google Gemini). - These embeddings are stored in a Qdrant collection, indexed by the playlist or video ID (
Qdrant Vector Store).
- Any existing data for the playlist/video ID is cleared from the Qdrant vector store (
- Status Update & Final Summary:
- The context status in Redis is updated to 'DONE' (
Update Context Process Done1). - All individual video summaries are combined (
Full Summary). - An AI agent (
AI Agent) may generate a final, comprehensive summary or response based on the processed data, using a tool to query the vector store (Answer questions with a vector store1).
- The context status in Redis is updated to 'DONE' (
- Data Fetching:
-
Query Handling (Chatting with Content):
- If the user's input is identified as a query rather than a new URL to process (or if processing for a URL is complete), the workflow activates the main query handler.
- A conversational AI agent (
Handle Queries), powered by Google Gemini and equipped with chat memory (Chat Buffer Memory), answers user questions. - This agent uses a specialized tool (
Answer questions with a vector store) that retrieves relevant information directly from the Qdrant vector store based on the user's query and the stored embeddings.
⚡AI-Powered YouTube Playlist & Video Summarization and Analysis v2
⚡AI-Powered YouTube Playlist & Video Summarization and Analysis v2
Purpose and structure
This folder contains the ⚡AI-Powered YouTube Playlist & Video Summarization and Analysis v2 workflow. Its executable nodes use agent, chainLlm, chatTrigger, code, documentDefaultDataLoader, embeddingsGoogleGemini, httpRequest, if, limit, lmChatGoogleGemini, memoryBufferWindow, merge, outputParserStructured, redis, set, splitOut, summarize, switch, textSplitterRecursiveCharacterTextSplitter, toolVectorStore, vectorStoreQdrant, youtubeTranscripter. The table and connection map below are derived from the JSON, not an inferred guarantee of behavior.
Setup
Import inactive. Configure your own credentials and replace REPLACE_WITH_* values. Review external destinations and Code nodes before running.
Entry points
Chat
Verification
Sanitized source candidate; not runtime-tested. This overview is generated from node metadata. Read the folder README for the connection map, credential types, and license.
Attribution
https://github.com/Zie619/n8n-workflows/blob/94007c1445d9258a7da116646b79473e7c7c3282/workflows/Limit/0971_Limit_Splitout_Automation_Webhook.json MIT; preserve source notices.
Canvas section labels
These name areas of the original canvas; they do not include explanatory instructions.
- Ask number of Playlist videos to process