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
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields", pos: "b", h: 48 }
n2["<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/>Code"]
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/markdown.dark.svg' width='40' height='40' /></div><br/>Markdown"]
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Wait", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items1", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "RSS", pos: "b", h: 48 }
n8["<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/>Code1"]
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items2", pos: "b", h: 48 }
n10@{ icon: "mdi:cog", form: "rounded", label: "Wait1", pos: "b", h: 48 }
n11@{ icon: "mdi:cog", form: "rounded", label: "Wait2", pos: "b", h: 48 }
n12@{ icon: "mdi:database", form: "rounded", label: "Delete News", pos: "b", h: 48 }
n13@{ icon: "mdi:database", form: "rounded", label: "Read News", pos: "b", h: 48 }
n14@{ icon: "mdi:database", form: "rounded", label: "Save News", pos: "b", h: 48 }
n15@{ icon: "mdi:database", form: "rounded", label: "Read Links", pos: "b", h: 48 }
n7 --> n6
n2 --> n4
n5 --> n4
n8 --> n9
n10 --> n9
n11 --> n13
n3 --> n14
n13 --> n8
n14 --> n5
n15 --> n6
n12 --> n10
n1 --> n2
n4 --> n11
n4 --> n3
n6 --> n1
n6 --> n7
n9 --> n12
n0 --> n15
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 n0 trigger
class n12,n13,n14,n15 database
class n2,n8 code
classDef customIcon fill:none,stroke:none
class n2,n3,n8 customIcon
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
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
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.
- Lägg till och öppna Scheduled Run Trigger.
- Konfigurera schemaregeln i Rule så att den matchar ert önskade körintervall (t.ex. varje timme eller dagligen).
- 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.
- Öppna Load RSS Links och ställ in Document till
[YOUR_ID]och Sheet tillTabellenblatt1(gid=0). - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Load RSS Links.
- Öppna Retrieve Stored Entries och bekräfta att Document är
[YOUR_ID]och Sheet ärTabellenblatt1(gid=0). - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Retrieve Stored Entries.
- Öppna Append Feed Entries, låt Operation vara inställd på
appendOrUpdateoch bekräfta samma dokument- och sheet-värden. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Append Feed Entries.
- Öppna Remove Sheet Rows, låt Operation vara inställd på
deleteoch bekräfta samma dokument- och sheet-värden. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Remove Sheet Rows.
[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.
- 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.
- I Read RSS Feed ställer ni in URL till
={{ $json.Links }}så att varje länk från arket läses dynamiskt. - I Map Data Fields konfigurerar ni tilldelningar för att normalisera fälten för RSS-item:
- Ställ in id till
={{ $json.link }}, title till={{ $json.title }}, output till={{ $json.content }}, pubDate till={{ $json.pubDate }}och tags till={{ $json.categories }}.
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.
- 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. - I Iterate Records behåller ni standardinställningarna för batch för att hantera items i kontrollerade batchar.
- Iterate Records skickar vidare till Pause Before Read, som sedan leder till Retrieve Stored Entries för logik för rensning.
- Säkerställ att Render Markdown Output konverterar HTML till markdown genom att ställa in HTML till
={{ $json.output }}och Destination Key tilloutput. - I Append Feed Entries mappar ni kolumner till uttryck: id
={{ $json.id }}, title={{ $json.title }}, output={{ $json.output }}, pubDate={{ $json.pubDate }}, Category={{ $json.tags }}. - I Delay Batch Save ställer ni in Amount till
2.5för att strypa sparningar och loopa tillbaka till Iterate Records.
={{ $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.
- I Pause Before Read ställer ni in Unit till
minutesoch Amount till1för att fördröja innan sparade poster läses in. - I Identify Old Rows behåller ni JavaScript-logiken med
const setdays = 3;för att filtrera äldre poster och mappa tillrowNumber. - I Iterate Old Rows behåller ni standardinställningarna för batch för att radera rader säkert i följd.
- I Remove Sheet Rows ställer ni in Start Index till
={{ $json.rowNumber }}för att radera varje gammal rad. - I Delay Deletion ställer ni in Amount till
25för att sprida ut raderingar innan den loopar tillbaka till Iterate Old Rows.
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.
- Klicka på Execute Workflow för att trigga Scheduled Run Trigger manuellt.
- Verifiera att Load RSS Links ger RSS-URL:er och att Read RSS Feed returnerar items.
- Bekräfta att nya items visas i ert ark efter att Append Feed Entries har körts.
- Kontrollera att äldre poster tas bort av Remove Sheet Rows efter Identify Old Rows.
- När allt är validerat växlar ni arbetsflödet till Active för schemalagda körningar.
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
Cirka 20–30 minuter om ditt Google-konto är redo.
Nej. Du kopplar främst Google Sheets och klistrar in dina flödeslänkar i källarket.
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.
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.
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.
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.
Många, men det beror på Google Sheets API-gränser och hur många flöden du pollar per körning.
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.