Dina flöden känns inte som ”research”. De känns som en andra inkorg. Du öppnar tio flikar, skummar snabbt, tappar bort guldkornen och måste ändå göra om allt till något användbart.
Här gör RSS-sammanfattningsautomatisering som mest nytta. Innehållsmarknadsförare som vill hålla sig uppdaterade, grundare som gör konkurrensbevakning och analytiker som bygger veckodigester fastnar alla i samma loop: läsa, kopiera, klistra in, glömma.
Det här arbetsflödet hämtar nya artiklar från flera RSS-flöden, sammanfattar dem konsekvent med AI och loggar allt i Google Sheets så att du kan skumma, filtrera och dela utan kaos.
Så här fungerar automatiseringen
Det kompletta n8n-arbetsflödet, från trigger till slutligt resultat:
n8n Workflow Template: RSS till Google Sheets med AI-sammanfattningar
flowchart LR
subgraph sg0["When clicking ‘Execute workflow’ Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Execute workf..", pos: "b", h: 48 }
n1@{ icon: "mdi:database", form: "rounded", label: "Get RSS Feed List", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Read RSS", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Rss Elements", pos: "b", h: 48 }
n4@{ icon: "mdi:database", form: "rounded", label: "Get Row for URL is in Sheets", pos: "b", h: 48 }
n5["<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/>Convert HTML to Markdown"]
n6@{ icon: "mdi:database", form: "rounded", label: "Append Aummary to Google She..", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-vertical", form: "rounded", label: "Combine Rss with source name", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check If Article Exists", pos: "b", h: 48 }
n9@{ icon: "mdi:robot", form: "rounded", label: "Summarize Content", pos: "b", h: 48 }
n10@{ icon: "mdi:swap-vertical", form: "rounded", label: "Format Output", pos: "b", h: 48 }
n11@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n13@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter Last X Days", pos: "b", h: 48 }
n14@{ icon: "mdi:swap-vertical", form: "rounded", label: "Settings", pos: "b", h: 48 }
n15@{ icon: "mdi:brain", form: "rounded", label: "LLM Chat Model", pos: "b", h: 48 }
n16@{ icon: "mdi:cog", form: "rounded", label: "End of worfklow", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>Get Webpage HTML Content"]
n18["<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/html.dark.svg' width='40' height='40' /></div><br/>Extract Body Content in HTML"]
n2 --> n7
n14 --> n1
n10 --> n6
n15 -.-> n9
n12 --> n13
n12 --> n2
n11 --> n14
n1 --> n12
n9 --> n10
n13 --> n3
n3 --> n16
n3 --> n4
n8 --> n17
n8 --> n3
n5 --> n9
n17 --> n18
n7 --> n12
n18 --> n5
n4 --> n8
n6 --> n3
n0 --> n14
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,n11 trigger
class n9 ai
class n15 aiModel
class n8,n13 decision
class n1,n4,n6 database
class n17 api
classDef customIcon fill:none,stroke:none
class n5,n17,n18 customIcon
Problemet: att läsa RSS blir dubbelarbete
Att hänga med i flera RSS-flöden låter enkelt tills du faktiskt gör det i en vecka. Du skummar en artikel på morgonen och öppnar sedan samma flik igen senare eftersom du inte minns huvudpoängen. Du antecknar i ett dokument, kopierar sedan några rader till Slack och inser att du fortfarande behöver en korrekt formaterad sammanfattning till din content brief. Under tiden fortsätter flödena att publicera. Resultatet är förutsägbart: för många halvlästa items, röriga anteckningar och ett ”system” som bara fungerar när du har tid över (vilket du inte har).
Friktionen byggs på. Här är var det faller isär i verkligheten.
- Du läser om samma artiklar eftersom det inte finns en enda plats att fånga insikterna på.
- Manuella anteckningar blir inkonsekventa, så att skumma i efterhand blir långsamt och frustrerande.
- Dubbletter smyger sig in när flöden återpublicerar, ändrar URL:er eller syndikerar innehåll.
- Att dela ”insikter” blir ännu en uppgift eftersom dina sammanfattningar inte är klara att klistra in.
Lösningen: AI-sammanfattningar skickas till Google Sheets automatiskt
Det här arbetsflödet bevakar dina RSS-flöden enligt ett schema (eller körs manuellt när du vill). Det hämtar nya inlägg från de senaste X dagarna, kontrollerar i ditt Google Sheet att du inte redan har processat samma URL, och hämtar sedan hela artikelinnehållet när det faktiskt är nytt. Därefter extraherar det den användbara brödtexten, konverterar rörig HTML till korrekt formaterad markdown och skickar det till en AI-modell (via OpenRouter) för att skapa en strukturerad sammanfattning. Till sist städar arbetsflödet upp sammanfattningstexten och lägger till en snygg rad i Google Sheets, inklusive källetikett och artikelns URL, så att din ”läsning” blir en sökbar databas i stället för utspridda flikar.
Arbetsflödet startar med en schemalagd trigger som laddar din flödlista från en flik som heter ”RSS FEEDS” i Google Sheets. Det processar flöden i batchar, filtrerar till nyliga items och skapar bara sammanfattningar när URL:en inte redan är loggad. Allt landar där det ska: ett konsekvent ark som teamet kan skumma på några minuter.
Vad 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 bevakar 12 RSS-flöden och vanligtvis skummar 5 nya artiklar per dag. Manuellt tar även ”snabbläsning” plus att kopiera anteckningar till ett dokument kanske 10 minuter per artikel, alltså runt 50 minuter om dagen, och du slutar ändå med att kolla länkar igen senare. Med det här arbetsflödet lägger du cirka 5 minuter en gång på att ställa in dina flöden och filtret ”senaste X dagar”, och sedan landar nya items i Google Sheets automatiskt med konsekventa sammanfattningar. Du går igenom arket i ett svep, vilket brukar vara under 10 minuter. Det är ungefär 40 minuter tillbaka per dag, utan att du behöver anstränga dig mer.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för självhosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra flödlista och sammanfattningar.
- OpenRouter för att köra en Gemini-modell för sammanfattningar.
- OpenRouter API-nyckel (hämta den i din OpenRouter-dashboard).
Svårighetsgrad: Medel. Du kopplar konton, klistrar in en API-nyckel och justerar en eller två filtreringsinställningar.
Vill du inte sätta upp det här själv? Prata med en automatiseringsexpert (gratis 15-minuters konsultation).
Så fungerar det
En schemalagd körning sätter igång allt. Arbetsflödet startar varje timme enligt schema (eller så kan du köra det manuellt) och laddar sedan din RSS-katalog från Google Sheets så att flödlistan kan uppdateras av icke-tekniska kollegor.
Nyliga items filtreras och processas i batchar. n8n läser varje flöde, begränsar items till de senaste X dagarna och itererar posterna på ett kontrollerat sätt så att du inte dränker ditt ark eller din AI-leverantör med en plötslig backlog.
Dubbletter stoppas innan någon AI-kostnad uppstår. För varje artikel slår det upp URL:en i ditt befintliga Google Sheet. Om URL:en redan finns där hoppar arbetsflödet över den och går vidare. Enkelt. Effektivt.
Hela innehållet hämtas, rensas och sammanfattas. När en artikel är ny hämtar arbetsflödet sidans HTML, extraherar huvudinnehållets markup, konverterar det till markdown och skickar det till AI-agenten (OpenRouter/Gemini) för att producera en strukturerad sammanfattning med takeaways och praktiska insikter.
Slutresultatet hamnar i Google Sheets. Den rensade sammanfattningen och metadata (källetikett, URL och andra fält du väljer) läggs till som en ny rad, vilket ger dig en levande researchdatabas som du kan sortera, filtrera och dela.
Du kan enkelt justera tidsfönstret (senaste X dagar) så att det matchar din läsrytm, eller ändra sammanfattningsformatet för olika team. Se den fullständiga implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera triggertypen
Ställ in hur workflowet startar, antingen manuellt eller enligt ett schema, och skicka inledande konfigurationsvärden.
- Öppna Manual Execution Start om ni vill köra workflowet vid behov; inga fält krävs.
- Öppna Scheduled Automation Trigger och ställ in schemaregelns intervall till
hoursom ni vill ha automatiska körningar. - I Configuration Set, ställ in Document till
https://docs.google.com/spreadsheets/d/[YOUR_ID]. - Ställ in Articles Sheet till
https://docs.google.com/spreadsheets/d/[YOUR_ID]och Rss Feeds tillhttps://docs.google.com/spreadsheets/d/[YOUR_ID]. - Låt Current Time vara uttrycket
{{ $workflow.trigger === 'Scheduled Automation Trigger' ? $('Scheduled Automation Trigger').item.json.timestamp : $now }}för att stödja både manuella och schemalagda körningar. - Ställ in Last X Days till
31för att styra hur långt tillbaka ni letar efter nya objekt.
Steg 2: Anslut Google Sheets
Anslut era kalkylark för feedkällor, uppslag och lagring av output.
- Öppna Fetch Feed Directory och bekräfta att Sheet Name är
{{ $json["Rss Feeds"] }}och att Document ID är{{ $json.Document }}. - Inloggning krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Fetch Feed Directory.
- Öppna Lookup URL in Sheet och bekräfta att filtret använder lookupColumn
linkmed lookupValue{{ $json.link }}. - Ställ in Sheet Name till
{{ $('Configuration Set').item.json["Articles Sheet"] }}och Document ID till{{ $('Configuration Set').item.json.Document }}i Lookup URL in Sheet. - Inloggning krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Lookup URL in Sheet.
- Öppna Append Summary to Sheets och låt Operation vara inställd på
appendOrUpdatemed useAppend aktiverat. - Inloggning krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Append Summary to Sheets.
link, title, source, pubDate, ai summary och categories för att matcha mappningen i Append Summary to Sheets.Steg 3: Konfigurera tolkning och filtrering av RSS-källor
Läs feedkatalogen, tolka RSS-objekt och filtrera fram nyliga poster innan bearbetning.
- I Iterate Feed List, låt batchinställningarna vara som de är för att gå igenom feedrader från Fetch Feed Directory.
- Öppna Parse RSS Sources och ställ in URL till
{{ $json["RSS URL"] }}. - I Attach Source Label, låt Include Other Fields vara aktiverat och ställ in RSS NAME till
{{ $('Iterate Feed List').item.json["RSS NAME"] }}. - Öppna Filter Recent Items och säkerställ att villkoret jämför leftValue
{{ $json.pubDate }}med uttrycket{{ $('Configuration Set').item.json['Current Time'].toDateTime().minus($('Configuration Set').item.json['Last X Days'],'days').startOf('day') }}. - Bekräfta att Iterate Feed Entries följer efter Filter Recent Items för att batcha enskilda artiklar.
Steg 4: Ställ in innehämtning och AI-sammanfattning
Hämta artikel-HTML, extrahera läsbart innehåll, konvertera till Markdown och generera en AI-sammanfattning.
- I Lookup URL in Sheet, låt alwaysOutputData vara aktiverat så att Verify Article Presence kan upptäcka dubbletter.
- Öppna Verify Article Presence och behåll villkoret
{{ $item("0").$node["Lookup URL in Sheet"].json }}inställt på att kontrollera om uppslagsresultatet är tomt. - I Retrieve Page HTML, ställ in URL till
{{ $('Iterate Feed Entries').item.json.link }}och behåll svarformatet somtext. - I Extract Body Markup, låt operation vara inställd på
extractHtmlContentoch selektornbodyreturnerahtml. - I HTML to Markdown Transform, ställ in HTML till
{{ $json.data }}och låt ignore vara inställd påimg,form. - Öppna Generate Summary och verifiera att prompten i Text använder uttrycket med itemfält som
{{ $('Iterate Feed Entries').item.json.title }}och innehåll{{ $json.data }}. - Öppna LLM Chat Provider och ställ in Model till
google/gemini-2.5-flash. - Inloggning krävs: Anslut era openRouterApi-inloggningsuppgifter i LLM Chat Provider.
Steg 5: Konfigurera lagring av output och loopning
Rensa AI-outputen och lägg till resultat i er artikellogg, och loopa sedan till nästa post.
- I Clean Summary Text, ställ in text till
{{ $json.text.replace(/för att ta bort artefakter från modellens resonemang.[\s\S]*?<\/think>/g, '') }} - I Append Summary to Sheets, bekräfta kolumnmappningar:
link,title,source,pubDate,ai summaryochcategoriesfrån uttrycken som visas i noden. - Säkerställ att anslutningsvägen Append Summary to Sheets → Iterate Feed Entries är intakt för att fortsätta bearbeta batchar.
- Bekräfta att Iterate Feed Entries avslutas vid Workflow Terminus när inga fler objekt återstår.
Steg 6: Testa och aktivera ert workflow
Validera att objekt filtreras, sammanfattas och lagras korrekt innan ni aktiverar schemat.
- Klicka på Execute Workflow med start från Manual Execution Start för att testa flödet från start till mål.
- Kontrollera att Lookup URL in Sheet förhindrar dubbletter och att nya rader visas i Append Summary to Sheets med
ai summaryifyllt. - Verifiera att Filter Recent Items endast släpper igenom poster inom de senaste
31dagarna. - När allt fungerar, aktivera workflowet och förlita er på Scheduled Automation Trigger för löpande körningar.
Vanliga fallgropar
- Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera först det anslutna Google-kontot i n8n:s Credential-vy.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- OpenRouter-nycklar (Gemini) kan vara giltiga men ändå fallera på grund av modellåtkomst eller rate limits. Bekräfta din API-nyckel, vald modell i noden LLM Chat Provider och dina användningsgränser i OpenRouter.
Vanliga frågor
Cirka 30 minuter om ditt Google Sheet och din API-nyckel är redo.
Nej. Du kopplar konton och klistrar in en API-nyckel. Det mesta av jobbet är att mappa de fält du vill spara till Google Sheets.
Ja. n8n har ett gratis alternativ för självhosting 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 OpenRouter-API-användning, vilket vanligtvis är några cent per batch av sammanfattningar beroende på artikelns längd.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller självhosting på en VPS. För självhosting är Hostinger VPS prisvärd och hanterar n8n bra. Självhosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det bör du. Uppdatera prompten i steget Generate Summary så att outputen matchar hur du faktiskt läser, till exempel kortare punkter, en rad med ”varför det spelar roll” eller en sektion för citat. Du kan också ändra fälten som skapas i stegen Clean Summary Text och Edit Fields (Set) för att lagra extra kolumner som kategori, målgrupp eller innehållsvinkel. Om du vill använda en annan modell byter du den i konfigurationen för LLM Chat Provider (OpenRouter) utan att ändra resten av flödet.
Vanligtvis beror det på utgången Google-auktorisering eller fel Google-konto. Återanslut Google Sheets-credential i n8n och bekräfta sedan att målarket är delat med det kontot. Kontrollera också att flikarna i arket (till exempel fliken med din flödeskatalog) fortfarande har samma namn som används i arbetsflödet, eftersom ett namnbyte kan bryta uppslagningar.
Många, så länge du kör i batchar. I n8n Cloud beror din månatliga körningsgräns på din plan, och varje artikel räknas vanligtvis som sin egen körningskedja. Om du självhostar finns ingen körningsgräns, men du begränsas av serverresurser och dina rate limits i OpenRouter. I praktiken är det realistiskt att processa några hundra artiklar per dag om du behåller batchning och undviker att dra hem enorma backlogs i en enda körning.
Ofta, ja. n8n är bättre när du behöver förgreningslogik (hoppa över dubbletter, hämta HTML bara när det behövs, rensa text och sedan sammanfatta) eftersom arbetsflödet förblir lätt att följa och du inte betalar extra för varje villkorsgren. Det är också enklare att styra batchning, vilket spelar roll när ett flöde spottar ur sig 50 items på en gång. Zapier eller Make kan fortfarande fungera, men du landar oftast i flera scenarier och fler ”lim”-steg. Om du vill ha hjälp att välja, prata med en automatiseringsexpert så kvalitetssäkrar vi din setup.
När det här väl rullar blir din ”läslista” ett strukturerat flöde av beslut och idéer, inte öppna flikar. Sätt upp det en gång och granska sedan arket när det passar 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.