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

RSS till Google Sheets, rullande nyhetsbevakning

Rickard Andersson Partner, Nodenordic.se

Din ”läslista” börjar prydligt. Sedan blir fem flöden femtio, samma länkar dyker upp två gånger och plötsligt scrollar du förbi förra veckans rubriker som om det vore ditt jobb. Det är rutinjobb utklätt till att hålla sig uppdaterad.

Det här problemet med en RSS Sheets tracker slår mot marknadsförare först (innehållsidéer väntar inte). Grundare märker det när de försöker hålla koll på konkurrenter. Och driver du en byrå har du sannolikt byggt ett stökigt ”nyhetsark” för mer än en kund.

Det här arbetsflödet gör RSS till ett rullande, alltid uppdaterat Google Sheet som bara behåller de senaste 3 dagarna, tar bort gamla rader och undviker dubbletter. Du får se hur det fungerar, vad du behöver och var team brukar gå fel.

Så fungerar den här automatiseringen

Hela n8n-arbetsflödet, från trigger till slutresultat:

n8n Workflow Template: RSS till Google Sheets, rullande nyhetsbevakning

Problemet: RSS-flöden blir stökiga snabbt

RSS ska vara enkelt. I praktiken, när du följer mer än en handfull källor, lägger du mer tid på att hantera flödet än på att läsa det. Länkar upprepas, rubriker ändras lite och du litar aldrig helt på vad du redan sett. Samtidigt växer ”spara till senare”-flikarna, och teamets ”veckans nyhetssammanfattning” blir en stressig panikinsats varje måndag. Värst är den mentala belastningen. Du ser inte vad som är nytt, vad som är viktigt eller vad som redan har loggats, så du fortsätter kontrollera samma källor om och om igen.

Det eskalerar snabbt. Här är var det brukar fallera.

  • Du kopierar rubriker till ett ark och inser sedan att du missade halva mängden flöden du bryr dig om.
  • Dubbletter smyger sig in eftersom RSS-poster kan se ”nya” ut när metadata ändras.
  • Gamla länkar ligger kvar, så din vy för ”senaste nyheterna” blir en blandad hög av färskt och gammalt.
  • Du slutar med att bygga om samma spårningsark igen för varje projekt, kund eller kampanj.

Lösningen: Ett rullande RSS-flöde i Google Sheets

Det här n8n-arbetsflödet körs enligt schema och underhåller ett strukturerat ”rullande flöde”-kalkylblad åt dig. Det börjar med att läsa in en lista med RSS-URL:er från ett Google Sheet (din källista). Sedan loopar det igenom dessa flödeslänkar, läser de senaste posterna och mappar fälten till ett konsekvent format så att varje rad ser likadan ut. Därefter filtrerar det flödesposterna och behåller bara innehåll som är yngre än 3 dagar, vilket gör att din tracker håller fokus på det som är aktuellt. Till sist lägger den till nya poster i ett andra Google Sheet (ditt rullande flöde) och tar samtidigt bort äldre rader så att arket aldrig sväller till ett arkiv du ändå aldrig kommer att skanna igen.

Arbetsflödet startar med en schemalagd trigger. Det läser RSS-länkar från Google Sheets, hämtar varje flöde och behåller bara senaste posterna innan de sparas. Sedan kontrollerar det det rullande arket efter äldre poster och tar bort dem, med korta pauser mellan batcher för att hålla sig inom Googles API-gränser.

Det du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du följer 20 RSS-flöden och vill ha ett ark med ”färska länkar” för daglig scanning. Manuellt kan även en snabb rutin (öppna flöde, skumma, kopiera en länk, klistra in i Sheets) ta cirka 3 minuter per flöde, så du bränner ungefär en timme bara på att samla, och sedan mer tid på att radera gamla rader och sortera. Med det här arbetsflödet väntar du på den schemalagda körningen, RSS-läsningarna sker i batcher (med korta pauser) och ditt rullande Google Sheet uppdateras automatiskt. Ditt ”jobb” blir att öppna en flik och skanna vad som är nytt.

Det du behöver

  • n8n-instans (prova n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för din RSS-lista och rullande tracker.
  • RSS Read för att hämta poster från varje flödes-URL.
  • Google OAuth-inloggningsuppgifter (skapa dem i Google Cloud Console).

Kunskapsnivå: Nybörjare. Du kopplar Google, klistrar in flödes-URL:er i ett ark och bekräftar vilka kolumner som ska mappas var.

Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

Schemalagd körning startar allt. n8n kör det här arbetsflödet på en timer, så ditt ark håller sig uppdaterat utan att någon behöver komma ihåg att ”göra RSS-grejen”.

Din flödeslista hämtas från Google Sheets. Ett ark innehåller RSS-URL:erna du bryr dig om. Lägg till en ny källa där så tas den med i nästa körning, utan extra konfiguration.

RSS-poster läses, struktureras och filtreras. Arbetsflödet loopar igenom flöden i batcher, mappar fälten till en konsekvent rad och behåller sedan bara poster som är nyare än 3 dagar. Det finns korta väntesteg så att Google inte uppfattar att du överbelastar API:et.

Resultaten hamnar i ett rullande tracker-ark. Nya poster läggs till och äldre rader i det rullande arket identifieras och tas bort. Nettoeffekt: en vy som automatiskt förblir ”nylig”.

Du kan enkelt ändra ”3 dagar”-fönstret för färskhet till 1 dag eller 7 dagar beroende på behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera den schemalagda triggern

Konfigurera den tidsbaserade triggern som startar RSS-synkroniseringscykeln.

  1. Lägg till och öppna Scheduled Run Trigger.
  2. Konfigurera schemaregeln i Rule så att den matchar ert önskade körintervall (t.ex. varje timme eller dagligen).
  3. Bekräfta att triggern är kopplad till Load RSS Links som första efterföljande nod.

Steg 2: Anslut Google Sheets

Koppla arbetsflödet till era Google Sheets-filer för RSS-länkar och sparade feed-poster.

  1. Öppna Load RSS Links och ställ in Document till [YOUR_ID] och Sheet till Tabellenblatt1 (gid=0).
  2. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Load RSS Links.
  3. Öppna Retrieve Stored Entries och bekräfta att Document är [YOUR_ID] och Sheet är Tabellenblatt1 (gid=0).
  4. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Retrieve Stored Entries.
  5. Öppna Append Feed Entries, låt Operation vara inställd på appendOrUpdate och bekräfta samma dokument- och sheet-värden.
  6. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Append Feed Entries.
  7. Öppna Remove Sheet Rows, låt Operation vara inställd på delete och bekräfta samma dokument- och sheet-värden.
  8. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Remove Sheet Rows.

⚠️ Vanlig fallgrop: Säkerställ att [YOUR_ID] ersätts med det faktiska Google Sheet-ID:t i alla fyra Google Sheets-noderna för att undvika att data skrivs till fel fil.

Steg 3: Läs in RSS-länkar och mappa feed-data

Läs RSS-URL:er från arket, iterera igenom dem och mappa feed-fälten till en standardiserad struktur.

  1. I Iterate Feed Links behåller ni standardinställningarna för batch så att den loopar igenom varje rad i listan med RSS-länkar.
  2. I Read RSS Feed ställer ni in URL till ={{ $json.Links }} så att varje länk från arket läses dynamiskt.
  3. I Map Data Fields konfigurerar ni tilldelningar för att normalisera fälten för RSS-item:
  4. Ställ in id till ={{ $json.link }}, title till ={{ $json.title }}, output till ={{ $json.content }}, pubDate till ={{ $json.pubDate }} och tags till ={{ $json.categories }}.

Flödet loopar: Load RSS LinksIterate Feed LinksRead RSS FeedIterate Feed Links, vilket säkerställer att varje RSS-länk behandlas.

Steg 4: Filtrera och formatera senaste RSS-items

Filtrera flödet till enbart senaste poster och formatera sedan innehållet för lagring i arket.

  1. I Filter Recent Items behåller ni JavaScript-koden som använder const setdays = 3; för att filtrera till items från de senaste 3 dagarna.
  2. I Iterate Records behåller ni standardinställningarna för batch för att hantera items i kontrollerade batchar.
  3. Iterate Records skickar vidare till Pause Before Read, som sedan leder till Retrieve Stored Entries för logik för rensning.
  4. Säkerställ att Render Markdown Output konverterar HTML till markdown genom att ställa in HTML till ={{ $json.output }} och Destination Key till output.
  5. I Append Feed Entries mappar ni kolumner till uttryck: id ={{ $json.id }}, title ={{ $json.title }}, output ={{ $json.output }}, pubDate ={{ $json.pubDate }}, Category ={{ $json.tags }}.
  6. I Delay Batch Save ställer ni in Amount till 2.5 för att strypa sparningar och loopa tillbaka till Iterate Records.

⚠️ Vanlig fallgrop: Om er RSS-källa använder ett annat fältnamn för kategorier, uppdatera ={{ $json.categories }} i Map Data Fields så att det matchar feeden.

Steg 5: Identifiera och ta bort gamla rader i arket

Rensa bort äldre poster i arket genom att identifiera rader som är äldre än gränsdatumet och ta bort dem med en strypt loop.

  1. I Pause Before Read ställer ni in Unit till minutes och Amount till 1 för att fördröja innan sparade poster läses in.
  2. I Identify Old Rows behåller ni JavaScript-logiken med const setdays = 3; för att filtrera äldre poster och mappa till rowNumber.
  3. I Iterate Old Rows behåller ni standardinställningarna för batch för att radera rader säkert i följd.
  4. I Remove Sheet Rows ställer ni in Start Index till ={{ $json.rowNumber }} för att radera varje gammal rad.
  5. I Delay Deletion ställer ni in Amount till 25 för att sprida ut raderingar innan den loopar tillbaka till Iterate Old Rows.

Raderingsloopen körs via Retrieve Stored EntriesIdentify Old RowsIterate Old RowsRemove Sheet RowsDelay Deletion för att undvika rate limits.

Steg 6: Testa och aktivera ert arbetsflöde

Kör ett manuellt test för att bekräfta att RSS-till-Sheets-synken och rensningsoperationerna fungerar som förväntat.

  1. Klicka på Execute Workflow för att trigga Scheduled Run Trigger manuellt.
  2. Verifiera att Load RSS Links ger RSS-URL:er och att Read RSS Feed returnerar items.
  3. Bekräfta att nya items visas i ert ark efter att Append Feed Entries har körts.
  4. Kontrollera att äldre poster tas bort av Remove Sheet Rows efter Identify Old Rows.
  5. När allt är validerat växlar ni arbetsflödet till Active för schemalagda körningar.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Google Sheets-inloggningsuppgifter kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera: kontrollera först n8n:s test för autentiseringsuppgifterna och inställningarna för OAuth-samtycke/scope i Google Cloud.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att sitta och redigera resultat i all evighet.

Vanliga frågor

Hur lång tid tar det att sätta upp den här RSS Sheets tracker-automatiseringen?

Cirka 20–30 minuter om ditt Google-konto är redo.

Behöver jag kunna koda för att automatisera RSS-spårning till Google Sheets?

Nej. Du kopplar främst Google Sheets och klistrar in dina flödeslänkar i källarket.

Är n8n gratis att använda för det här RSS Sheets tracker-arbetsflödet?

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 volymer. Du har sannolikt inga extra API-kostnader här om du inte lägger till valfri AI-sammanfattning.

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

Två alternativ: n8n Cloud (hanterat, enklast uppsättning) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärt och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här RSS Sheets tracker-arbetsflödet till ett 7-dagarsfönster i stället för 3 dagar?

Ja, det är en av de enklaste ändringarna. Ändra logiken för ”yngre än 3 dagar” i steget Filter Recent Items (det kodbaserade filtret) till 7 dagar och håll sedan borttagningslogiken synkad så att det rullande arket matchar ditt nya fönster. Många team anpassar också de mappade kolumnerna i steget Map Data Fields för att inkludera kategori, källnamn eller kampanjtaggar.

Varför misslyckas min Google Sheets-anslutning i det här arbetsflödet?

Oftast är det ett OAuth-behörighetsproblem eller utgångna autentiseringsuppgifter. Anslut om dina Google Sheets-uppgifter i n8n och bekräfta sedan att Google-kontot du auktoriserade har åtkomst till båda kalkylbladen. Om du använder en delad Drive kan behörigheter vara den smygande boven. Kontrollera även körloggarna kring stegen för att lägga till/ta bort rader, eftersom Google kan strypa förfrågningar om du har tagit bort väntestegen.

Hur många RSS-poster kan den här RSS Sheets tracker-automatiseringen hantera?

Många, men det beror på Google Sheets API-gränser och hur många flöden du pollar per körning.

Är den här RSS Sheets tracker-automatiseringen bättre än att använda Zapier eller Make?

Ofta, ja, om du bryr dig om att arket håller sig strukturerat över tid. Zapier och Make är bra för enkla flöden som ”ny post → lägg till rad”, men rullande retention (ta bort gamla rader), batchning och väntkontroller blir klumpigt och kan bli dyrt vid högre volymer. n8n hanterar loopar, filter och villkorad städning i ett och samma arbetsflöde utan problem. En annan praktisk poäng: self-hosting innebär att du inte betalar per task när du skalar antalet flöden. Om du vill kan du även bygga ut det här arbetsflödet med AI-sammanfattningar senare utan att behöva göra om allt. Prata med en automationsexpert om du är osäker på vad som passar.

En rullande nyhetstracker ska fortsätta rulla. Sätt upp det här en gång, låt den automatiskt rensa bort det gamla och spara din uppmärksamhet till beslut som faktiskt spelar roll.

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