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

Google Sheets + Google Tasks för EU-policybevakning

Rickard Andersson Partner, Nodenordic.se

Du missar inte EU:s hållbarhetsuppdateringar för att du inte bryr dig. Du missar dem för att de är begravda i portaler, PDF:er, utskottsidor och listor med ”gårdagens ärenden” som aldrig slutar förändras.

Hållbarhetskonsulter känner av smärtan med automatiserad EU-policybevakning först. Men complianceansvariga och drift-/operationschefer fastnar i samma loop. Det här arbetsflödet gör skanning till en enkel triagelista, så att du kan se vad som spelar roll på några minuter.

I stället för att läsa allt hämtar du automatiskt nya ärenden, klassificerar vad som faktiskt är hållbarhetsrelaterat med OpenAI, loggar det i Google Sheets och skapar Google Tasks för uppföljning.

Så fungerar automatiseringen

Här är hela arbetsflödet du kommer att sätta upp:

n8n Workflow Template: Google Sheets + Google Tasks för EU-policybevakning

Varför detta är viktigt: ligga steget före EU:s hållbarhetsärenden

EU-policybevakning låter enkelt tills du faktiskt gör den. Ena dagen är det en post om ”planerad debatt” med vag formulering, nästa dag är det en PDF som ligger gömd bakom en ärendesida, och när du har klickat dig igenom tre utskott har du tappat tråden. Värst är den mentala belastningen. Du ställer hela tiden frågan: ”Är det här relevant för vår CSRD-omfattning eller inte?” och den frågan tar fokus från verkligt arbete som riskplanering, leverantörsdialog eller kundstrategi. Och ärligt talat: manuell bevakning skalar inte; när volymen ökar skapar processen fel.

Friktionen bygger på. Så här faller det isär i praktiken.

  • Du lägger cirka 30–60 minuter per dag på att öppna portaler, leta efter gårdagens ärenden och försöka förstå vad som har ändrats.
  • Relevanta ärenden missas eftersom titeln låter generisk tills du läser detaljerna.
  • Även när du hittar något viktigt hamnar det ofta i någons webbläsarflikar i stället för i en delad logg.
  • Uppföljningen blir inkonsekvent eftersom ”vi borde granska detta” inte blir en tilldelad uppgift med förfallodatum.

Det du bygger: automatiserad EU-hållbarhetstriage till Sheets + Tasks

Det här arbetsflödet övervakar Europaparlamentets lagstiftningsportal efter poster från föregående dag, hämtar relevanta HTML-segment och extraherar nyckelfält som titel, utskott, föredragande och PDF-länken. Därefter kör det varje ärende genom en OpenAI-klassificerare som svarar på en enkel fråga: är detta direkt kopplat till hållbarhetsämnen som miljö, cirkulär ekonomi eller åtgärder mot föroreningar? Poster som inte godkänns filtreras bort tyst. Poster som godkänns loggas i ett Google Sheet (er gemensamma sanningskälla) och omvandlas till en Google Task så att någon faktiskt granskar lagstiftningen. Du får en kort, fokuserad lista i stället för ett brusigt flöde.

Arbetsflödet startar med en manuell trigger (eller ett schema om du vill). Därifrån skrapar det, parsar, normaliserar PDF-länkar och bearbetar poster i batchar. Till sist förgrenar det: ”ja”-poster går till Google Sheets och Google Tasks, medan allt annat ignoreras.

Det du bygger

Förväntade resultat

Säg att du kontrollerar portalen 5 dagar i veckan och går igenom cirka 20 ärenden per dag. Manuellt kan även en snabb översikt plus att kopiera detaljer till ett ark ta runt 3 minuter per post, så du hamnar på ungefär en timme om dagen – och det är innan du skapar uppföljningsuppgifter. Med det här arbetsflödet triggar du det på under en minut, låter det bearbeta i bakgrunden och lägger sedan cirka 10 minuter på att granska bara ”ja”-posterna i Google Sheets och göra triage i Google Tasks. Det är nästan en timme tillbaka på intensiva dagar.

Innan du börjar

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för en delad bevakningslogg.
  • Google Tasks för att skapa granskningspunkter automatiskt.
  • OpenAI API-nyckel (hämta den i din OpenAI-dashboard)

Svårighetsnivå: Medel. Du kopplar Google-inloggningar, klistrar in en API-nyckel och gör små ändringar för att matcha ditt bevakningsark och din uppgiftslista.

Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

En manuell körning (eller ett schema) sätter igång allt. I mallen startar du när du vill, vilket är bra medan du validerar resultat. Efter det byter de flesta till ett dagligt schema så att det körs utan att någon behöver komma ihåg det.

Arbetsflödet hämtar gårdagens portalposter och extraherar ärendedetaljer. Det hämtar relevanta HTML-block, parsar ut fält som titel och utskott och normaliserar sedan PDF-länkar så att URL:erna blir konsekventa och användbara senare.

Varje ärende bearbetas i batchar och klassificeras av OpenAI. n8n loopar igenom poster, frågar modellen om ämnet matchar dina hållbarhetskriterier och fångar ”ja/nej”-resultatet tillsammans med posten så att efterföljande steg kan fatta tydliga beslut.

Godkända poster går till Google Sheets och Google Tasks. En sammanslagning binder ihop postdata och AI-resultatet, ett ”if”-villkor förgrenar bara de relevanta, och sedan loggar arbetsflödet raden i Sheets och skapar en uppgift i din valda uppgiftslista.

Du kan enkelt ändra hållbarhetskriterierna för att fånga fler (eller färre) poster utifrån dina behov. Se hela implementeringsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera den manuella triggern

Starta arbetsflödet med en manuell trigger så att ni kan testa hela flödet för scraping och klassificering från start till mål.

  1. Lägg till och öppna Manual Execution Start.
  2. Lämna standardinställningarna som de är (inga fält krävs).
  3. Valfritt: behåll Flowpast Branding i canvasen som referens.

Steg 2: koppla kedjan för datahämtning och HTML-tolkning

Det här segmentet hämtar EU-lagstiftningsposter, extraherar HTML-block och tolkar strukturerade fält.

  1. I Fetch Prior Day Records ställer ni in URL till =https://oeil.secure.europarl.europa.eu/oeil/en/search?sessionDay.allDays=false&sessionDay.day={{$now.minus(18,'days').format('yyyyMMdd')}}&sessionDay.type=ALL.
  2. I Pull HTML Segments ställer ni in Operation till extractHtmlContent och säkerställer att extraktionsnyckeln Blocks använder CSS-selektorn .erpl_document-wrapper med Return Array aktiverat.
  3. I Parse Segment Fields ställer ni in Operation till extractHtmlContent, Data Property Name till Blocks och konfigurerar extraktionsnycklarna för Reference Number, Committee, Rapporteur, Title/Description, PDF Link (attribut href) samt Date.

Tips: om ingen data kommer igenom, verifiera att CSS-selektorerna fortfarande matchar källsidans markup.

Steg 3: normalisera länkar och batcha poster

Förbered formatet för PDF-länken och iterera varje post genom AI- och merge-pipelinen.

  1. I Normalize PDF Links behåller ni Include Other Fields aktiverat och ställer in tilldelningen för PDF Link till =https://oeil.secure.europarl.europa.eu{{ $json['PDF Link '] }}.
  2. Lägg till Iterate Records Batch efter Normalize PDF Links för att bearbeta poster en och en (standardinställningar för batch).
  3. Bekräfta att Iterate Records Batch routar till både Sustainability Classifier och Combine Streams som visas i arbetsflödet.

⚠️ Vanlig fallgrop: Om ni tar bort batch-noden kan merge-logiken i Combine Streams misslyckas med att aligna AI-resultatet med originalposten.

Steg 4: konfigurera AI-klassificering och merge

Det här steget klassificerar varje post och mergar AI-svaret tillbaka in i originaldatan.

  1. Öppna Sustainability Classifier och ställ in Model till gpt-4-turbo.
  2. I Sustainability Classifier bekräftar ni att meddelandeinnehållet använder {{ $json['Title/Description'] }} och {{ $json["Committee"] }}, och behåller JSON Output aktiverat.
  3. Inloggningsuppgifter krävs: koppla era OpenAI-credentials i Sustainability Classifier.
  4. I Capture AI Result ställer ni in sustainability till ={{ $json.message.content.answer }}.
  5. I Combine Streams ställer ni in Mode till combineBySql för att sammanfoga AI-resultatet med originalposten.

Steg 5: konfigurera routning och utdataåtgärder

Endast hållbarhetsrelaterade poster passerar den villkorliga grenen och skrivs sedan till Sheets och Tasks parallellt.

  1. I Branch Condition konfigurerar ni villkoret som Left Value ={{ $json.sustainability }} är lika med yes.
  2. Bekräfta den parallella routningen: Branch Condition skickar utdata till både Log Sustainable Procedures och Create Google Task Item parallellt.
  3. I Log Sustainable Procedures behåller ni Operation inställd på append och mappar kolumnerna till JSON-uttrycken som visas (t.ex. ={{ $json['Title/Description'] }}).
  4. Inloggningsuppgifter krävs: koppla era googleSheetsOAuth2Api-credentials i Log Sustainable Procedures.
  5. I Create Google Task Item ställer ni in Task till [YOUR_ID] och Title till =Study {{ $json['Reference Number'] }} - EU Legislation.
  6. I Create Google Task Item ställer ni in Notes till =Title: {{ $json['Title/Description'] }} Reference Number: {{ $json['Reference Number'] }} Committee: {{ $json.Committee }} Rapporteur: {{ $json.Rapporteur }} PDF Link: {{ $json['PDF Link '] }} Date: {{ $json.Date }} och Status till needsAction.
  7. Inloggningsuppgifter krävs: koppla era Google Tasks-credentials i Create Google Task Item.

⚠️ Vanlig fallgrop: Fältnamnet PDF Link innehåller ett tab-tecken; behåll det exakt som konfigurerat, annars fylls inte länken i.

Steg 6: testa och aktivera ert arbetsflöde

Kör ett manuellt test för att validera HTML-tolkningen, AI-klassificeringen och de parallella utdataflödena.

  1. Klicka på Execute WorkflowManual Execution Start.
  2. Verifiera att Fetch Prior Day Records returnerar HTML och att Parse Segment Fields ger strukturerade fält som utdata.
  3. Kontrollera att Sustainability Classifier returnerar JSON med {"answer":"yes"} eller {"answer":"no"}.
  4. För “yes”-poster: bekräfta att Log Sustainable Procedures lägger till en rad och att Create Google Task Item skapar en uppgift.
  5. När allt är verifierat, ställ om arbetsflödet till Active för användning i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • Inloggningar för Google Sheets och Google Tasks kan löpa ut eller kräva särskilda behörigheter. Om det slutar fungera, kontrollera först din Google-anslutning i n8n under Credentials.
  • Om EU-portalens sidstruktur ändras kan HTML-parsningen börja returnera tomma fält. När titlar eller PDF-länkar blir tomma, inspektera den hämtade HTML:en och uppdatera selektorerna i pars-noderna.
  • Standardprompter för AI är generiska. Lägg in dina definitioner (CSRD-ämnen, branschexkluderingar, ”räkna som hållbarhet om…”) tidigt, annars lägger du eftermiddagarna på att tveka kring klassificeringen.

Snabba svar

Hur lång tid tar det att sätta upp den här automatiseringen för EU-policybevakning?

Cirka 30 minuter om dina Google- och OpenAI-konton är redo.

Krävs kodning för den här EU-policybevakningen?

Nej. Du kopplar främst konton och klistrar in en API-nyckel. Den enda ”finjusteringen” är att välja vilka fält du vill spara och hur strikt AI-filtret ska vara.

Är n8n gratis att använda för det här arbetsflödet för EU-policybevakning?

Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volymer. Du behöver också räkna in OpenAI API-användning (ofta några dollar i månaden vid måttlig volym).

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

Två alternativ: n8n Cloud (hanterad, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa den här automatiseringen för EU-policybevakning för andra användningsfall?

Ja, och det bör du. De flesta anpassningar görs i prompten för hållbarhetsklassificeraren och i förgreningsvillkoret: du kan utöka bortom ”miljö/cirkulär ekonomi/föroreningar” till att inkludera branschämnen (kemikalier, förpackningar, transport), skärpa den till bara CSRD-relevanta poster eller skicka ”kanske”-poster till ett separat ark. Du kan också ändra Google Tasks-steget för att skriva till en annan uppgiftslista eller skapa uppgifter endast för högprioriterade utskott.

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

Oftast beror det på att Google-auktoriseringen har löpt ut eller att fel konto är anslutet. Återanslut Google Sheets-inloggningen i n8n och bekräfta sedan att Sheet ID och fliknamn matchar exakt. Kontrollera också delningsbehörigheter om arket ligger i en delad Drive.

Vilken volym kan den här automatiseringen för EU-policybevakning hantera?

De flesta små team kör detta dagligen utan att behöva tänka på några gränser.

Är den här automatiseringen för EU-policybevakning bättre än att använda Zapier eller Make?

Ofta, ja. Det här arbetsflödet tjänar på batchning, sammanslagning av flöden och villkorsstyrd förgrening, och n8n hanterar det snyggt utan att förvandlas till en labyrint av betalda ”tasks”. Du får också ett alternativ för egen hosting, vilket spelar roll när du vill köra mer utan att fakturan klättrar varje vecka. Zapier eller Make kan fortfarande vara bra om du bara behöver en enkel ”RSS till ark”-lösning och inte bryr dig om strikt AI-filtrering. Men när du vill ha konsekvent parsning plus ett AI-beslut plus två utgångar (Sheets och Tasks) är n8n oftast det lugnare valet. Vill du ha en snabb rekommendation baserad på din volym och teamsetup, prata med en automationsexpert.

Sätt upp det här en gång och låt sedan arbetsflödet sköta bevakningen. Du lägger tiden på att fatta beslut, inte på att leta länkar.

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