Efterlevnadskontroller går oftast sönder på det minst dramatiska sättet som möjligt. En regel ändras, ingen märker det på en vecka, och sedan sitter du och gräver i gamla mejl för att försöka bevisa att ni “övervakade” hela tiden.
Det är här Postgres-efterlevnadsloggar gör som mest nytta. Ops-ansvariga vill ha färre bränder, complianceansvariga vill ha en revisionskedja som inte faller isär, och grundare vill sluta betala folk för att copy-pasta uppdateringar in i kalkylblad.
Det här arbetsflödet hämtar regulatoriska uppdateringar, kontrollerar dem mot era aktiva avtal i Postgres, riskpoängsätter, mejlar rätt personer och skriver en korrekt formaterad historik till Google Sheets. Du får se vad det löser, hur det körs och vad du behöver för att lansera det.
Så fungerar den här automationen
Se hur det här löser problemet:
n8n Workflow Template: Postgres till Google Sheets: regelefterlevnadsloggar som håller
flowchart LR
subgraph sg0["Daily Compliance Check Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Daily Compliance Check", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Compliance Settings", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>Monitor EU Regulations"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Monitor US Federal Register"]
n4["<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/>Monitor UK Legislation"]
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/postgres.svg' width='40' height='40' /></div><br/>Get Active Contracts"]
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/code.svg' width='40' height='40' /></div><br/>Analyze Compliance Impact"]
n7@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter Critical Compliance I..", pos: "b", h: 48 }
n8@{ icon: "mdi:message-outline", form: "rounded", label: "Send Critical Legal Alert", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter High Risk Issues", pos: "b", h: 48 }
n10@{ icon: "mdi:message-outline", form: "rounded", label: "Send High Risk Alert", pos: "b", h: 48 }
n11@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter Medium Risk Issues", pos: "b", h: 48 }
n12@{ icon: "mdi:message-outline", form: "rounded", label: "Send Medium Risk Alert", pos: "b", h: 48 }
n13@{ icon: "mdi:database", form: "rounded", label: "Log Compliance Check", pos: "b", h: 48 }
n1 --> n2
n1 --> n3
n1 --> n4
n1 --> n5
n5 --> n6
n0 --> n1
n2 --> n6
n4 --> n6
n9 --> n10
n6 --> n7
n6 --> n9
n6 --> n11
n6 --> n13
n11 --> n12
n3 --> n6
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 n7,n9,n11 decision
class n5,n13 database
class n2,n3,n4 api
class n6 code
classDef customIcon fill:none,stroke:none
class n2,n3,n4,n5,n6 customIcon
Utmaningen: att bevisa att efterlevnadsövervakning faktiskt skedde
Om era avtal ligger i Postgres men er “process” för efterlevnad ligger i någons webbläsarflikar, så vet du redan hur det brukar gå. Någon kollar EUR-Lex, US Federal Register och uppdateringar av brittisk lagstiftning när de kommer ihåg. Anteckningar hamnar i Slack eller mejl och försvinner sedan. När ledningen frågar “Övervakade vi det här?” kan du svara, men att bevisa det är en annan sak. Den verkliga kostnaden är inte bara tid. Det är den mentala belastningen av att bevaka deadlines, omarbetet när ni missar en ändring och den obekväma paniken när en revisor ber om underlag.
Det blir snabbt mycket. Här är var det fallerar i det dagliga arbetet.
- Regulatoriska uppdateringar kontrolleras oregelbundet, så datumet för “senast granskad” är i praktiken en gissning.
- Er avtalsdatabas och era complianceanteckningar glider isär, vilket gör att beslut fattas på ofullständigt underlag.
- Riskpoängsättning blir subjektiv eftersom varje granskare använder sin egen mall (eller ingen alls).
- När en incident inträffar kan det ta hela eftermiddagen att återskapa vem som visste vad och när.
Lösningen: automatiserad regelövervakning med revisionsklara loggar
Det här arbetsflödet körs enligt schema och beter sig som en diskret complianceassistent. Det börjar med att läsa in er konfiguration (jurisdiktioner, tröskelvärden och de avtal ni bryr er om), hämtar sedan nya regulatoriska uppdateringar från flera källor via HTTP-förfrågningar. Därefter hämtar det aktiva avtal från Postgres och skickar båda underlagen till steget “Assess Compliance Impact”, där arbetsflödet jämför vad som ändrats mot vad era avtal lovar. Sedan routas resultat utifrån risk: kritiska frågor triggar ett omedelbart mejl, höga risker får en tydlig påminnelse och medelrisker dokumenteras utan att skapa panik. Varje körning slutar på samma sätt: en strukturerad efterlevnadslogg skrivs till Google Sheets, så att ni kan bevisa att övervakning skedde och granska historik utan att grotta i inkorgar.
Arbetsflödet startar med en schemalagd trigger, konsoliderar sedan regulatoriska flöden plus avtalsdata till en gemensam bedömning. Efter riskdetektering skickar Gmail rätt varning, och Google Sheets fångar körningen som ert permanenta spår.
Vad som förändras: före vs. efter
| Det här slipper du | Effekten du märker |
|---|---|
|
|
Effekt i praktiken
Säg att ert team granskar 30 aktiva avtal som lagras i Postgres och kontrollerar 3 källor (EU, USA, UK) en gång i veckan. Manuellt tar det kanske 10 minuter per källa plus ytterligare 5 minuter per avtal för att rimlighetskontrollera påverkan, vilket landar runt 3 timmar för en “enkel” veckovis kontroll. Med det här arbetsflödet startar den schemalagda körningen automatiskt och loggar resultat till Google Sheets; ni lägger bara tid på de få medel/hög/kritiska punkterna. För många team betyder det en timmes granskning istället för en halvdag av jakt på uppdateringar.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Postgres för att lagra och fråga ut aktiva avtal.
- Google Sheets för att lagra historiken för efterlevnadsloggar.
- Gmail för att mejla varningar för kritisk, hög och medelrisk.
- OpenAI API-nyckel (hämta den från OpenAI-dashboarden) för AI-stödd analys av juridisk text.
Svårighetsgrad: Medel. Du kopplar konton, sätter ett schema och verifierar din Postgres-fråga + risktrösklar.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Arbetsflödets flöde
Schemalagd compliance-trigger. Arbetsflödet körs med den frekvens du väljer (dagligen, veckovis eller oftare om ni är i en snabbt föränderlig miljö). Ingen behöver komma ihåg att “göra övervakningen”.
Regulatoriska flöden samlas in. HTTP-förfrågningar hämtar uppdateringar från källor som EU-regler, det amerikanska registret och brittiska lagtexter, och sedan normaliserar arbetsflödet det som hämtats så att bedömningssteget inte jämför äpplen med päron.
Avtal hämtas från Postgres och bedöms. En Postgres-fråga hämtar aktiva avtal, och logiken i “Assess Compliance Impact” utvärderar vad som ändrats, vilka klausuler som kan påverkas och vilken riskpoäng det ska bli. Om du använder OpenAI-chatmodellen/AI-agenten här är det här steget där långa juridiska texter blir till användbara fynd.
Varningar och loggar sker automatiskt. If-noder routar kritiska, höga och medelriskposter till Gmail med olika brådska, medan Google Sheets registrerar varje körning (även de tråkiga). Det arket blir er revisionsklara historik.
Du kan enkelt justera risktrösklarna så att de matchar er policy, eller byta ut mejlvarningar mot Slack eller Telegram efter behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera schematriggern
Det här arbetsflödet körs enligt ett vardagsschema med den inbyggda schemaläggaren.
- Välj Scheduled Compliance Trigger och ställ in Trigger Interval på
cronExpression. - Ställ in cron-värdet till
0 8 * * 1-5för att köra kl. 08:00 på vardagar. - Koppla Scheduled Compliance Trigger till Compliance Configuration.
Steg 2: anslut regulatoriska datakällor och avtal
Arbetsflödet hämtar regulatoriska uppdateringar och aktiva avtal parallellt efter konfiguration.
- I Compliance Configuration, ställ in numeriska tröskelvärden: mediumRiskThreshold till
31, highRiskThreshold till61och criticalRiskThreshold till81. - Ställ in strängar i Compliance Configuration: jurisdictions till
EU,US,UK,FR, legalEmail till[YOUR_EMAIL]och complianceOfficer till[YOUR_EMAIL]. - Konfigurera Fetch EU Rules med URL
https://eur-lex.europa.eu/legal-content/EN/ALL/och MethodGET. Ställ in query params: qidregulatory_updates, DD_YEAR{{ new Date().getFullYear() }}, DD_MONTH{{ String(new Date().getMonth() + 1).padStart(2, '0') }}, SUBDOM_INITLEGISLATION. - Konfigurera Retrieve US Register med URL
https://www.federalregister.gov/api/v1/documents.jsonoch MethodGET. Ställ in query params: ordernewest, fields[]title,html_url,publication_date,abstract, per_page20och conditions[publication_date][gte]{{ new Date(Date.now() - 7*24*60*60*1000).toISOString().split('T')[0] }}. - Konfigurera Collect UK Statutes med URL
https://www.legislation.gov.uk/newoch MethodGET. Ställ in query params: limit20och formatjson. - Konfigurera Fetch Active Agreements med Query
SELECT contract_id, contract_type, jurisdiction, signing_date, expiry_date, key_clauses, compliance_tags FROM contracts WHERE status = 'active'.
Compliance Configuration skickar utdata till Fetch EU Rules, Retrieve US Register, Collect UK Statutes och Fetch Active Agreements parallellt.
Credential Required: Anslut era Postgres-uppgifter i Fetch Active Agreements.
Steg 3: sätt upp logik för compliance-analys
Compliance-motorn aggregerar regulatoriska flöden och avtal för att riskpoängsätta.
- Öppna Assess Compliance Impact och bekräfta att JavaScript Code matchar den tillhandahållna logiken, med referens till
$node['Compliance Configuration'].jsonoch de tre HTTP-källorna. - Säkerställ att Fetch Active Agreements, Fetch EU Rules, Retrieve US Register och Collect UK Statutes alla är kopplade in i Assess Compliance Impact.
- Verifiera att utdata filtreras med
return complianceAnalysis.filter(analysis => analysis.risk_score > 0);för att undvika tomma aviseringar.
Assess Compliance Impact skickar utdata till Detect Critical Risks, Detect High Risks, Detect Medium Risks och Record Compliance Log parallellt.
Steg 4: konfigurera riskdetektering och notifieringar
Risknivåer routas till olika Gmail-notifieringar.
- I Detect Critical Risks, ställ in villkoret Left Value till
{{ $json.risk_level }}och Right Value tillcritical. - I Detect High Risks, ställ in Left Value till
{{ $json.risk_level }}och Right Value tillhigh. - I Detect Medium Risks, ställ in Left Value till
{{ $json.risk_level }}och Right Value tillmedium. - Konfigurera Dispatch Critical Alert för att skicka till
{{ $node['Compliance Configuration'].json.legalEmail }}med HTML-innehåll och ämnesrad🚨 CRITICAL COMPLIANCE ALERT - Immediate Legal Review Required. - Konfigurera Send High Risk Notice för att skicka till
{{ $node['Compliance Configuration'].json.legalEmail }}med ämnesrad🟠 High Priority Compliance Review - {{ $json.regulatory_update.jurisdiction }}. - Konfigurera Send Medium Risk Notice för att skicka till
{{ $node['Compliance Configuration'].json.complianceOfficer }}med ämnesrad🟡 Compliance Monitoring Update - {{ $json.regulatory_update.jurisdiction }}.
Credential Required: Anslut era Gmail-uppgifter i Dispatch Critical Alert, Send High Risk Notice och Send Medium Risk Notice.
high-risk-[CONFIGURE_YOUR_API_KEY] i ett CSS-klassnamn. Ersätt denna platshållare för att undvika felaktig HTML/CSS i e-postmeddelanden.Steg 5: konfigurera loggning för compliance
Varje analyserad uppdatering loggas i Google Sheets för spårning vid revision.
- Öppna Record Compliance Log och ställ in Resource på
sheetoch Operation påappendRow. - Ställ in Document ID till
[YOUR_ID]och Sheet Name tillCompliance Monitoring Log. - Mappa värden i ordning:
{{ $json.regulatory_update.title }},{{ $json.regulatory_update.jurisdiction }},{{ $json.risk_score }},{{ $json.risk_level }},{{ $json.impact_assessment.contract_count }},{{ $json.recommended_action }},{{ $json.analyzed_at }}.
Credential Required: Anslut era Google Sheets-uppgifter i Record Compliance Log.
Steg 6: testa och aktivera ert arbetsflöde
Validera hela pipelinen innan ni aktiverar schemalagd körning.
- Använd Scheduled Compliance Trigger och klicka på Execute Workflow för att köra ett manuellt test.
- Bekräfta att Assess Compliance Impact producerar items med risk_level-värden och att endast matchande villkor passerar genom Detect Critical Risks, Detect High Risks eller Detect Medium Risks.
- Verifiera att e-postmeddelanden skickas från Dispatch Critical Alert, Send High Risk Notice eller Send Medium Risk Notice när det är relevant.
- Kontrollera att Record Compliance Log lägger till en ny rad i arket
Compliance Monitoring Log. - När testet lyckas, växla arbetsflödet till Active för produktionskörningar.
Saker att se upp med
- Postgres-inloggningar kan löpa ut eller kräva specifika behörigheter. Om saker slutar fungera: kontrollera först dina n8n-credential-inställningar och databasanvändarens läsrättigheter till tabellen med avtal.
- Om du hämtar regulatoriska källor via HTTP Request kan svaren ändra format utan förvarning. När bedömningen börjar ge tomma resultat, inspektera rådata från HTTP-svaret och uppdatera parsningen.
- Standardpromptar i AI-noder är generiska. Lägg in er tonalitet och er riskmall tidigt, annars kommer du att redigera utdata för alltid.
Vanliga frågor
Cirka en timme om Postgres och Google Sheets redan är konfigurerade.
Ja, men någon behöver vara bekväm med att testa en Postgres-fråga och bekräfta risktrösklarna. Ingen traditionell kodning krävs.
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 användning av OpenAI API (ofta några dollar i månaden vid måttlig volym).
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och kör n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Du kan justera vad som övervakas i noden “Compliance Configuration”, och sedan byta eller lägga till källor genom att redigera HTTP Request-noderna (EU, USA, UK). De flesta team anpassar logiken i “Assess Compliance Impact” så att den matchar deras klausultaxonomi, och finjusterar If-villkoren så att “critical” matchar deras eskaleringspolicy. Om du hellre vill skicka varningar till Slack eller Telegram: behåll Gmail för formell notifiering och lägg till ett parallellt notifieringssteg efter riskkontrollerna.
Oftast beror det på utgångna inloggningsuppgifter eller att databasanvändaren saknar läsrättigheter till tabellen med avtal. Uppdatera Postgres-credential i n8n och bekräfta sedan att frågan kör i din DB-klient. Om det bara fallerar ibland: kontrollera regler för nätverksåtkomst (IP-allowlist, VPN) och anslutningsgränser på din Postgres-host.
I n8n Cloud beror kapaciteten på planens månatliga körningar; vid egen hosting finns ingen körningsgräns, det beror bara på din server. I praktiken hanterar det här arbetsflödet oftast tiotals till hundratals avtal per körning för de flesta små team, eftersom det tyngsta steget är bedömningen och eventuella AI-anrop du lägger till.
Ofta, ja. Det här arbetsflödet hämtar flera källor, slår ihop dem, tillämpar förgrenad risklogik och skriver en revisionslogg, vilket är den typen av “riktigt arbetsflöde” som lätt blir klumpigt (och dyrt) i många no-code-verktyg. n8n ger dig också ett alternativ för egen hosting, vilket är praktiskt när du vill ha obegränsade körningar eller mer kontroll över compliance-data. Zapier eller Make kan fortfarande fungera om du bara behöver en enkel varning som “RSS till mejl”. Om du är osäker, prata med en automationsexpert så stresstestar vi just ditt användningsfall.
När detta väl är igång blir efterlevnadsövervakning tråkigt på bästa möjliga sätt. Arbetsflödet håller era kontroller konsekventa, era varningar i rätt tid och er Google Sheets-logg redo när någon ber om bevis.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.