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

Gmail + Slack: avtalsrisker flaggas i Sheets

Rickard Andersson Partner, Nodenordic.se

Avtalsgranskningar börjar med goda intentioner. Sedan landar PDF:en i Gmail, någon glömmer att spara “final final”-versionen, och den riskfyllda klausulen upptäcks två dagar för sent.

Den här automatiseringen av avtalsrisk slår först mot Ops Managers och team nära juridik, men byråägare som hanterar leverantörsavtal känner av den också. Du slutar med att göra samma jobb två gånger, och du har fortfarande ingen strukturerad dokumentationskedja.

Det här arbetsflödet hämtar avtal från Gmail och ert repository, riskpoängsätter med AI, larmar i Slack när det gäller, och loggar allt i Google Sheets så att du kan bevisa vad som hände i efterhand.

Så fungerar den här automatiseringen

Hela n8n-flödet, från trigger till slutresultat:

n8n Workflow Template: Gmail + Slack: avtalsrisker flaggas i Sheets

Problemet: avtalsrisk upptäcks sent (eller inte alls)

De flesta team “missar” inte avtalsrisker för att de är slarviga. De missar dem för att processen är splittrad. Ett avtal kommer via Gmail, ett annat ligger i Google Drive och ett tredje dyker upp via ett delat intake-formulär. Någon skummar efter uppenbara varningsflaggor, någon annan kollar efter compliance-språk, och sedan försvinner tråden i Slack-historiken. En månad senare får du frågan: “Godkände vi den där ändringen av skadeslöshet?” och allt du har är ett vagt minne och en nedladdad PDF som heter “agreement(7).pdf”. Det är så revisionsmardrömmar uppstår.

Det blir snabbt mycket. Här är var det faller isär.

  • Avtal kommer in via flera kanaler, så du slösar tid på att leta fram “rätt” version innan granskningen ens börjar.
  • Manuell klausulskanning är inkonsekvent, vilket gör att två granskare kan läsa samma avtal och flagga olika risker.
  • Slack-notiser (om de ens sker) är informella och svåra att spåra i efterhand, särskilt när någon vill ha bevis under en revision.
  • Loggning av utfall i Sheets sker ofta i efterhand, så din tracker ligger alltid efter och blir aldrig helt betrodd.

Lösningen: AI-avtalsgranskning som dirigerar risker och loggar en revisionskedja

Det här n8n-flödet fungerar som ett transportband för intake och granskning av avtal. Det startar enligt schema (för rutinmässiga granskningar) eller direkt när ett avtal kommer in (via Gmail eller ett webhook-intake). Flödet hämtar dokumentet, extraherar text från PDF:er och delar upp den i klausulstora delar så att inget viktigt försvinner i en textvägg. Därefter granskar en AI-agent dessa delar mot de compliance-regler och skyldigheter ni bryr er om, och producerar strukturerade fynd som går att använda. Ett riskpoängssteg sätter allvarlighetsgrad, sparar analysen i en databas och skickar högriskärenden till Slack så att rätt personer ser det snabbt. Till sist byggs en auditlogg och sparas, vilket gör att du kan återskapa beslutsvägen utan att gräva i gamla trådar.

Arbetsflödet startar när ett avtal kommer in via Gmail, ert repository eller en intake-webhook. AI extraherar nyckelvillkor och kontrollerar luckor eller inkonsekvenser, och sedan avgör en poängmotor vad som händer härnäst. Högriskärenden triggar en Slack-varning, och arbetsflödet synkar utfall till ert CLM och ERP samtidigt som det skapar revisionsredo underlag.

Det du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du granskar 20 leverantörsavtal i månaden. Manuellt kan även en “snabb skanning + anteckningar + Slack-ping + uppdatering i Sheets” ta cirka 30 minuter per avtal, så du lägger ungefär 10 timmar på att bara flytta runt information. Med det här flödet blir den mänskliga tiden närmare 5 minuter per avtal för att bekräfta intake och hantera flaggade punkter, medan AI kör i bakgrunden. Det är cirka 8 timmar tillbaka en vanlig månad, plus en tracker som hålls uppdaterad utan att någon behöver jaga den.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • Gmail för att automatiskt ta in avtalsrelaterade e-postmeddelanden.
  • Slack för att larma rätt kanal vid högriskavtal.
  • Google Sheets för att logga utfall för rapportering och revision.
  • Google Drive (valfritt) för lagrade avtal och mallar.
  • Postgres för att lagra compliance-poster och auditloggar.
  • OpenAI API-nyckel (hämta den i din OpenAI-dashboard)

Kunskapsnivå: Medel. Du kopplar konton, klistrar in en API-nyckel och justerar prompts och tröskelvärden så att de matchar era avtalsstandarder.

Vill du inte sätta upp det här själv? Prata med en automations-expert (gratis 15-minuters konsultation).

Så fungerar det

Avtal triggar arbetsflödet från flera ingångar. En schemalagd trigger kör rutingranskningar, medan Gmail-intake och en webhook fångar avtal i samma ögonblick som de kommer in. Du är inte beroende av att någon vidarebefordrar filer “när de får en minut”.

Dokument hämtas och konverteras till granskningsbar text. n8n hämtar filer från er repository-endpoint och kombinerar dem med Gmail- och webhook-inlämningar, och extraherar sedan text från PDF:er. Därefter delar det upp innehållet i mindre klausulbitar så att analysen förblir korrekt även i långa avtal.

AI gör compliance-analys och producerar strukturerade fynd. Arbetsflödet använder OpenAI-baserade embeddings plus ett in-memory-klausullager för att behålla kontext, och kör sedan en compliance-chatmodell via en agent som utvärderar skyldigheter och luckor. Output-parsning gör resultatet till förutsägbara fält, vilket gör poängsättning och dirigering mycket enklare.

Risk poängsätts, dirigeras och skrivs till era system. Ett kodsteg beräknar en riskrating, poster sparas i Postgres och en router skickar högriskfall till Slack samtidigt som den pushar uppdateringar till dashboards. Slutligen synkar flödet mot era CLM- och ERP-endpoints och sparar en auditlogg.

Du kan enkelt ändra risktrösklar så att de matchar er godkännandepolicy utifrån era behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: konfigurera den schemalagda triggern

Ställ in arbetsflödet så att det körs automatiskt enligt ett schema, så att efterlevnadsgranskningar triggas utan manuellt arbete.

  1. Lägg till och öppna Scheduled Review Trigger.
  2. Ställ in schemaregeln så att den körs vid triggerAtHour: 2 under ruleinterval.
  3. Koppla Scheduled Review Trigger till Initialize Settings.

Steg 2: initiera api-endpoints och tröskelvärden

Lagra alla api-endpoints, Slack-kanal och risktrösklar på ett ställe för återanvändning i hela arbetsflödet.

  1. Öppna Initialize Settings och ställ in repositoryApiUrl till <__PLACEHOLDER_VALUE__Contract Repository API URL__>.
  2. Ställ in dashboardApiUrl till <__PLACEHOLDER_VALUE__Dashboard API Endpoint__> och clmSystemUrl till <__PLACEHOLDER_VALUE__CLM System API URL__>.
  3. Ställ in erpSystemUrl till <__PLACEHOLDER_VALUE__ERP System API URL__> och complianceRulesUrl till <__PLACEHOLDER_VALUE__Compliance Rules API or File URL__>.
  4. Bekräfta risktrösklar: riskThresholdHigh till 80 och riskThresholdMedium till 50.
  5. Ställ in slackChannel till <__PLACEHOLDER_VALUE__Slack Channel ID for Alerts__>.

⚠️ Vanlig fallgrop: Om ni lämnar platshållarvärden i Initialize Settings kommer efterföljande HTTP-anrop och aviseringar att misslyckas.

Steg 3: koppla källor för kontraktsintag

Ta in kontrakt i ett enhetligt flöde från webhook-uppladdningar, Gmail-intag och hämtningar från repository.

  1. Konfigurera Incoming Contract Webhook med Path satt till contract-upload, HTTP Method satt till POST och Response Mode satt till lastNode.
  2. Öppna Gmail Contract Intake och ställ in filterfrågan till subject:contract med ett pollingintervall på every 5 minutes.
  3. Inloggningsuppgifter krävs: Anslut era gmailOAuth2-uppgifter i Gmail Contract Intake.
  4. Konfigurera Retrieve Repository Contracts med URL satt till ={{ $('Initialize Settings').first().json.repositoryApiUrl }} och aktivera Send Headers.
  5. Ställ in headern Content-Type i Retrieve Repository Contracts till application/json och säkerställ att svarsformatet är file.
  6. Koppla Incoming Contract Webhook, Gmail Contract Intake och Retrieve Repository Contracts till Combine Contract Inputs med Number Inputs satt till 3.

Om ni bara använder två intagsmetoder, minska Combine Contract Inputs Number Inputs i enlighet med det för att undvika fel med tomma indata.

Steg 4: extrahera och förbered kontraktstext

Konvertera PDF:er till text och förbered klausulsegment för embeddings och retrieval.

  1. Konfigurera Extract Document Text med Operation satt till pdf.
  2. Ställ in Clause Chunk Divider med Chunk Size 2000 och Chunk Overlap 200.
  3. Öppna Contract Document Loader och ställ in Data Type till binary och Text Splitting Mode till custom.
  4. Koppla ai-kedjan: Clause Chunk DividerContract Document LoaderIn-Memory Clause Store.

Steg 5: konfigurera ai-baserad efterlevnadsanalys

Skapa embeddings av klausuler, analysera efterlevnad med ai-agenten och strukturera resultatet.

  1. Inloggningsuppgifter krävs: Anslut era openAiApi-uppgifter i Generate AI Embeddings.
  2. Ställ in In-Memory Clause Store till Mode insert med minnesnyckeln vector_store_key.
  3. Öppna Compliance Chat Model och ställ in Model till gpt-4.1-mini.
  4. Inloggningsuppgifter krävs: Anslut era openAiApi-uppgifter i Compliance Chat Model.
  5. Konfigurera Compliance Analysis Agent med den angivna prompttexten och säkerställ att Has Output Parser är aktiverat.
  6. Ställ in Parse Compliance Output JSON Schema Example till det angivna schemat så att utdata blir strukturerad.
  7. Koppla ai-undernoder till agenten: Compliance Chat ModelCompliance Analysis Agent och Parse Compliance OutputCompliance Analysis Agent.

⚠️ Vanlig fallgrop: Parse Compliance Output och Generate AI Embeddings är ai-verktyg/undernoder – inloggningsuppgifter måste läggas till i deras föräldranoder (Compliance Chat Model och Generate AI Embeddings), inte i undernoderna själva.

Steg 6: poängsätt risk och lagra efterlevnadsresultat

Beräkna risknivåer, spara resultat i er databas och routa utifrån allvarlighetsgrad.

  1. Öppna Compute Risk Rating och behåll den angivna JavaScript-algoritmen för riskpoängsättning.
  2. Konfigurera Save Compliance Records med Table satt till <__PLACEHOLDER_VALUE__Compliance Results Table Name__> och Schema satt till public.
  3. Inloggningsuppgifter krävs: Anslut era postgres-uppgifter i Save Compliance Records.
  4. Ställ in reglerna i Risk Level Router så att de matchar CRITICAL, HIGH och MEDIUM med ={{ $json.riskLevel }}, och behåll fallback-utgången märkt Low Risk.

Steg 7: konfigurera aviseringar, dashboards och synkar

Skicka aviseringar, uppdatera dashboards och synkronisera resultat med externa system. Det här steget inkluderar parallell körning.

  1. Ställ in High Risk Slack Alert Text till den angivna meddelandemallen och Channel ID till ={{ $('Initialize Settings').first().json.slackChannel }}.
  2. Inloggningsuppgifter krävs: Anslut era slackOAuth2Api-uppgifter i High Risk Slack Alert.
  3. Konfigurera Post Dashboard Update med URL satt till ={{ $('Initialize Settings').first().json.dashboardApiUrl }}, Method POST och JSON Body satt till ={{ $json }}.
  4. Ställ in Sync CLM Platform URL till ={{ $('Initialize Settings').first().json.clmSystemUrl }} och JSON Body till den angivna objektmallen.
  5. Ställ in Sync ERP Platform URL till ={{ $('Initialize Settings').first().json.erpSystemUrl }} och JSON Body till den angivna objektmallen.
  6. Koppla utgångarna från Risk Level Router till både High Risk Slack Alert och Post Dashboard Update parallellt.
  7. Säkerställ att synkkedjan följer: Post Dashboard UpdateSync CLM PlatformSync ERP Platform.

Om era api-endpoints kräver autentiseringsheaders, lägg till dem i Post Dashboard Update, Sync CLM Platform och Sync ERP Platform.

Steg 8: bygg audit log-spåret

Spara ett detaljerat audit trail för efterlevnad, spårbarhet och rapportering.

  1. Öppna Assemble Audit Log och ställ in fält som auditId till ={{ $now.toISO() }}-{{ $json.contractId }} och workflowExecutionId till ={{ $execution.id }}.
  2. Ställ in auditTimestamp till ={{ $now.toISO() }} och explainabilityReport till ={{ JSON.stringify($json.findings) }}.
  3. Konfigurera Persist Audit Log med Table satt till <__PLACEHOLDER_VALUE__Audit Trail Table Name__> och Schema satt till public.
  4. Inloggningsuppgifter krävs: Anslut era postgres-uppgifter i Persist Audit Log.

Steg 9: testa och aktivera

Validera arbetsflödet från början till slut och aktivera det för produktionsanvändning.

  1. Klicka på Execute Workflow och trigga ett exempelkontrakt via Incoming Contract Webhook eller skicka ett mejl som matchar subject:contract till Gmail Contract Intake.
  2. Bekräfta att Extract Document Text matar ut extraherad text och att Compliance Analysis Agent producerar strukturerad data via Parse Compliance Output.
  3. Verifiera att Save Compliance Records och Persist Audit Log skriver rader till era PostgreSQL-tabeller.
  4. Kontrollera att utdata med hög risk triggar High Risk Slack Alert och att alla fall uppdaterar Post Dashboard Update följt av Sync CLM Platform och Sync ERP Platform.
  5. När allt fungerar, växla arbetsflödet till Active för att aktivera schemalagda körningar.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Gmail-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera först statusen på dina n8n Gmail-credentials och Googles säkerhetsprompter för kontot.
  • Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om nedströms noder fallerar på tomma svar.
  • Standardprompts i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera output för alltid.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen av avtalsrisk?

Cirka 45 minuter om dina konton och API:er är klara.

Behöver jag kunna koda för att automatisera avtalsrisk?

Nej. Du kopplar mest ihop verktyg och justerar prompts och tröskelvärden.

Är n8n gratis att använda för det här arbetsflödet för automatisering av avtalsrisk?

Ja. n8n har ett gratis self-hosted-alternativ 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 kostnader för OpenAI API, vilket oftast är några cent per avtal beroende på längd och hur strikta dina prompts är.

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

Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.

Kan jag anpassa det här arbetsflödet för automatisering av avtalsrisk för olika risktrösklar och godkännandeflöden?

Ja, och det bör du. Ändra tröskellogiken i steget “Compute Risk Rating” och dirigeringen i “Risk Level Router” så att det matchar hur ditt team eskalerar (till exempel skicka medelrisk till en privat kanal och högrisk till juridik). Vanliga anpassningar är att lägga till extra Slack-destinationer per avtalstyp, uppdatera extraktionsprompten så att den fokuserar på specifika klausuler som skadeslöshet eller personuppgiftsbehandling, och utöka auditloggfälten så att ert CLM får allt det behöver.

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

Oftast är det en utgången OAuth-åtkomst eller en Google-säkerhetsprompt som behöver godkännas. Anslut Gmail-credential igen i n8n och bekräfta sedan att kontot har behörighet att läsa den inkorgsetikett du använder för avtalsintake. Om det bara fallerar under stressiga dagar kan du också slå i Gmail API-gränser, så minska polling-frekvensen eller filtrera mer aggressivt.

Hur många avtal kan den här automatiseringen av avtalsrisk hantera?

Många, så länge dina exekveringsgränser och API-kvoter hänger med.

Är den här automatiseringen av avtalsrisk bättre än att använda Zapier eller Make?

För just det här flödet är n8n oftast ett bättre val eftersom det hanterar förgreningar, databaslagring och AI-bearbetning i flera steg utan att tvinga in dig i dyra task-räkningar. Det är också enklare att hålla en riktig revisionskedja när du kan skriva till Postgres och kontrollera hela flödet. Zapier eller Make kan fortfarande fungera om du bara behöver en enkel “e-post kommer in → skicka Slack-meddelande”-väg, men de blir klumpiga när du lägger till uppdelning i klausulbitar och strukturerad parsning. Om du är osäker, rita upp din “happy path” och din “högrisk-eskalering” först, och välj sedan plattformen som inte kommer att motarbeta dig. Prata med en automations-expert om du vill ha ett extra par ögon.

Du får snabbare granskningar, tydligare eskalering och dokumentation du kan stå för i efterhand. Sätt upp det en gång, och låt sedan arbetsflödet ta hand om de repetitiva delarna.

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