Du hittar en grym YouTube-kanal, bokmärker tio videor och inser sedan att du aldrig kommer komma ihåg vilken som tog upp “prissättning”, “positionering” eller det där perfekta ramverket. Flikarna blir fler. Anteckningarna sprids. En vecka senare sitter du och tittar om på samma delar.
Det här drabbar marknadsförare som gör konkurrentanalys, men även content ops-team och sologrundare som bygger ett lärbibliotek känner igen det. Med YouTube Sheets-sammanfattningar förvandlar du en hel kanal till ett sökbart kalkylark som du kan skumma igenom på minuter, inte timmar.
Du får se hur arbetsflödet hämtar en kanals videor, plockar ut transkript (engelska som standard), sammanfattar dem med en AI-agent och loggar allt i Google Sheets med en korrekt formaterad struktur som du faktiskt kan söka i.
Så här fungerar automationen
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: YouTube till Google sheets, sökbara sammanfattningar
flowchart LR
subgraph sg0["Parameters Flow"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Get_Scraper_Status"]
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Start_YouTube_Scraper"]
n2@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check_Scraper_Status", pos: "b", h: 48 }
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Retrieve_Scraped_Data"]
n4@{ icon: "mdi:robot", form: "rounded", label: "Content_Analysis_Agent", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "Output_Parser_Auto_Fix", pos: "b", h: 48 }
n6@{ icon: "mdi:robot", form: "rounded", label: "Structured_Output_Parser", pos: "b", h: 48 }
n7["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Data_Processing_Script"]
n8@{ icon: "mdi:cog", form: "rounded", label: "Wait_15_Seconds", pos: "b", h: 48 }
n9@{ icon: "mdi:cog", form: "rounded", label: "Convert_To_File", pos: "b", h: 48 }
n10@{ icon: "mdi:cog", form: "rounded", label: "Upload_To_Google_Drive", pos: "b", h: 48 }
n11@{ icon: "mdi:cog", form: "rounded", label: "Extract_From_File", pos: "b", h: 48 }
n12@{ icon: "mdi:cog", form: "rounded", label: "Download_From_Google_Drive", pos: "b", h: 48 }
n13@{ icon: "mdi:swap-vertical", form: "rounded", label: "Process_Each_Video", pos: "b", h: 48 }
n14["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Select_Subtitle_Language"]
n15["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/form.svg' width='40' height='40' /></div><br/>Parameters"]
n16@{ icon: "mdi:message-outline", form: "rounded", label: "Send a message", pos: "b", h: 48 }
n17["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>start from?"]
n18@{ icon: "mdi:cog", form: "rounded", label: "Wait_2_Seconds", pos: "b", h: 48 }
n19@{ icon: "mdi:database", form: "rounded", label: "Write_Contentdata_To_Sheet1", pos: "b", h: 48 }
n20@{ icon: "mdi:brain", form: "rounded", label: "DeepSeek Chat Model", pos: "b", h: 48 }
n21@{ icon: "mdi:swap-vertical", form: "rounded", label: "Extract_Alldata", pos: "b", h: 48 }
n22@{ icon: "mdi:database", form: "rounded", label: "Create_Sheet", pos: "b", h: 48 }
n15 --> n22
n17 --> n13
n22 --> n1
n18 --> n13
n9 --> n10
n21 --> n19
n8 --> n0
n11 --> n17
n0 --> n2
n13 --> n16
n13 --> n14
n20 -.-> n4
n20 -.-> n5
n2 --> n3
n2 --> n8
n3 --> n9
n1 --> n8
n4 --> n7
n7 --> n21
n5 -.-> n4
n10 --> n12
n14 --> n4
n6 -.-> n5
n12 --> n11
n19 --> n18
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n15 trigger
class n4,n5,n6 ai
class n20 aiModel
class n2 decision
class n19,n22 database
class n0,n1,n3 api
class n7,n14,n17 code
class n17 disabled
classDef customIcon fill:none,stroke:none
class n0,n1,n3,n7,n14,n15,n17 customIcon
Problemet: YouTube-research förblir inte organiserad
Att titta på smarta YouTubers är ett legitimt sätt att lära sig, men det faller snabbt isär när du gör det för jobbet. Du ser en 22-minutersvideo för att hitta ett enda segment om onboarding, och sedan hittar du det inte igen. Eller så minns du att en creator sa något vasst om “distribution”, men det ligger begravt någonstans bland månader av uppladdningar. Än värre: olika personer i teamet ser olika videor och sammanfattar dem i helt olika stilar, vilket gör jämförelser i princip omöjliga. Tidskostnaden är uppenbar, men den mentala belastningen är den verkliga boven.
Det är inte ett stort misslyckande. Det är många små som staplas på varandra.
- Du slutar med att titta om på videor eftersom dina anteckningar inte är sökbara eller konsekventa.
- Viktig kontext försvinner när sammanfattningar bor i Slack-trådar, Notion-sidor och slumpmässiga dokument.
- Mönster på kanalnivå förblir osynliga eftersom du inte kan skanna hela katalogen på en gång.
- Manuell uppföljning bjuder in fel, som titlar som inte matchar, saknade URL:er och “vilken video var det?”-förvirring.
Lösningen: sammanfatta automatiskt en kanal till Google Sheets
Det här arbetsflödet gör en YouTube-kanal till en strukturerad researchdatabas. Du börjar med att skicka in några parametrar i ett enkelt formulär (kanal-URL, hur många videor som ska hämtas och ett namn för lagring). n8n startar sedan en Apify YouTube-scraper, väntar medan scrapen körs och hämtar slutdatasetet när det är klart. Därefter bearbetar arbetsflödet videor i batcher, försöker välja engelska undertexter när de finns och skickar varje videos transkript plus metadata till en AI-agent för sammanfattning. Slutligen läggs varje sammanfattad post till i en dedikerad flik i Google Sheets, och du får en Gmail-notis när körningen är klar. Det är byggt för konsekvens, så att skanna och jämföra över dussintals videor känns rakt på sak i stället för rörigt.
Arbetsflödet startar med en formulär-trigger som skapar en ny flik i ditt Google Sheet för den kanalen. Därefter scrapar det, sparar en rå backupfil i Google Drive och loopar sedan igenom videor i batcher för att skapa sammanfattningar. När det är klart är ditt ark ifyllt och din inkorg får “allt klart”-meddelandet.
Vad du får: automation vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du researchar en creator med cirka 120 videor. Manuellt blir även ett “snabbt” upplägg fult: kanske 5 minuter för att öppna, skumma och anteckna varje video, vilket blir runt 10 timmar i arbete, plus verkligheten att dina anteckningar varierar från dag till dag. Med den här automationen lägger du cirka 5 minuter på att fylla i formuläret och går därifrån. Scrapen och sammanfattningen kör i bakgrunden, och när det är klart har du ett komplett Google Sheet som du kan söka och filtrera direkt.
Det du behöver
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra sammanfattningar i en sökbar tabell
- Google Drive för råa scrape-backuper och omkörningar
- Apify API-token (hämta den från Apify Console)
- DeepSeek API-nyckel (eller annan LLM) (hämta den från din LLM-leverantörs dashboard)
- Gmail för att ta emot en notis när det är klart
Svårighetsnivå: Mellan. Du kopplar konton, klistrar in API-nycklar och testar först en körning med ett mindre antal videor.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så funkar det
Du skickar in kanaldetaljerna. En formulär-trigger samlar in YouTube-kanalens URL, hur många videor som ska crawlas, ett lagringsnamn och vart klart-mailet ska skickas. Lagringsnamnet används också för att skapa en dedikerad flik i Google Sheets, vilket håller varje kanals research separat.
Arbetsflödet scrapar och väntar. n8n startar Apify YouTube Scraper-aktorn och pollar sedan status via HTTP-requests med en kort väntan emellan. När scrapen är klar hämtar arbetsflödet datasetet och konverterar JSON till en fil för säker förvaring.
Transkript väljs och sammanfattas. Poster bearbetas i batcher, och ett steg för val av undertexter försöker välja engelska undertexter när de finns. Sedan sammanfattar en AI-agent (med en chattmodell som DeepSeek) varje video med transkriptet plus metadata, och en auto-fixande parser hjälper till att hålla outputen strukturerad.
Ditt kalkylark fylls på. Arbetsflödet mappar fält till ett konsekvent schema och lägger till varje rad i Google Sheets, med en kort paus mellan skrivningar så att arket håller sig stabilt. När sista batchen är klar får du en Gmail-notis om att körningen är färdig.
Du kan enkelt justera logiken för undertextspråk så att den stödjer mandarin (eller vilket språk som helst) utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera formulärtriggern
Det här arbetsflödet startar från ett formulär som användaren skickar in och som samlar in YouTube-kanalens URL, skrapgränser, lagringsnamn, Apify API-nyckel och e-post för notiser.
- Lägg till och öppna Input Parameters Form.
- Ställ in Form Title på
={{ $workflow.name }}. - Ställ in Form Description på
=Please complete all the parameters listed below.. - Bekräfta att formulärfälten innehåller Youtuber_MainPage_URL, Total_number_video, Storing_Name, Apify_API och Email.
Steg 2: anslut Google Sheets och Google Drive
Dessa noder skapar en flik i kalkylarket, sparar det skrapade datasetet som en fil, och laddar sedan ner och extraherar objekt för vidare bearbetning.
- Öppna Create Sheet Tab och ställ in Operation till
create. - Ställ in Title till
={{ $('Input Parameters Form').item.json.Storing_Name }}och välj ert Document ID (för närvarande[YOUR_ID]). - Inloggning krävs: anslut era googleSheetsOAuth2Api-uppgifter i Create Sheet Tab.
- Öppna Store File in Drive och ställ in Name till
={{ $('Input Parameters Form').item.json.Storing_Name }}. - Inloggning krävs: anslut era googleDriveOAuth2Api-uppgifter i Store File in Drive och Download Drive File.
- I Download Drive File, behåll Operation som
downloadoch File ID som={{ $('Store File in Drive').item.json.id }}. - Bekräfta att Extract Items from File är kopplad efter nedladdningen.
Steg 3: konfigurera YouTube-skrapern och polling-loopen
Den här delen startar Apify YouTube-scrapern, väntar, kontrollerar jobbstatus och hämtar datasetet när körningen är klar.
- Öppna Launch YouTube Scraper och ställ in URL till
=https://api.apify.com/v2/acts/streamers~youtube-scraper/runs?token={{ $('Input Parameters Form').item.json.Apify_API }}. - Behåll Method som
POSToch JSON Body som den angivna JSON:en med{{ $('Input Parameters Form').item.json.Total_number_video }}och{{ $('Input Parameters Form').item.json.Youtuber_MainPage_URL }}. - Säkerställ att Delay 15 Seconds har Amount inställt på
15och är kopplad till Fetch Scraper Status. - I Fetch Scraper Status, ställ in URL till
=https://api.apify.com/v2/acts/streamers~youtube-scraper/runs/last?token={{ $('Input Parameters Form').item.json.Apify_API }}. - I Verify Scraper Result, behåll villkoret
={{ $json.data.status }}är lika medSUCCEEDEDför att skicka färdiga körningar till Pull Scraped Dataset och ofärdiga körningar tillbaka till Delay 15 Seconds. - I Pull Scraped Dataset, ställ in URL till
=https://api.apify.com/v2/acts/streamers~youtube-scraper/runs/last/dataset/items?token={{ $('Input Parameters Form').item.json.Apify_API }}&format=json&status=SUCCEEDED. - Bekräfta att Convert JSON to File kommer efter dataset-hämtningen och matar vidare till Store File in Drive.
⚠️ Vanlig fallgrop: Resume From Index är inaktiverad i arbetsflödets JSON. Aktivera den endast om ni vill återuppta från ett specifikt index; annars ska den vara inaktiverad för att bearbeta alla objekt.
Steg 4: konfigurera AI-pipelinen för sammanfattning
Det här avsnittet väljer undertextspråk, sammanfattar innehållet, tolkar den strukturerade outputen och normaliserar datafälten.
- Granska Choose Subtitle Language för att säkerställa att den väljer ett engelskt undertextspår och outputtar
srtochsrtUrl. - Öppna Content Summary Agent och ställ in Text till
=id:{{ $('Batch Video Iterator').item.json.VideoID }} title:{{ $('Batch Video Iterator').item.json['\uFEFFTitle'] }} subtitle:{{ $('Choose Subtitle Language').item.json.srt }} description:{{ $('Batch Video Iterator').item.json.Description }}. - Behåll Has Output Parser aktiverad, och bekräfta att Structured Response Parser och Auto Repair Parser är anslutna.
- Inloggning krävs: anslut era deepSeekApi-uppgifter i DeepSeek Chat Engine. Den här språkmodellen driver Content Summary Agent, Structured Response Parser och Auto Repair Parser.
- I Structured Response Parser, behåll JSON-schemat-exemplet som angivet för att tvinga fram outputformatet.
- Verifiera att Normalize Summary Data transformerar outputen till
VideoID,FieldochSummary.
Tips: om AI-outputen inte klarar schemavalideringen kommer Auto Repair Parser att försöka igen. Säkerställ att systemprompten i Content Summary Agent förblir oförändrad för en tillförlitlig struktur.
Steg 5: mappa fält och skriv till Google Sheets
När varje video har sammanfattats mappas datan till en strukturerad rad och läggs till i ert kalkylark.
- Öppna Map All Fields och verifiera att tilldelningarna använder uttryck som
={{ $('Batch Video Iterator').item.json.id }}och={{ $('Normalize Summary Data').item.json.Summary }}. - I Append Data to Sheet, ställ in Operation till
appendOrUpdateoch bekräfta att Sheet Name är={{ $('Input Parameters Form').item.json.Storing_Name }}. - Bekräfta att kolumnschemat innehåller VideoID, Title, Duration, Date, URL, Likes, Description, Field och Summary.
- Inloggning krävs: anslut era googleSheetsOAuth2Api-uppgifter i Append Data to Sheet.
- Behåll Pause 2 Seconds inställd på
2för att undvika rate limits innan nästa batch-iteration.
Steg 6: konfigurera batchning och notiser
Videor bearbetas i batchar, sammanfattas och ett e-postmeddelande om slutförande skickas när batchningen är klar.
- Bekräfta att Batch Video Iterator tar emot objekt från Resume From Index och loopar tillbaka från Pause 2 Seconds.
- Batch Video Iterator skickar output parallellt till både Choose Subtitle Language och Send Completion Email.
- I Send Completion Email, ställ in Send To till
={{ $('Input Parameters Form').item.json.Email }}. - Ställ in Subject till
=🎉 {{ $workflow.name }} Done~och Message till= {{ $workflow.name }} finished at 🕓{{ new Date().toLocaleString("en-CA", { hour12: false }).replace(',', '') }}. - Inloggning krävs: anslut era gmailOAuth2-uppgifter i Send Completion Email.
Steg 7: testa och aktivera ert arbetsflöde
Kör ett kontrollerat test för att verifiera att skrapern, sammanfattaren och lagringsdelarna beter sig som förväntat.
- Klicka på Execute Workflow och skicka in Input Parameters Form med en känd YouTube-kanal och ett litet värde för Total_number_video.
- Bekräfta att Launch YouTube Scraper startar, att Fetch Scraper Status sedan når status
SUCCEEDEDoch att Pull Scraped Dataset returnerar objekt. - Verifiera att Append Data to Sheet lägger till rader i ert målark i Google Sheets och att Send Completion Email skickar notisen.
- När allt är verifierat, växla arbetsflödet till Active för att tillåta produktionskörningar.
Vanliga fallgropar
- Google Sheets-autentisering kan löpa ut eller sakna OAuth-scopes. Om det skapar fel, börja med att kontrollera n8n:s credential-vy och behörigheterna för det anslutna Google-kontot.
- Om du använder Wait-noder eller extern scraping varierar processtiderna. Öka väntetiden om noder längre ned misslyckas på tomma svar medan Apify-körningen fortfarande blir klar.
- Standardprompter i AI-noder är generiska. Lägg in ditt sammanfattningsformat och din tonalitet tidigt, annars kommer du redigera output i all evighet.
Vanliga frågor
Cirka 30 minuter om du redan har dina API-nycklar.
Nej. Du kommer främst koppla konton, klistra in nycklar och justera några fält i formuläret.
Ja. n8n har ett gratis self-hosted-alternativ 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 med Apify-användning och dina LLM-kostnader (DeepSeek eller annan modell), som beror på hur många videor du bearbetar.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade exekveringar men kräver grundläggande serverhantering.
Ja, men planera att testa på en liten batch först. Du kan justera logiken i “Choose Subtitle Language” för att prioritera mandarin, spanska eller det du behöver, och sedan hålla AI-agentens prompt konsekvent så att dina rader fortfarande går att jämföra snyggt. Vanliga anpassningar är att ändra sammanfattningsformat (punkter vs. stycke), lägga till nyckelord/taggar som extra kolumner och skicka ett Slack-meddelande med körstatistik när det är klart.
Oftast beror det på en utgången Google OAuth-anslutning eller att fel Google-konto är anslutet. Anslut Google Sheets-credentialn på nytt i n8n och bekräfta sedan att rätt kalkylark är valt i noderna “Create Sheet Tab” och “Append Data to Sheet”. Om det fortfarande misslyckas, kontrollera delningsbehörigheter på arket och bekräfta att arbetsflödet inte skriver för snabbt, eftersom Google kan rate-limita burstar.
Många, så länge du dimensionerar scraping och körtid realistiskt. På n8n Cloud är din begränsning främst månatliga exekveringar, och stora kanal-körningar kan snabbt äta upp dem eftersom arbetsflödet loopar över många items. Om du kör self-hosted finns ingen exekveringsgräns, men serverresurserna och de externa API:erna blir flaskhalsen. I praktiken börjar många team med cirka 50 videor för att validera arkformatet och skalar sedan upp till en full kanalkörning när de är nöjda med sammanfattningarna.
Ofta, ja, eftersom det här inte är en enkel tvåstegszap. n8n hanterar loopar, batchning, väntan på externa jobb (Apify) och strukturerad AI-output utan att göra din automation till en skör kedja av premiumsteg. Self-hosting-alternativet är också en stor grej om du vill bearbeta stora kanaler utan att oroa dig för pris per task. Zapier eller Make kan fortfarande vara bra för lätta “ny video → skicka notis”-case. Om du vill ha en second opinion innan du investerar tid, prata med en automationsexpert.
När det här väl rullar slutar YouTube vara en hög med “titta senare”-flikar och blir en sökbar researchresurs. Sätt upp det en gång, och låt sedan arbetsflödet göra katalogjobbet åt dig.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.