Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

YouTube + Google Sheets: sökbara spellisteinsikter

Rickard Andersson Partner, Nodenordic.se

Du öppnar en ”måste-se”-spellista, lovar dig själv att du ska anteckna och sen … blir det bara bakgrundsljud. Senare behöver du ett citat eller en specifik poäng, och då sitter du fast och får skrolla igenom timmar av video igen.

Det här är exakt den typ av röra som marknadsförare hamnar i när de gör konkurrentanalys. Byråägare råkar ut för det när de snabbt behöver bygga kundinsikter. Och helt ärligt: operatörer och founders stöter på det så fort lärandetiden konkurrerar med riktigt arbete. Den här automatiseringen för YouTube playlist insights gör spellistor till något du faktiskt kan söka i och ställa frågor om.

Du får lära dig vad workflowet gör, vad du behöver för att köra det och hur det förvandlar transkript till sökbara insikter som hamnar i Google Sheets.

Så fungerar automatiseringen

Här är hela workflowet du kommer att sätta upp:

n8n Workflow Template: YouTube + Google Sheets: sökbara spellisteinsikter

Varför det här spelar roll: YouTube-research som inte fastnar

Spellistor är toppen tills du faktiskt ska använda det du ”lärde dig”. Du ser tre videos, sen fem till. En vecka senare minns du att det fanns ett starkt ramverk någonstans, ett vassare citat och några taktiker som var värda att testa. Men var? Nu tittar du om, gissar tidsstämplar och försöker hålla anteckningar konsekventa mellan dokument, Slack-meddelanden och slumpmässiga webbläsarflikar. Tidskostnaden är uppenbar. Det större problemet är den mentala belastningen: du slutar lita på din egen researchprocess, så du undviker den eller stressar igenom den, och resultatet blir ytligt.

Det går fort att bygga upp. Här är var det faller isär i riktiga team.

  • Folk antecknar på olika ställen, så en gemensam ”sanning” saknas alltid.
  • Du tappar exakta formuleringar eftersom ingen fångar direkta citat med kontext.
  • Att titta om för att bekräfta detaljer bränner en eftermiddag när du bara behövde ett svar.
  • Även när ni fångar insikter är de inte sökbara eller återanvändbara i framtida projekt.

Det du bygger: en spellista du kan chatta med (och logga till Sheets)

Det här workflowet förvandlar en YouTube-spellista (eller en enskild video) till en interaktiv kunskapsbas. Du börjar med att skicka in en spellista-/video-URL i workflowets chatt-ingång. Det hämtar videodetaljer, plockar transkript och använder sedan en AI-modell för att förstå vad som sägs, inte bara kopiera det. Därefter delar det upp transkripttexten i sökbara delar, lagrar dem i en vektordatabas (Qdrant) och sparar kontext i Redis så att du kan ställa följdfrågor utan att upprepa dig. Till sist genererar det korrekta, strukturerade sammanfattningar och takeaways och skriver resultaten till Google Sheets (och valfritt till Excel/Drive, beroende på hur du konfigurerar utdata).

Workflowet startar när du klistrar in en YouTube-länk via chatt-triggern. Därifrån samlas transkript in och sammanfattas, och indexeras sedan för sökning. Efter det kan du ställa frågor som ”Vilka är huvudtemana i video 1–5?” och skicka de viktigaste takeaways till Sheets så att de blir enkla att återanvända.

Det du bygger

Förväntade resultat

Säg att du granskar en spellista med 10 videos för marknadsresearch. Manuellt kanske du tittar 20 minuter per video plus ytterligare 10 minuter för att anteckna, vilket blir cirka 5 timmar innan du ens har något du kan dela. Med det här workflowet klistrar du in spellistlänken, begränsar till de första 10 videorna och låter det hämta transkript och generera sammanfattningar. Du lägger kanske 10 minuter på att ställa riktade frågor och exportera de bästa takeaways till Google Sheets, sen är du klar.

Innan du börjar

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • YouTube transcript community node för att hämta videotranskript
  • Google Sheets för att lagra sökbara takeaways
  • Google Gemini API-inloggning (hämta dem från Google AI Studio / Google Cloud)
  • Qdrant-inloggning (hämta dem från din Qdrant Cloud-dashboard eller egenhostad Qdrant)
  • Redis-anslutningsuppgifter (hämta dem från din Redis-host/leverantör)

Svårighetsgrad: Medel. Du kopplar ihop några tjänster och installerar en community-node om du kör egen hosting.

Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

Ett chattmeddelande drar igång allt. Du klistrar in en YouTube-spellistlänk (eller en enskild video-URL) i workflowets chatt-trigger, och det listar ut vad du försöker göra.

Workflowet hämtar videodetaljer och transkript. Det laddar spellista-/videosidan, bygger en videolista, tillämpar en gräns för ”hur många videor?”, och hämtar sedan transkripttext för varje objekt via community-noden för YouTube-transkribering.

AI gör råa transkript till användbar kunskap. Gemini läser transkriptblocken, skapar sammanfattningar och förbereder innehållet för sökning genom att generera embeddings och lagra dem i Qdrant. Redis behåller kontexten i konversationen så att följdfrågor fortfarande blir logiska.

Dina svar och takeaways hamnar i Sheets. Du kan fråga ut spellistan som en mini-researchassistent och sedan logga de bästa teman, sammanfattningar och citat i Google Sheets (och vid behov även routa till Drive/Excel om du vill ha ett parallellt arkiv).

Du kan enkelt ändra videogränsen och sammanfattningsformatet efter dina behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: Konfigurera triggern för inkommande chatt

Konfigurera chattens startpunkt så att användare kan skicka in en YouTube‑spellista eller video-URL och starta assistenten.

  1. Lägg till Incoming Chat Trigger och behåll Public aktiverat.
  2. Ställ in Initial Messages till Hi there! 👋 Please provide a URL of a Youtube playlist you would like me to analise..
  3. Bekräfta att Incoming Chat Trigger skickar vidare till Retrieve Prior Context som första steg i körningen.

Steg 2: Anslut kontextlagring och intent-routning

Behåll användarens intent mellan sessioner och routa arbetsflödet beroende på om meddelandet innehåller en spellista eller en video-URL.

  1. I Retrieve Prior Context ställer ni in Key till =context_intent_{{ $('Incoming Chat Trigger').item.json.sessionId }}.
  2. Autentiseringsuppgifter krävs: Anslut era redis-uppgifter i Retrieve Prior Context, Store Context Intent, Mark Context Done och Finalize Context Done.
  3. Bekräfta att Detect Message Intent använder Parse Intent Output som output parser (parsern är ansluten via AI Output Parser-kopplingen).
  4. I Set Default Intent behåller ni fallback-logiken för kontext som den är, för att återanvända värden från Retrieve Prior Context när ingen ny intent upptäcks.
  5. Verifiera att Route By Intent har två utgångar: PROCESS (spellista/video inte klar) och QUERY (ingen intent eller klar).

Autentiseringsuppgifter krävs: Anslut era googlePalmApi-uppgifter för Gemini Chat Lite, som är språkmodellen för Detect Message Intent.

Obs: Parse Intent Output är en AI-undernod; autentiseringsuppgifter appliceras på Gemini Chat Lite, inte på parsern.

Steg 3: Hantera spellistgränser och förgreningslogik

Be om en gräns för antal objekt i spellistan om den saknas och förgrena mellan bearbetning av spellista och enstaka video.

  1. I Check Playlist Limit behåller ni villkoren för Intent = PLAYLIST och Limit0.
  2. Säkerställ att TRUE-grenen leder till Request Video Count och FALSE-grenen till Branch Playlist Or Video.
  3. I Request Video Count behåller ni Text inställt på ={{ $('Incoming Chat Trigger').item.json.chatInput }}.
  4. Bekräfta att Branch Playlist Or Video routar till Fetch Video Page för VIDEO och Fetch Playlist Page för PLAYLIST.

Autentiseringsuppgifter krävs: Anslut era googlePalmApi-uppgifter för Gemini Chat Reasoner, som är språkmodellen för Request Video Count.

⚠️ Vanlig fallgrop: Om spellistgränser inte fångas upp kommer Check Playlist Limit att fortsätta routa till Request Video Count och aldrig gå vidare till bearbetning.

Steg 4: Hämta innehåll och transkriptioner för spellista eller video

Hämta sidor för spellista/video, parsa metadata och hämta transkriptioner. Notera att vissa steg körs parallellt.

  1. I Fetch Playlist Page ställer ni in URL till ={{ $('Store Context Intent').item.json.output.url }}.
  2. I Parse Playlist Videos behåller ni den JavaScript-kod som extraherar spellistmetadata och videor från HTML:en.
  3. Från Split Video List ställer ni in Field To Split Out till videos och begränsar sedan med Apply Video Limit med ={{ $('Store Context Intent').item.json.output.limit }}.
  4. Apply Video Limit skickar utdata till både Fetch Playlist Transcript och Split Video Titles parallellt.
  5. För bearbetning av en enstaka video skickar Fetch Video Page utdata till både Fetch Video Transcript och Extract Title Details parallellt.

Tips: Om YouTube returnerar bot- eller samtyckessidor kan Parse Playlist Videos eller Extract Title Details ge fel. Arbetsflödet är utformat för att försöka igen och fortsätta, men ni kan behöva använda en proxy eller minska förfrågningsfrekvensen.

Steg 5: Normalisera transkriptdata och slå ihop videometadata

Dela upp transkriptobjekt, sammanfoga text och slå ihop med titlar för summering.

  1. I Extract Transcript Items och Extract Transcript Items B behåller ni Field To Split Out som transcript och inkluderar youtubeId.
  2. I Combine Transcript Text och Combine Transcript Text B ställer ni in Fields To Split By till youtubeId.
  3. I Split Video Titles behåller ni Field To Split Out som id,title.
  4. I Merge Video Data behåller ni SQL-Query exakt som den är definierad för att kombinera transkriptioner och titlar.

⚠️ Vanlig fallgrop: Om transkriptioner saknas kan Merge Video Data producera tomma transcript_text-värden. Säkerställ att Fetch Playlist Transcript och Fetch Video Transcript returnerar transcript-arrayer.

Steg 6: Sammanfatta varje video och mappa fält

Skapa kortfattade sammanfattningar per video och mappa konsekventa fält för lagring.

  1. I Summarize Transcript Insights behåller ni hela prompten och säkerställer att den refererar till {{ $json.video_number }}, {{ $json.title }}, {{ $json.youtubeId }} och {{ $json.transcript_text }}.
  2. Bekräfta att Gemini Chat Flash A är ansluten som språkmodell för Summarize Transcript Insights.
  3. I Map Video Fields ställer ni in varje tilldelning med de angivna uttrycken, inklusive ={{ $('Store Context Intent').first().json.output.id }} för playlistId.

Autentiseringsuppgifter krävs: Anslut era googlePalmApi-uppgifter för Gemini Chat Flash A.

Steg 7: Förbered data för vektorlagring och infoga i Qdrant

Chunk:a sammanfattningar, skapa embeddings och lagra dokumenten i Qdrant för senare QA-hämtning.

  1. I Recursive Text Chunker behåller ni Chunk Size1200 och Chunk Overlap200.
  2. I Load Document Data behåller ni metadata-mappningar för video_number, youtubeId, summary, title och playlistId.
  3. I Qdrant Store Insert ställer ni in Mode till insert och Collection till ={{ $('Store Context Intent').first().json.output.id }}.
  4. Autentiseringsuppgifter krävs: Anslut era qdrantApi-uppgifter i Qdrant Store Insert.
  5. Autentiseringsuppgifter krävs: Anslut era googlePalmApi-uppgifter i Gemini Embeddings A (embeddings för insert).

Obs: Gemini Embeddings A och Recursive Text Chunker är AI-undernoder som är anslutna till Qdrant Store Insert via AI-kopplingarna. Autentiseringsuppgifter appliceras på noden för embedding-modellen, inte på splittern.

Steg 8: Fråga befintlig vektordata och slutför kontext

Kontrollera om dokument redan finns och markera kontexten som klar för att undvika ombearbetning.

  1. I Qdrant Store Lookup ställer ni in Mode till load och Prompt till Are there any documents in the store?.
  2. Behåll Count Stored Docs som summerar fältet document och skickar vidare till Check Existing Data.
  3. Om dokument finns routar Check Existing Data till Finalize Context Done för att uppdatera Redis-status till DONE.

Autentiseringsuppgifter krävs: Anslut era qdrantApi-uppgifter i Qdrant Store Lookup och googlePalmApi-uppgifter i Gemini Embeddings D (embedding-modell för lookup).

Steg 9: Konfigurera verktyg för hämtning och slutliga svar

Koppla in QA-verktygen för vektorlagret i agenterna som svarar användare med sammanfattningar.

  1. I Vector Store QA Tool behåller ni Name som chat_playlist_data och TopK som 10 med det angivna beskrivningsuttrycket.
  2. I Vector Store QA Tool B behåller ni Name som chat_playlist_data och TopK som 6.
  3. Bekräfta att Qdrant Store Query och Qdrant Store Query B är anslutna till QA-verktygen som vektorlager.
  4. Verifiera att Process User Queries använder verktyget och att Generate Final Summary använder Aggregate Summaries i sin prompt.

Autentiseringsuppgifter krävs: Anslut era qdrantApi-uppgifter i Qdrant Store Query och Qdrant Store Query B.

Autentiseringsuppgifter krävs: Anslut era googlePalmApi-uppgifter i Gemini Chat Core A, Gemini Chat Flash B, Gemini Chat Flash C och Gemini Chat Flash D. Dessa är språkmodellerna för Process User Queries, Generate Final Summary, Vector Store QA Tool B och Vector Store QA Tool.

Obs: Vector Store QA Tool och Vector Store QA Tool B är AI-verktyg. Autentiseringsuppgifter läggs till på deras anslutna språkmodellnoder, inte på själva verktygsnoderna.

Steg 10: Konfigurera aggregering av utdata och slutlig sammanfattning

Aggregera sammanfattningar per video och generera ett slutligt svar till användaren.

  1. I Collect Summary Fields behåller ni koden return $('Map Video Fields').all(); för att konsolidera sammanfattningsobjekt.
  2. I Aggregate Summaries behåller ni sammanfogning av sammanfattningar med Field summary och Separate By inställt på en radbrytning.
  3. I Generate Final Summary behåller ni prompten och säkerställer att den refererar till {{ $('Incoming Chat Trigger').item.json.chatInput }} och {{ $('Aggregate Summaries').item.json.concatenated_summary }}.

Autentiseringsuppgifter krävs: Anslut era googlePalmApi-uppgifter för Gemini Chat Flash B, språkmodellen för Generate Final Summary.

Steg 11: Testa och aktivera ert arbetsflöde

Kör ett manuellt test för att bekräfta intent-detektering, transkriptbearbetning och generering av sammanfattning innan ni går live.

  1. Klicka på Execute Workflow och skicka ett testmeddelande via Incoming Chat Trigger med en giltig spellista- eller video-URL.
  2. Verifiera att Detect Message Intent ger ett strukturerat JSON-svar och att Route By Intent styr körningen korrekt.
  3. Kontrollera att transkriptflödet körs genom Extract Transcript ItemsCombine Transcript TextMerge Video DataSummarize Transcript Insights.
  4. Bekräfta att vektorlagervägen skriver dokument i Qdrant Store Insert och markerar status i Mark Context Done eller Finalize Context Done.
  5. Aktivera arbetsflödet för att ta emot livechatt-sessioner när lyckade sammanfattningar visas i utdata från Process User Queries eller Generate Final Summary.

Tips: Om ert svar saknar sammanfattningar, verifiera Qdrant-uppgifterna och att nyckeln i Store Context Intent innehåller ett giltigt spelliste- eller video-ID.

🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • Google Sheets-inloggning kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera sidan Credentials i n8n och bekräfta att det anslutna Google-kontot kan redigera mål-arket.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram faller på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera utdata i all evighet.

Snabba svar

Hur lång tid tar det att sätta upp den här automatiseringen för YouTube playlist insights?

Cirka 45 minuter när du har dina API-nycklar redo.

Krävs det kodning för den här YouTube playlist insights-uppgiften?

Nej. Du kommer främst att koppla konton och klistra in inloggningsuppgifter i n8n.

Är n8n gratis att använda för det här YouTube playlist insights-workflowet?

Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in Gemini-användning (oftast småpengar per körning) samt eventuella kostnader för hosting av Qdrant/Redis.

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger obegränsat antal körningar men kräver grundläggande serverhantering.

Kan jag modifiera det här YouTube playlist insights-workflowet för andra användningsfall?

Ja, och det rekommenderas. Du kan byta ut skrivsteget till ”Google Sheets” och lagra utdata någon annanstans, eller ändra prompterna i ”Summarize Transcript Insights” och ”Generate Final Summary” för att få andra format, som en konkurrentbrief, en swipe file eller ett utbildningsdokument. Du kan också justera beteendet i ”Apply Video Limit” så att långa spellistor inte drar iväg i kostnad. Om du vill använda en annan LLM kan Gemini-chattnoderna ersättas med en annan chatmodell-node, så länge du behåller samma in- och utdata.

Varför misslyckas min YouTube-anslutning i det här workflowet?

Oftast är det steget som hämtar transkript som faller, inte YouTube i sig. Workflowet bygger på community-noden youtubeTranscripter, som kräver en egenhostad n8n och en korrekt installation; om den saknas kommer transkriptnoderna att ge fel direkt. Kontrollera också den specifika videon: vissa videos har transkript avstängda eller saknar auto-undertexter, vilket betyder att det inte finns något att hämta. Slutligen, om du bearbetar en stor spellista kan du slå i rate limits eller timeouts, så att sänka videogränsen stabiliserar ofta körningen.

Vilken volym kan det här YouTube playlist insights-workflowet hantera?

På n8n Cloud Starter kan du vanligtvis hantera några tusen körningar per månad, vilket räcker långt om en spellisteanalys motsvarar en körning. Om du kör egen hosting finns ingen körningsgräns (det beror på din server). I praktiken är begränsningen transkriptens längd och hur många videos du tillåter per körning; de flesta team börjar med 5–20 videos per spellista och ökar därifrån när allt är stabilt.

Är den här automatiseringen för YouTube playlist insights bättre än att använda Zapier eller Make?

Ofta, ja. Det här workflowet bygger på flerstegslogik, förgreningar, minne och vektorsökning, och det blir snabbt krångligt (eller dyrt) i enklare automationsverktyg när du går bortom ett par actions. n8n ger dig också möjligheten att köra egen hosting, vilket är viktigt här eftersom community-noder krävs för att hämta transkript. Zapier eller Make kan fortfarande fungera om du bara vill ha en grundläggande ”sammanfatta den här videon och skicka någonstans”, men du tappar kunskapsbas-känslan. Prata med en automationsexpert om du vill ha hjälp att välja den enklaste stacken för just ditt användningsfall.

När det här väl rullar slutar spellistor att vara ”någon dag”-lärande och blir sökbara tillgångar som teamet faktiskt kan använda. Sätt upp det en gång, och låt workflowet stå för minnet.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal