RSS låter enkelt tills det inte är det. Du slutar med en hög länkar, upprepade inlägg från samma källa och en Discord-kanal som känns som en soptipp istället för ett användbart sammandrag.
Det här problemet med ett Sheets Discord-sammandrag drabbar community managers först, men marknadsansvariga och drift/ops-personer märker det också. Du vill ha en tydlig daglig uppdatering, inte 40 utspridda meddelanden och en massa “har vi redan delat det här?”-gissningar.
Det här arbetsflödet tar RSS-länkar från Google Sheets, sammanfattar det som är viktigt med OpenAI, publicerar ett snyggt dagligt sammandrag i Discord och arkiverar allt tillbaka i Sheets så att du kan återanvända det senare.
Så fungerar den här automatiseringen
Se hur detta löser problemet:
n8n Workflow Template: Google Sheets till Discord: dagliga RSS-sammandrag
flowchart LR
subgraph sg0["Scheduled Start Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Scheduled Start", pos: "b", h: 48 }
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/markdown.dark.svg' width='40' height='40' /></div><br/>Markdown Formatter"]
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Batch Iterator", pos: "b", h: 48 }
n3@{ icon: "mdi:cog", form: "rounded", label: "Delay Processing", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Iterate Feed List", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Read RSS Stream", pos: "b", h: 48 }
n6@{ icon: "mdi:database", form: "rounded", label: "Update News Sheet", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-vertical", form: "rounded", label: "Define Feed Sources", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-vertical", form: "rounded", label: "Distribute Entries", pos: "b", h: 48 }
n9@{ icon: "mdi:cog", form: "rounded", label: "Combine Items", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "AI Orchestrator", pos: "b", h: 48 }
n11@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Engine", pos: "b", h: 48 }
n12@{ icon: "mdi:message-outline", form: "rounded", label: "Discord Messaging Tool", pos: "b", h: 48 }
n13@{ icon: "mdi:swap-vertical", form: "rounded", label: "Map Data Fields", 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/>Filter Recent Items"]
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/code.svg' width='40' height='40' /></div><br/>Aggregate Summary Logic"]
n5 --> n4
n3 --> n2
n12 -.-> n10
n1 --> n6
n9 --> n15
n6 --> n3
n8 --> n4
n13 --> n14
n15 --> n10
n2 --> n1
n4 --> n13
n4 --> n5
n0 --> n7
n11 -.-> n10
n14 --> n9
n14 --> n2
n7 --> n8
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 n10 ai
class n11 aiModel
class n6 database
class n14,n15 code
classDef customIcon fill:none,stroke:none
class n1,n14,n15 customIcon
Utmaningen: förvandla RSS-brus till en användbar daglig uppdatering
Att manuellt kurera RSS för en Discord-community funkar i början, men blir snabbt ett dagligt måste. Du kollar flöden, kopierar länkar, skummar efter relevans och landar ändå i dubbletter eftersom samma nyhet dyker upp i flera källor. Sedan frågar folk efter “den snabba takeawayn”, och du ignorerar det eller lägger ytterligare 20 minuter på att skriva minisammanfattningar. Samtidigt arkiveras inget på ett strukturerat sätt, vilket betyder att du nästa vecka gör om allt igen och tappar chansen att återanvända de bästa sakerna för LinkedIn, ett nyhetsbrev eller interna uppdateringar.
Det är inte ett stort haveri. Det är friktion, varje dag.
- Att copy-pasta några länkar blir en daglig vana du inte kan hoppa över utan att hamna efter.
- Dubbletter smyger in när flera flöden bevakar samma nyhet, och din kanal börjar se spammig ut.
- Utan sammanfattningar klickar de flesta inte, vilket gör att dina “uppdateringar” i praktiken inte informerar någon.
- Om du inte lagrar poster i en databas (som Sheets) kan du inte söka, granska eller återanvända det som gav bäst resultat.
Lösningen: Google Sheets → OpenAI-sammanfattningar → Discord-sammandrag
Det här n8n-arbetsflödet körs dagligen enligt schema och behandlar ditt Google Sheet som “single source of truth” för vilka flöden du bryr dig om. Det läser RSS-URL:er från Sheets, hämtar de senaste inläggen från varje flöde och filtrerar bort allt som är äldre än ungefär ett dygn så att gårdagens innehåll inte fortsätter dyka upp. Därefter kombinerar det kvarvarande poster till en enda batch, ber en AI-agent (OpenAI Chat Model) att sammanfatta gruppen i ett felfritt, lättläst format och publicerar det färdiga sammandraget i Discord. Till sist konverterar det varje post till Markdown och skriver in den i en andra Google Sheets-fil så att du får ett sökbart arkiv för framtida inlägg, nyhetsbrev eller rapportering.
Arbetsflödet startar med en 24-timmars Schedule Trigger och en flödesslista hämtad från Google Sheets. Sedan hämtar och rensar det poster, genererar en AI-sammanfattning, skickar ett Discord-meddelande och loggar varje post tillbaka till Sheets med en kort fördröjning för att undvika rate limits.
Vad som förändras: före vs. efter
| Det här tar bort | Effekten du märker |
|---|---|
|
|
Effekt i verkligheten
Säg att du bevakar 12 RSS-flöden. Manuellt kanske du lägger cirka 5 minuter per flöde på att skanna rubriker och välja vad som är värt att posta, plus ytterligare 20 minuter på att formatera en Discord-uppdatering, alltså runt 90 minuter per dag om du tar det på allvar. Med det här arbetsflödet underhåller du flödesslistan i Google Sheets (kanske 5 minuter när du lägger till eller tar bort källor), sedan sköter den schemalagda körningen hämtning, sammanfattning och Discord-inlägg. Oftast behöver du bara läsa sammandraget, vilket tar några minuter.
Krav
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra RSS-flödes-URL:er och arkiv.
- Discord för att publicera det dagliga sammandragsmeddelandet.
- OpenAI API-nyckel (hämta den i din OpenAI API-dashboard).
Kunskapsnivå: Nybörjare. Du kopplar konton, klistrar in en API-nyckel och väljer vilka Sheets och vilken Discord-kanal som ska användas.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Flödet i arbetsflödet
Ett dagligt schema drar igång det. Arbetsflödet körs var 24:e timme med n8n:s Schedule Trigger, så ditt sammandrag kommer konsekvent utan att någon behöver komma ihåg att trycka på en knapp.
Google Sheets levererar flödesslistan. Ett steg för “flödeskällor” hämtar RSS-URL:er från ett centralt Sheet och delar sedan upp dem i en kö så att varje flöde bearbetas utan att du behöver jonglera flikar.
RSS-poster rensas och avdupliceras baserat på tid. Arbetsflödet läser varje RSS-ström, mappar fälten det behöver (titel, länk, datum) och filtrerar bort poster som är äldre än cirka 24 timmar. Det är här en stor del av röran försvinner.
OpenAI genererar sammandraget, Discord tar emot det. Nya poster aggregeras till ett paket, sammanfattas via en AI-agent (OpenAI Chat Model) och skickas som ett formaterat Discord-meddelande som folk faktiskt läser.
Du kan enkelt justera sammanfattningsformatet så att det matchar din tonalitet eller ändra regeln “senaste 24 timmarna” till ett annat tidsfönster utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera den schemalagda triggern
Det här arbetsflödet startar enligt ett tidsstyrt schema och förbereder direkt listan med RSS-källor som ska läsas.
- Lägg till eller öppna Scheduled Start och ställ in ert önskade schema.
- Koppla Scheduled Start till Define Feed Sources enligt arbetsflödet.
- I Define Feed Sources skapar ni fält för era RSS-URL:er och eventuell metadata ni planerar att använda (t.ex. källnamn, kategori).
Steg 2: Koppla RSS-tolkning och distribution av objekt
Dessa noder distribuerar och itererar igenom varje feed-källa innan RSS-data läses.
- Säkerställ att Define Feed Sources är kopplad till Distribute Entries.
- Koppla Distribute Entries till Iterate Feed List.
- Från Iterate Feed List kopplar ni den andra utgången till Read RSS Stream så att varje feed-URL läses.
- Bekräfta att Read RSS Stream loopar tillbaka till Iterate Feed List för batchbearbetning.
Steg 3: Mappa och filtrera senaste objekt
Normalisera fält och filtrera bort äldre eller duplicerade poster före sammanfattning och batchning.
- Koppla Iterate Feed List till Map Data Fields och mappa RSS-fält till ett konsekvent schema.
- Koppla Map Data Fields till Filter Recent Items för att tillämpa er logik för aktualitet.
- Filter Recent Items skickar utdata parallellt till både Combine Items och Batch Iterator.
Steg 4: Bygg sammanfattningen och AI-orkestreringen
Aggreggera de filtrerade posterna och använd AI-agenten för att skapa en sammanfattning och kommunicera via verktyg.
- Koppla Combine Items till Aggregate Summary Logic för att bygga en samlad datastruktur.
- Koppla Aggregate Summary Logic till AI Orchestrator för att generera sammanfattningen.
- Säkerställ att OpenAI Chat Engine är ansluten som språkmodell för AI Orchestrator och lägg till inloggningsuppgifter i OpenAI Chat Engine.
- Säkerställ att Discord Messaging Tool är ansluten som ett verktyg till AI Orchestrator och lägg till Discord-inloggningsuppgifter i AI Orchestrator (inte i verktyget).
Steg 5: Formatera, lagra och begränsa utdata
Batcha objekt för uppdateringar i kalkylark, formatera innehåll och lägg in en fördröjning för att undvika rate limits.
- Från den parallella grenen skickar ni utdata från Batch Iterator till Markdown Formatter.
- Koppla Markdown Formatter till Update News Sheet för att lagra resultat.
- Koppla Update News Sheet till Delay Processing, och sedan tillbaka till Batch Iterator för att strypa skrivningar.
Steg 6: Testa och aktivera ert arbetsflöde
Verifiera dataflödet från RSS-feeds till sammanfattningar och uppdateringar i kalkylarket innan ni slår på det.
- Klicka på Execute Workflow för att köra ett manuellt test från Scheduled Start.
- Bekräfta att Read RSS Stream returnerar objekt, att Filter Recent Items delar upp flödet och att Update News Sheet tar emot formaterad utdata.
- Kontrollera att AI Orchestrator skapar en sammanfattning och att Discord Messaging Tool kan posta om det är konfigurerat.
- När allt fungerar växlar ni arbetsflödet till Active för schemalagda produktionskörningar.
Se upp för
- Google Sheets-autentisering kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera först n8n-autentiseringen för Google Sheets och sheetets delningsinställningar.
- Om du använder Wait-noder eller extern bearbetning varierar tajmingen. Öka väntetiden om efterföljande steg misslyckas för att skrivningen till arkiv-sheetet inte är klar än.
- Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du att redigera output för alltid.
Vanliga frågor
Cirka 30 minuter om dina konton för Sheets, Discord och OpenAI är klara.
Ja. Ingen kodning krävs, men du behöver klistra in en API-nyckel och välja rätt Sheets och Discord-kanal.
Ja. n8n har ett gratis alternativ för egen drift 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 kostnader för OpenAI API, som vanligtvis bara är några cent per sammandrag.
Två alternativ: n8n Cloud (hanterat, enklaste uppsättningen) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och kör n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serverhantering.
Du kan justera regeln “senaste 24 timmarna” i logiken Filter Recent Items, och du kan ändra layouten för sammandraget i prompten för AI Orchestrator så att den matchar din ton. Om du inte vill använda Google Sheets som flödeskälla kan du ersätta steget Define Feed Sources med en Webhook som tar emot nya RSS-URL:er från ett formulär. Vanliga anpassningar är separata sammandrag per kategori, publicering till flera Discord-kanaler och att lagra extra fält (taggar, författare, ämne) i arkiv-sheetet.
Oftast beror det på att OAuth-åtkomst har löpt ut eller att sheetet inte är delat med rätt Google-konto. Återanslut Google Sheets-autentiseringen i n8n och bekräfta sedan att kalkylbladets och worksheetens ID:n inte har ändrats. Om det bara fallerar vid skrivningar kan det också vara ett behörighetsproblem (endast läsbehörighet) eller en kvot-/rate limit när du försöker logga för många rader på en gång.
Om du kör egen drift beror kapaciteten främst på din server och hur många flöden du kör; dussintals flöden per dag är normalt.
Ofta, ja, särskilt när du vill batcha, filtrera på publiceringsdatum och få en kombinerad sammanfattning istället för ett meddelande per post. n8n gör det också enklare att spara ett komplett arkiv tillbaka i Google Sheets samtidigt som du styr takten med ett Wait-steg, vilket hjälper dig att slippa problem med rate limits. Zapier och Make kan lösa delar av detta, men flersteglogik och att iterera genom flöden blir lätt pilligt och kan bli dyrt när volymen växer. Om du bara behöver “ny RSS-post → posta till Discord” kan de verktygen gå snabbare att sätta upp. Prata med en automationsexpert om du vill ha en snabb rekommendation baserat på antal flöden och hur du vill posta.
När det här väl rullar får din Discord en daglig signal istället för konstant brus. Och ditt Google Sheets-arkiv blir i det tysta en innehållstillgång du kan återanvända när du behöver ett inlägg, en recap eller en del till nyhetsbrevet.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.