Du öppnar ett EU-”nyhets”-mejl och det är 30 länkar du aldrig kommer klicka på. Hälften är irrelevanta, några är dubbletter och den enda uppdateringen du faktiskt behövde är begravd någonstans i mitten.
Den här EU-nyhetssammanfattning-automationen träffar policyanalytiker hårdast, men konsulter som följer hållbarhetsuppdateringar och grundare som gör veckovisa strategisamtal känner av den också. Målet är enkelt: en daglig briefing du kan lita på, med färre dubbletter och tydligare relevans.
Det här n8n-flödet hämtar Europeiska unionens råds pressmeddelanden varje morgon, filtrerar dem efter ditt ämne med AI, mejlar dig en korrekt formaterad HTML-sammanfattning och skickar en ljudrecap via Telegram så att du kan lyssna i stället för att skumma.
Så fungerar automationen
Hela n8n-flödet, från trigger till slutlig output:
n8n Workflow Template: Gmail + Telegram: daglig EU-nyhetssammanfattning
flowchart LR
subgraph sg0["Scheduled Morning Flow"]
direction LR
n1@{ icon: "mdi:play-circle", form: "rounded", label: "Scheduled Morning Trigger", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Fetch EU RSS Updates", pos: "b", h: 48 }
n4@{ icon: "mdi:message-outline", form: "rounded", label: "Dispatch Email Digest", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Retrieve Archived Records", pos: "b", h: 48 }
n6["<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/merge.svg' width='40' height='40' /></div><br/>Merge Archived IDs"]
n7@{ icon: "mdi:cog", form: "rounded", label: "Aggregate Archived IDs", pos: "b", h: 48 }
n8@{ icon: "mdi:cog", form: "rounded", label: "Fetch Recent News", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Duplicate Check", pos: "b", h: 48 }
n13["<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/>Build HTML Digest"]
n14@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Engine", pos: "b", h: 48 }
n15@{ icon: "mdi:robot", form: "rounded", label: "Compose Voice Summary", pos: "b", h: 48 }
n16["<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/telegram.svg' width='40' height='40' /></div><br/>Send Audio Summary"]
n17@{ icon: "mdi:cog", form: "rounded", label: "Synthesize Voice Audio", pos: "b", h: 48 }
n18@{ icon: "mdi:cog", form: "rounded", label: "Collect Headlines", pos: "b", h: 48 }
n2 --> n6
n8 --> n13
n8 --> n18
n5 --> n7
n18 --> n15
n14 -.-> n15
n1 --> n8
n1 --> n2
n1 --> n5
n6 --> n12
n6 --> n13
n17 --> n16
n7 --> n6
n13 --> n4
n15 --> n17
end
subgraph sg1["Topic Relevance Clas Flow"]
direction LR
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Relevance Gate", pos: "b", h: 48 }
n9@{ icon: "mdi:cog", form: "rounded", label: "Insert News Entry", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "Topic Relevance Classifier", pos: "b", h: 48 }
n11@{ icon: "mdi:swap-vertical", form: "rounded", label: "Topic Settings", pos: "b", h: 48 }
n3 --> n9
n11 --> n10
n10 --> n3
end
subgraph sg2["Flow 3"]
direction LR
n0@{ icon: "mdi:swap-vertical", form: "rounded", label: "Utility: Batch News Loop", pos: "b", h: 48 }
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 n1 trigger
class n15,n10 ai
class n14 aiModel
class n12,n3 decision
class n13 code
classDef customIcon fill:none,stroke:none
class n6,n13,n16 customIcon
Problemet: EU-uppdateringar är brusiga, repetitiva och lätta att missa
Att hålla koll på EU:s pressmeddelanden låter enkelt tills det blir en del av din morgonrutin. Du hoppar mellan RSS-poster, öppnar flikar, skannar rubriker och sitter ändå och tvekar kring vad som är viktigt. Sedan börjar dubbletterna. Samma nyhet dyker upp i flera format, eller så glömmer du att du sparade den förra veckan, så du läser den igen ändå. Under tiden blir din ”snabba koll” till ungefär en timme av kontextbyten, vilket är precis den typ av arbete som dränerar fokus innan dagen ens har börjat.
Det går snabbt att bygga på. Så här faller det i praktiken.
- Du slösar tid på att läsa artiklar som inte har med ditt faktiska ämne att göra, som hållbarhet, handel eller digital politik.
- Dubblettlänkar smyger in i dina anteckningar eftersom ”jag tror jag såg det här redan” inte är ett pålitligt system.
- Viktiga besked missas eftersom de kommer i en flod, inte i en kuraterad lista.
- Även när du hittar rätt saker är det ytterligare ett manuellt jobb att göra dem till en delbar sammanfattning.
Lösningen: en AI-filtrerad daglig sammanfattning skickad till Gmail, plus Telegram-ljud
Det här flödet körs varje morgon (som standard kl. 09:00) och hämtar de senaste pressmeddelandena från Europeiska unionens råds RSS-flöde. Innan något når din inkorg kontrollerar det vad du redan har behandlat genom att slå upp sparade poster i en n8n-datatabell och sedan slå ihop dessa ID:n för att fånga dubbletter tidigt. Varje ny artikel skickas genom en OpenAI-baserad relevansklassificerare med din ämnesbeskrivning (redigerbar i området ”Topic Config”/ämnesinställningar). Bara poster som matchar ditt ämne sparas, grupperas till ett korrekt formaterat HTML-nyhetsbrev och skickas via Gmail. Till sist samlar flödet dagens rubriker, genererar en kort röstrecap och skickar en ljudsammanfattning till Telegram med ElevenLabs.
Flödet startar via en schemalagd trigger, läser sedan RSS-uppdateringar och jämför dem mot din arkiverade lista. Efter att AI har avgjort vad som är relevant bygger n8n en mejlfärdig sammanfattning och levererar den i Gmail, samtidigt som Telegram får en ljudrecap som du kan spela upp på språng.
Det du får: automation vs. resultat
| Vad flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du följer EU:s hållbarhetspolitik och att flödet producerar cirka 25 poster en intensiv dag. Manuellt blir även bara 2 minuter per post för att öppna, skumma och avgöra relevans ungefär 50 minuter, plus ytterligare 10 minuter för att kopiera länkar till ett delbart mejl. Med den här automationen lägger du cirka 5 minuter på att justera ämnet en gång, och sedan läser du varje dag bara sammanfattningen i Gmail och lyssnar på en 2–3 minuters ljudrecap i Telegram. Det är nästan en timme tillbaka de dagar då nyhetsflödet spikar.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Gmail för att skicka mejlsammanfattningen.
- Telegram för att ta emot ljudrecapen.
- OpenAI API-nyckel (hämta den i din OpenAI-dashboard).
- ElevenLabs API-nyckel (hämta den i dina kontoinställningar hos ElevenLabs).
Svårighetsgrad: Medel. Du kopplar konton, klistrar in API-nycklar och redigerar en ämnesbeskrivning samt mottagarinställningar.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
En schemalagd morgontrigger kör flödet. Som standard triggas det kl. 09:00, så att din sammanfattning landar ungefär när du planerar dagen.
RSS-poster hämtas och jämförs sedan mot ditt arkiv. n8n läser Europeiska unionens råds RSS-flöde, hämtar tidigare sparade poster från en n8n-datatabell, slår ihop ID:n och filtrerar bort allt du redan har behandlat. Inga ”läste jag inte det här i går?”-ögonblick.
AI avgör vad som är relevant för ditt ämne. Din ämnesbeskrivning ligger i en inställnings-/redigeringsnod (ofta märkt som ”Topic Settings” eller ”Topic Config”), och en OpenAI-driven klassificerare granskar varje post. Relevanta artiklar godkänns och sparas för dagen.
Output levereras i två format. Ett kodsteg bygger en formaterad HTML-sammanfattning som skickas via Gmail, medan en AI-agent skriver en kort talad recap som ElevenLabs gör om till ljud och Telegram levererar till dig.
Du kan enkelt justera ämnesdefinitionen för att följa AI-reglering, handel, energi eller vad du än behöver. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera den schemalagda triggern
Ställ in det dagliga schemat som startar RSS-hämtning, arkivsökning och frågan mot senaste nyheter parallellt.
- Lägg till och öppna Scheduled Morning Trigger.
- Ställ in schemaregeln så att den triggar vid timme
9(som konfigurerat i noden). - Bekräfta att Scheduled Morning Trigger skickar output till Fetch Recent News, Fetch EU RSS Updates och Retrieve Archived Records parallellt.
Steg 2: anslut datakällor och arkivsökning
Hämta de senaste RSS-posterna, nyligen lagrade poster och arkiverade ID:n för att stödja avduplicering och bygga sammanställningen.
- I Fetch EU RSS Updates ställer ni URL till
https://www.consilium.europa.eu/en/rss/pressreleases.ashx. - Öppna Retrieve Archived Records och välj rätt Data Table i dataTableId (detta krävs för arkivsökningen).
- Öppna Fetch Recent News och välj rätt Data Table i dataTableId.
- I Fetch Recent News behåller ni filtret createDate med
{{ $now.minus(5,'days').toFormat('yyyy-MM-dd') }}för att hämta de senaste 5 dagarna. - Bekräfta att Retrieve Archived Records matar Aggregate Archived IDs och därefter Merge Archived IDs.
- Verifiera att Fetch EU RSS Updates också är ansluten till Merge Archived IDs.
Steg 3: konfigurera ämnesfiltrering och avduplicering
Definiera ämnet hållbarhet, klassificera relevans med AI och förhindra att dubbletter infogas.
- I Topic Settings ställer ni topic_name till
SUSTAINABILITYoch behåller den angivna texten i topic_description. - Öppna Topic Relevance Classifier och säkerställ att modellen är satt till
gpt-4o-minimed temperature0.3. - Bekräfta att meddelandeinnehållet inkluderar kravet på JSON-svar och använder uttryck för titel, innehåll och kategorier (t.ex.
{{ $('Loop Over Items1').item.json.title }}). - Inloggningsuppgifter krävs: Anslut era OpenAI-inloggningsuppgifter i Topic Relevance Classifier.
- I Relevance Gate behåller ni booleska villkoret
{{ $json.message.content.parseJson().is_relevant }}lika medtrue. - I Duplicate Check behåller ni villkoret
{{ $json.guids.includes($json.guid) }}satt till false.
Steg 4: lagra nya poster och bygg e-postsammanställningen
Infoga nyligen klassificerade poster i er Data Table och sammanställ HTML-mejlet.
- Öppna Insert News Entry och välj rätt Data Table i dataTableId.
- Verifiera att fältmappningarna använder uttryck som
{{ $('Loop Over Items1').item.json.guid }}och{{ $now.toFormat('yyyy-MM-dd') }}för createDate. - Bekräfta att Fetch Recent News skickar output till både Build HTML Digest och Collect Headlines parallellt.
- I Build HTML Digest behåller ni den fullständiga HTML-mallen i jsCode för att generera
html- ochsubject-output. - Säkerställ att Merge Archived IDs skickar output till både Duplicate Check och Build HTML Digest parallellt.
Steg 5: konfigurera e-post- och ljudutgångar
Skicka HTML-sammanställningen via Gmail och skapa en uppläst sammanfattning via OpenAI + ElevenLabs + Telegram.
- I Dispatch Email Digest ställer ni sendTo till er måladress (ersätt
[YOUR_EMAIL]). - Behåll message satt till
{{ $json.html }}och subject satt till{{ $json.subject }}. - Inloggningsuppgifter krävs: Anslut era Gmail-inloggningsuppgifter i Dispatch Email Digest.
- I Collect Headlines behåller ni aggregeringen så att den output:ar titles från fältet title.
- I Compose Voice Summary behåller ni text satt till
{{ $json.titles.toJsonString() }}. - Öppna OpenAI Chat Engine och säkerställ att modellen är satt till
gpt-4.1-mini. - Inloggningsuppgifter krävs: Anslut era OpenAI-inloggningsuppgifter i OpenAI Chat Engine. Den här noden levererar språkmodellen för Compose Voice Summary.
- I Synthesize Voice Audio ställer ni text till
{{ $json.output }}och väljer önskat röst-ID. - Inloggningsuppgifter krävs: Anslut era ElevenLabs-inloggningsuppgifter i Synthesize Voice Audio.
- I Send Audio Summary ställer ni chatId till
[YOUR_ID]och behåller caption somEU Sustainability News Digest - {{ $now.toFormat('yyyy-MM-dd') }}. - Inloggningsuppgifter krävs: Anslut era Telegram Bot-inloggningsuppgifter i Send Audio Summary.
Steg 6: testa och aktivera ert workflow
Kör ett manuellt test för att validera end-to-end-skapandet av sammanställningen och ljudleveransen innan ni aktiverar det dagliga schemat.
- Klicka på Execute Workflow för att köra Scheduled Morning Trigger manuellt.
- Verifiera att Build HTML Digest output:ar fälten
htmlochsubjectoch att Dispatch Email Digest skickar mejlet. - Bekräfta att Compose Voice Summary genererar ett kort stycke och att Synthesize Voice Audio producerar ljud innan Send Audio Summary publicerar det till Telegram.
- När allt fungerar växlar ni workflowet till Active så att Scheduled Morning Trigger körs dagligen.
Vanliga fallgropar
- Gmail-inloggningar kan löpa ut eller kräva särskilda behörigheter. Om något skapar fel, kontrollera först Gmail-nodens anslutna konto och OAuth-status i n8n.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder misslyckas på grund av tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera output för alltid.
Vanliga frågor
Cirka 30 minuter om du redan har dina API-nycklar.
Nej, ingen kodning krävs. Du kopplar Gmail/Telegram och redigerar ämnesinställningarna och mottagarfälten.
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-användning och ElevenLabs röstgenerering.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och hanterar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja. Uppdatera ämnesbeskrivningen i delen ”Topic Settings/Topic Config” i flödet så börjar OpenAI:s relevansklassificerare att poängsätta artiklar mot det nya fokuset. Vanliga justeringar är att snäva in definitionen (specifika nyckelord och exkluderingar), ändra schematid och justera HTML-sammanfattningens layout i kodnoden.
Oftast beror det på utgången eller återkallad OAuth-åtkomst. Återanslut Gmail-uppgiften i n8n och bekräfta sedan att Gmail-noden pekar på den uppdaterade uppgiften och att mottagaradressen är giltig. Om du använder ett Google Workspace-konto kan även administratörens säkerhetsinställningar blockera åtkomst, så kontrollera det härnäst.
Mer än tillräckligt för ett dagligt RSS-flöde; den praktiska gränsen är din n8n-körningskvot (i Cloud) och din OpenAI-/ElevenLabs-användning, inte själva flödet.
Ofta, ja, eftersom det här flödet bygger på flersteglogik: avduplicering mot ett sparat arkiv, loopning genom poster och en AI-relevansspärr innan två olika output skapas. n8n hanterar den typen av förgreningar snyggt, och du kan köra egen drift för högre volym utan att betala per litet steg. Zapier eller Make kan ändå fungera om du bara behöver ett grundläggande ”RSS till mejl”-flöde med minimal filtrering. Ljudrecapen är också mycket enklare att orkestrera när du kan kontrollera hela sekvensen på ett ställe. Om du vill ha en second opinion på din setup, prata med en automationsexpert.
Sätt upp det här en gång så blir dina morgnar lugnare. Flödet sköter den repetitiva filtreringen och formateringen så att du kan fokusera på vad EU-uppdateringarna faktiskt betyder.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.