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

YouTube + Airtable: veckorapport via e-post, klar

Rickard Andersson Partner, Nodenordic.se

Veckorapportering låter enkelt tills du jonglerar tre dashboards, förra veckans siffror och ett kalkylark som är ”nästan” uppdaterat. Då fastnar du i flik-hoppande, copy-paste och att du tvivlar på om du verkligen tog rätt vecka.

YouTube Airtable-rapportering slår hårt mot marknadsansvariga eftersom du förväntas ”veta vad som fungerade” innan nästa kampanj går ut. Byråägare känner det när kundrapportering blir ett söndagskvällsjobb. Och community managers som följer Skool-engagemang får extra huvudvärk av att behöva hämta statistik som inte finns samlad på ett och samma, strukturerat ställe.

Det här n8n-flödet löser det genom att samla YouTube-, TikTok- och Skool-statistik varje vecka, räkna ut week-over-week-tillväxt och mejla en felfritt formaterad AI-skriven rapport. Du får se vad det gör, vad du behöver och hur du anpassar det till din setup.

Så fungerar den här automatiseringen

Se hur den löser problemet:

n8n Workflow Template: YouTube + Airtable: veckorapport via e-post, klar

Utmaningen: veckovis analysrapportering över flera plattformar

Varje vecka vill du samma sak: en enkel ögonblicksbild av tillväxt, vilket innehåll som presterade och vad ni ska göra härnäst. Men verkligheten är rörig. YouTube har en uppsättning mätetal, TikTok-statistiken finns någon annanstans och Skool-engagemang är sin egen värld. När du väl har hämtat följarsiffror, listat förra veckans uppladdningar och försökt skriva ”insikter” har du bränt en timme (eller mer) och litar ändå inte på siffrorna. Än värre: du tappar tråden vecka för vecka, så ”strategin” blir att reagera i stället för att lära.

Det blir snabbt mycket. Här är var det faller isär i praktiken.

  • Du slutar med att kopiera mätetal från tre dashboards in i Airtable eller Sheets, och ett litet inklistringsfel förstör week-over-week-jämförelsen.
  • Kontexten för videoprestanda försvinner eftersom du har siffror, men inte transkriptionerna eller innehållsmönstren som förklarar varför något fungerade.
  • Veckoetiketter glider (”förra veckan” blir otydligt), så historisk uppföljning blir en gissningslek när du behöver visa trender.
  • Rapporteringen stjäl exakt den tid du borde lägga på att planera nästa veckas innehåll eller kundleveranser.

Lösningen: en veckovis AI-skriven rapport byggd på riktiga siffror

Det här flödet körs på ett schema (veckovis, som standard på söndagar) och fungerar som en lättviktig analytiker som aldrig glömmer att logga siffrorna. Det hämtar dina aktuella följar-/prenumerantantal från YouTube, TikTok och Skool, och hämtar sedan detaljer för videorna du publicerat de senaste sju dagarna. Det hämtar även transkriptioner för dessa videor, vilket gör att rapporten kan prata om vad du sa och hur du byggde hooks, inte bara att ”visningar gick upp”. Därefter slår det upp förra veckans sparade KPI-post i Airtable, räknar ut week-over-week-tillväxt och paketerar allt i en felfritt formaterad HTML-rapport. Till sist mejlar det rapporten via Gmail och sparar den nya baslinjen tillbaka i Airtable så att nästa veckas jämförelser blir automatiska.

Flödet startar med schemalagda triggers som samlar plattformsdata via YouTube Data API och HTTP-scraping (Apify actors för TikTok och Skool). Dessa strömmar slås ihop, tillväxt beräknas mot tidigare Airtable-poster och en LLM (via OpenRouter eller OpenAI) skriver narrativet. Gmail levererar den färdiga rapporten och Airtable behåller historiken.

Vad som förändras: före vs. efter

Praktisk effekt i verkligheten

Säg att du publicerar 3 YouTube-videor per vecka och att du följer tre plattformar (YouTube, TikTok, Skool). Manuellt tar det kanske 10 minuter per plattform att hämta följarsiffror och anteckningar, plus cirka 15 minuter per video för att hämta statistik och kontext, vilket landar runt 2 timmar i veckan när du dessutom formaterar och skriver mejlet. Med det här flödet lägger du cirka 15 minuter på första uppsättningen och en snabb genomläsning av rapporten varje vecka. Scraping, jämförelser och mejlleverans kör medan du gör något annat.

Krav

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Airtable för att lagra veckovis KPI-historik.
  • Gmail för att skicka mejlet med HTML-rapporten.
  • Apify-konto (skaffas via Apify) för TikTok- och Skool-scraping.
  • Google Cloud-projekt för att aktivera YouTube Data API.
  • OpenRouter- eller OpenAI API-nyckel (hämtas i din OpenRouter/OpenAI-dashboard) för AI-analysen.

Kunskapsnivå: Medel. Du kopplar konton, klistrar in några ID:n/URL:er och testar en veckokörning.

Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).

Flödet i arbetsflödet

Ett veckoschema sätter igång det. På söndagar (eller den dag du väljer) startar n8n två koordinerade hämtningar: ”aktuella plattformsantal” och ”innehållsprestanda senaste 7 dagarna”.

Mätetal samlas in och normaliseras. YouTube-data kommer från YouTube Data API. TikTok- och Skool-siffror kommer in via HTTP-anrop (oftast Apify actors), och därefter tolkar och formaterar flödet värdena så att allt matchar en konsekvent struktur i Airtable.

Förra veckan blir baslinjen. Airtable genomsöks efter föregående veckas KPI-post, och sedan beräknar kodnoder week-over-week-tillväxt (nya följare, förändring i prenumeranter och summeringar som total engagemang över senaste videor).

AI skriver rapporten som folk faktiskt läser. Videotranskriptioner och prestandadata matas in i en LLM-nod (OpenRouter/OpenAI). Flödet genererar en formaterad HTML-rapport med insikter, trender och ett tydligare ”vad gör vi härnäst”-perspektiv.

Mejlet skickas, data arkiveras. Gmail skickar HTML-rapporten till din inkorg, och Airtable sparar den nya KPI-raden så att nästa veckas jämförelser fungerar automatiskt.

Du kan enkelt ändra schemadag och plattformslista utifrån dina behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: konfigurera den schemalagda triggern

Det här arbetsflödet använder två schematriggers: en för frekventa plattformsräkningar och en annan för veckovis innehållsrapportering.

  1. Öppna Scheduled Run Trigger och ställ in schemat så att det körs varje minut med standardregeln för intervall (noden har redan Interval inställt på minuter).
  2. Öppna Weekly Schedule Trigger och ställ in Cron Expression till 0 21 * * 0 för att köra veckovis kl. 21:00 på söndagar.
  3. Bekräfta parallell körning: Scheduled Run Trigger skickar utdata till Fetch Skool Members, Retrieve Channel Stats och Fetch TikTok Followers parallellt.
  4. Bekräfta den veckovisa parallella körningen: Weekly Schedule Trigger skickar utdata till Retrieve Last Week Videos, Fetch Skool Members 2, Retrieve TikTok Data, Retrieve Channel Stats 2 och Generate Week Label parallellt.

Tips: håll båda triggrarna aktiverade så att dagliga plattformsräkningar och veckovis innehållsanalys fortsätter vara synkade.

Steg 2: anslut centrala datakällor (Skool, YouTube, TikTok)

Konfigurera HTTP- och YouTube-hämtningarna som driver flödet för plattformsräkningar.

  1. I Fetch Skool Members ställer ni in URL till =YOUR_SKOOL_URL_HERE och låter Send Headers vara aktiverat för att efterlikna en webbläsarförfrågan.
  2. I Render Markdown ställer ni in HTML till ={{ $json.data }} så att HTML-svaret konverteras till markdown för extrahering.
  3. I Retrieve Channel Stats ställer ni in Channel ID till [YOUR_ID] och låter Operation vara get. Inloggning krävs: anslut era youTubeOAuth2Api-uppgifter.
  4. I Fetch TikTok Followers ställer ni in URL till =https://www.tiktok.com/@[YOUR_ID]?lang=en och låter headers vara aktiverade för att undvika blockerade förfrågningar.
  5. I Parse TikTok Followers låter ni JS-koden vara oförändrad för att extrahera antal följare från HTML-payloaden.

⚠️ Vanlig fallgrop: flera HTTP Request-noder använder platshållartokens som [CONFIGURE_YOUR_TOKEN] och API-nycklar som [CONFIGURE_YOUR_API_KEY]. Uppdatera dessa innan ni kör, annars misslyckas förfrågningarna.

Steg 3: aggregera och mappa plattformsräkningar

Det här steget slår ihop räkningar från Skool, YouTube och TikTok till en enda dataset för uppdateringar i Airtable.

  1. I Extract Skool Count behåller ni uttrycket för medlems-extrahering ={{$json.data.match(/(\d+)\s*members/i)?.[1] || $json.data.match(/\[(\d+)Members\]/i)?.[1]}}.
  2. I Format YouTube Subs ställer ni in YT subs till ={{ $json.statistics.subscriberCount }}.
  3. I Combine Streams säkerställer ni att Number of Inputs är 3 så att den tar emot flöden från Skool, YouTube och TikTok.
  4. I Aggregate Counts låter ni Aggregate vara aggregateAllItemData för att paketera alla räkneobjekt.
  5. I Map Platform Counts mappar ni fält med uttryck: Skool members={{ $json.data[0]["skool mems"] }}, Sub count YT={{ $json.data[1]["YT subs"] }}, TT followers={{ $json.data[2].followerCount }}.

Steg 4: konfigurera veckovis insamling och berikning av innehåll

Den veckovisa grenen samlar in innehåll från YouTube och TikTok, transkriptdata och veckovisa Skool-medlemsantal.

  1. I Retrieve Last Week Videos ställer ni in Published After till ={{ new Date(Date.now() - 7*24*60*60*1000).toISOString() }} för att hämta de senaste 7 dagarnas YouTube-innehåll. Inloggning krävs: anslut era youTubeOAuth2Api-uppgifter.
  2. I Fetch Video Details ställer ni in query-parametrar: key till [CONFIGURE_YOUR_API_KEY], id till ={{ $json.id.videoId }} och part till contentDetails, snippet, statistics.
  3. I Fetch Transcripts låter ni JSON Body vara som konfigurerat och uppdaterar headern Authorization till Bearer [CONFIGURE_YOUR_TOKEN].
  4. I Format YouTube Video Stats mappar ni fält med uttryck som ={{ $('Fetch Video Details').item.json.items[0].statistics.viewCount }} och ={{ $json.captions }}.
  5. I Retrieve TikTok Data låter ni Method vara POST och ersätter [CONFIGURE_YOUR_TOKEN] och @[YOUR_ID] i URL och body.
  6. I Format TikTok Stats behåller ni mappningar som videoViews={{ $json.playCount }} och videoLikes={{ $json.diggCount }}.
  7. I Validate Last 7 Days behåller ni villkoret som jämför ={{ new Date($json.postedDateandTime).getTime() }} med ={{ Date.now() - 7 * 864e5 }}.
  8. I Fetch Skool Members 2 och Render Markdown 2 speglar ni Skool-konfigurationen som användes i steg 2 och låter HTML vara ={{ $json.data }}.
  9. I Extract Member Count 2 behåller ni uttrycket för medlems-extrahering ={{$json.data.match(/(\d+)\s*members/i)?.[1] || $json.data.match(/\[(\d+)Members\]/i)?.[1]}}.

Tips: Retrieve TikTok Data skickar utdata till både Format TikTok Stats och Aggregate Items parallellt, så behåll båda utgångarna anslutna.

Steg 5: aggregera veckodata och beräkna KPI:er

Det här avsnittet sammanställer veckodata, beräknar tillväxt och förbereder KPI-mått.

  1. I Combine Streams 2 säkerställer ni att Number of Inputs är 5 för att slå ihop YouTube-statistik, TikTok-statistik, Skool-medlemmar, kanalstatistik och veckomärkningen.
  2. I Aggregate All Data låter ni Aggregate vara aggregateAllItemData och Destination Field Name vara allData.
  3. Bekräfta parallell körning: Aggregate All Data skickar utdata till både Sum Engagement Metrics och Prior Week Label 2 parallellt.
  4. I Prior Week Label 2 och Previous Week Label låter ni ISO-veckoetikettkoden vara oförändrad för att beräkna föregående veckas etikett.
  5. I Lookup KPI History och Lookup Prior KPIs låter ni Filter By Formula vara ={Week} = "{{ $json.prevWeekLabel }}". Inloggning krävs: anslut era airtableTokenApi-uppgifter.
  6. I Map Current Metrics behåller ni mappningar som Current Youtube sub count={{ $('Fetch Current Metrics').item.json['YT sub count'] }}.
  7. I Compute Growth Metrics behåller ni JS-koden som beräknar tillagda prenumeranter, följare och medlemmar.

Steg 6: konfigurera Airtable-uppdateringar och lagring av KPI:er

Airtable lagrar både aktuella mätvärden och veckovis KPI-historik.

  1. I Lookup Records väljer ni rätt Airtable-Base och Table för “Current metrics”. Inloggning krävs: anslut era airtableTokenApi-uppgifter.
  2. I Modify Record mappar ni fält med uttryck som ={{ $('Map Platform Counts').item.json["Sub count YT"] }} och ={{ $json.Calculation }}. Inloggning krävs: anslut era airtableTokenApi-uppgifter.
  3. I Fetch Current Metrics väljer ni tabellen “Current metrics”. Inloggning krävs: anslut era airtableTokenApi-uppgifter.
  4. I Create KPI Record behåller ni mappningar som Week={{ $('Generate Week Label').item.json.weekLabel }} och YT likes={{ $('Sum Engagement Metrics').item.json['YouTube likes'] }}. Inloggning krävs: anslut era airtableTokenApi-uppgifter.

⚠️ Vanlig fallgrop: se till att fälten i Airtable matchar exakt de namn som används i mappningen (t.ex. YT sub count, Tiktok Followers, Total YT subs), annars misslyckas uppdateringar utan tydlig felindikering.

Steg 7: konfigurera AI-insikter och e-postleverans

Skapa HTML-rapporten med AI och skicka den via Gmail.

  1. I Generate Insights Report behåller ni prompten i Text som innehåller ={{ JSON.stringify($('Aggregate All Data').item.json.allData) }} och uttrycken för totaler från förra veckan.
  2. Öppna OpenRouter Chat Engine och bekräfta att Model är inställd på google/gemini-2.5-flash. Inloggning krävs: anslut era openRouterApi-uppgifter.
  3. Obs: OpenRouter Chat Engine är ansluten som språkmodell för Generate Insights Report — uppgifter ska läggas till i OpenRouter Chat Engine, inte i kedjenoden.
  4. I Email HTML Report ställer ni in Send To till [YOUR_EMAIL], Subject till Weekly content performance och Message till ={{ $json.text }}. Inloggning krävs: anslut era gmailOAuth2-uppgifter.

Steg 8: testa och aktivera ert arbetsflöde

Validera dataflödet från början till slut och bekräfta e-postleverans innan ni aktiverar produktionskörningar.

  1. Klicka på Execute Workflow från Scheduled Run Trigger för att testa flödet som uppdaterar plattformsräkningar hela vägen till Modify Record.
  2. Kör Weekly Schedule Trigger manuellt för att testa den veckovisa innehållspipelinen som slutar med Email HTML Report.
  3. En lyckad körning ska visa aggregerad data i Aggregate All Data och en fullständig HTML-utdata i Generate Insights Report.
  4. Kontrollera Airtable efter en ny post i “Weekly Content KPIs” från Create KPI Record och en uppdaterad rad i “Current metrics” från Modify Record.
  5. När ni är nöjda växlar ni arbetsflödet till Active för att aktivera schemalagda produktionskörningar.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Saker att se upp med

  • Airtable base-/table-ID:n och fältnamn måste matcha den tillhandahållna mallen. Om steget ”Lookup Prior KPIs” inte returnerar något, kontrollera base-länken i sticky notes och bekräfta att din första baslinjerad finns.
  • Om du använder Wait-noder eller extern scraping varierar processtiderna. Öka väntetiden om efterföljande noder misslyckas på grund av tomma svar.
  • OpenRouter/OpenAI-utdata kan kännas platt i början. Uppdatera prompten i kedjan ”Generate Insights Report” tidigt med din tonalitet, kundkontext och vad du betraktar som en ”bra vecka”, annars kommer du att redigera varje mejl.

Vanliga frågor

Hur snabbt kan jag implementera den här automatiseringen för YouTube Airtable-rapportering?

Cirka en timme om du redan har konton och API-nycklar.

Kan team utan teknisk kompetens implementera den här rapporteringsautomationen?

Ja. Ingen kodning krävs, men någon behöver vara bekväm med att klistra in ID:n/URL:er och testa en schemalagd körning.

Är n8n gratis att använda för det här YouTube Airtable-rapporteringsflödet?

Ja. n8n har ett gratis alternativ för self-hosting och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna med kostnader för Apify-scraping och din OpenRouter/OpenAI-användning (oftast bara några ören per körning).

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

Två alternativ: n8n Cloud (hanterat, enklast setup) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsat antal körningar men kräver grundläggande serveradministration.

Hur anpassar jag den här YouTube Airtable-rapporteringslösningen till mina specifika utmaningar?

Du kan byta LLM i OpenRouter/OpenAI-noderna, ändra schematriggrarna och utöka steget ”Map Platform Counts” för att inkludera fler plattformar. Vanliga justeringar är att lägga till LinkedIn/Instagram (med rätt Apify actors), ändra mejlformatet i noden ”Email HTML Report” och lagra extra fält i Airtable för kundspecifika KPI:er.

Varför misslyckas min Airtable-anslutning i det här flödet?

Oftast beror det på fel base-, tabell- eller fältmappning. Dubbelkolla Airtable-mallen som refereras i sticky notes och bekräfta sedan att dina n8n Airtable-uppgifter fortfarande har åtkomst till den workspacen. Om ”Lookup Prior KPIs” inte returnerar något kan det också betyda att du inte har skapat den första baslinjeraden än.

Vad är kapaciteten för den här YouTube Airtable-rapporteringslösningen?

Mer än tillräckligt för veckorapportering.

Är den här automatiseringen för YouTube Airtable-rapportering bättre än att använda Zapier eller Make?

Ofta, ja, om du bryr dig om logik i flera steg och att behålla en riktig KPI-historik. Det här flödet slår ihop flera dataströmmar, gör week-over-week-jämförelser och matar sedan transkriptioner till en AI-modell. Zapier/Make kan lösa delar av det, men förgreningar, dataformning och mönstret ”spara baslinje och jämför nästa vecka” tenderar att bli klumpigt (och dyrt) när det växer. n8n ger dig också möjligheten att self-hosta, vilket är hjälpsamt när du vill ha förutsägbara kostnader. Om du är osäker, prata med en automationsexpert så kartlägger vi den enklaste vägen.

När det här väl rullar dyker dina veckosiffror upp med kontext, inte kaos. Flödet tar hand om de repetitiva delarna, så att du kan fokusera på nästa veckas innehållsbeslut.

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