Din threat intel kommer in i högt tempo. CVE:er från ett håll, IOC:er från ett annat, plus ”bara ett till” kalkylark som någon lovar är uppdaterat. Sedan börjar den verkliga röran: att avgöra vad som faktiskt är akut, mejla folk och hoppas att du loggade det någonstans du hittar i morgon.
Den här Gmail Sheets alerts-automationen träffar SOC-chefer först, eftersom inkorgen blir kön. Blue team-leads känner av det när triage blir till gissningslek. Och om du är CISO slutar det med att du ber om ”den senaste” rapporten som ingen litar på.
Det här arbetsflödet hämtar hotindikatorer, poängsätter och triagerar dem, mejlar rätt varningar och loggar varje CVE och IOC i Google Sheets så att du kan agera snabbt (och bevisa att du gjorde det).
Så fungerar automationen
Här är hela arbetsflödet som du kommer att sätta upp:
n8n Workflow Template: Gmail + Google Sheets: hotintell-larm loggas
flowchart LR
subgraph sg0["⏰ Cron – Daily Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "⏰ Cron – Daily Trigger", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>🌐 Get CVE Feed"]
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/>🛡️ Get IOC Feed"]
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/merge.svg' width='40' height='40' /></div><br/>🧠 Merge Threat Data"]
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/code.svg' width='40' height='40' /></div><br/>🧠Combine Threat Data"]
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/code.svg' width='40' height='40' /></div><br/>🧠 AI – Risk Evaluation"]
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/>🧠 AI – Triage Vulnerabilities"]
n7@{ icon: "mdi:swap-horizontal", form: "rounded", label: "🚨 ALERT – LEV Trigger", pos: "b", h: 48 }
n8@{ icon: "mdi:message-outline", form: "rounded", label: "📧 Send Alert Email", pos: "b", h: 48 }
n9@{ icon: "mdi:database", form: "rounded", label: "Google Sheets", pos: "b", h: 48 }
n10["<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/>🧠 AI – Incident Playbook Sel.."]
n11["<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/>Code"]
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "🧭 Response Router", pos: "b", h: 48 }
n13@{ icon: "mdi:message-outline", form: "rounded", label: "Send Alert Email", pos: "b", h: 48 }
n14@{ icon: "mdi:database", form: "rounded", label: "Log to Google Sheet", pos: "b", h: 48 }
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/httprequest.dark.svg' width='40' height='40' /></div><br/>HTTP Request"]
n16@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out", pos: "b", h: 48 }
n11 --> n12
n16 --> n10
n1 --> n3
n2 --> n3
n12 --> n13
n12 --> n14
n12 --> n15
n3 --> n4
n4 --> n5
n0 --> n1
n0 --> n2
n7 --> n8
n7 --> n9
n5 --> n6
n5 --> n16
n6 --> n7
n10 --> n11
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,n12 decision
class n9,n14 database
class n1,n2,n15 api
class n4,n5,n6,n10,n11 code
classDef customIcon fill:none,stroke:none
class n1,n2,n3,n4,n5,n6,n10,n11,n15 customIcon
Varför det här spelar roll: threat intel som aldrig blir till handling
Threat intel låter användbart tills du lever i det. Ett flöde släpper 40 CVE:er på en morgon, ett annat dumpar en lång IOC-lista, och plötsligt är din ”granskning” att du scrollar, copy-pastar och vidarebefordrar mejl med halvdant sammanhang. Värst är efterspelet. Du kan inte se vad du redan hanterat, vad som fortfarande är öppet och vad som var ett falsklarm, eftersom allt ligger utspritt i inkorgstrådar och slumpmässiga flikar. Den mentala belastningen är påtaglig och den stjäl tid från faktisk incidenthantering.
Det eskalerar snabbt. Här är var det faller sönder.
- Viktiga saker begravs eftersom varje alert ser lika ”hög” ut i en inkorg.
- Manuell loggning via copy-paste i en tracker tar ungefär en timme om dagen när volymen drar iväg.
- Team triagerar samma CVE två gånger eftersom det saknas en gemensam ”single source of truth” för status och anteckningar.
- När ledningen frågar ”vad ändrades den här veckan” slutar du med att bygga om en rapport från minnet och fragment.
Det du bygger: daglig triage av hotflöden + Gmail-varningar + loggning i Sheets
Det här arbetsflödet körs enligt ett schema (dagligen som standard) och hämtar två strömmar av threat intel: ett CVE-flöde och ett IOC-flöde. Det slår ihop signalerna till en normaliserad uppsättning och konsoliderar sedan detaljerna till ett konsekvent postformat så att du inte jämför äpplen med slumpmässig JSON. Därefter tillämpas riskpoängsättning och automatiserad triagelogik för att avgöra vad som förtjänar uppmärksamhet nu, kontra vad som ska loggas tyst för senare genomgång. När något passerar din alert-tröskel genererar arbetsflödet ett e-postmeddelande och skickar ut det. Samtidigt skrivs allt till Google Sheets så att du får en levande tracker över CVE:er, IOC:er, poängsättning och vidtagna åtgärder.
Flödet börjar med schemalagd insamling och går sedan vidare till poängsättning och triage. Därefter avgör en alert-kontroll vägen: skicka Gmail/e-postvarningar, uppdatera din Sheets-tracker och valfritt anropa ett externt API för nedströms åtgärder. Du landar i en enda plats att titta på och en tydlig spårbarhet.
Det du bygger
| Vad som automatiseras | Vad du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att dina flöden producerar cirka 40 CVE:er och 30 IOC:er per dag. Om du manuellt granskar, prioriterar, mejlar teamet och loggar varje post är det lätt att lägga 1 minut per objekt plus kontextbyten, vilket blir runt 2 timmar per dag. Med det här arbetsflödet är triggern automatisk, poängsättning och triage körs i bakgrunden och ditt ”jobb” blir att granska de få mejl som gick igenom alert-kontrollen. De flesta dagar är det närmare 10 minuter, och Google Sheets-trackern är redan ifylld.
Innan du börjar
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra CVE/IOC-loggar och sammanställningar.
- Gmail- eller SMTP-åtkomst för att leverera varningar till rätt personer.
- Threat feed-URL:er eller API-åtkomst (använd dina CVE/IOC-källor i noderna för HTTP Request).
Kunskapsnivå: Mellan. Du kommer främst att koppla konton och mappa fält, men du bör vara bekväm med att testköra och justera poängsättningslogik.
Vill du att någon bygger det här åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
En schemalagd trigger startar körningen. Arbetsflödet drar igång dagligen (du kan ändra till veckovis, månadsvis eller på beställning). Det är det som håller rapporteringen konsekvent, även när teamet går på knäna.
Threat intel samlas in och enhetliggörs. n8n hämtar en CVE-ström och en IOC-ström via HTTP Request-noder och slår ihop dem till ett gemensamt flöde. Ett konsolideringssteg standardiserar fälten så att din senare logik inte skapar fel när en källa ändrar formatering.
Poängsättning och triage avgör vad som spelar roll. Riskpoängsättning körs först, sedan lägger ett triagesteg till tolkning (till exempel: vilken typ av sårbarhet det är, eller hur åtgärdsbar indikatorn ser ut). En kontroll av alertnivå filtrerar bort brus så att du inte mejlar teamet om allt.
Varningar skickas och allt loggas. Objekt med hög prioritet triggar ett e-postutskick, och arbetsflödet skriver resultaten i Google Sheets för spårning. En routnings-switch kan också anropa ett externt API eller köra egen logik, vilket är användbart om du vill skapa ärenden eller skicka uppgifter vidare.
Du kan enkelt justera alert-tröskeln efter din risktolerans eller ändra mål från Google Sheets till till exempel en databas. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera schematriggern
Ställ in arbetsflödet så att det körs dagligen enligt ett schema och startar insamlingen av hotflöden parallellt.
- Lägg till och öppna ⏰ Scheduled Daily Trigger.
- Definiera ert dagliga schema i nodens schemainställningar så att det matchar er rapporteringskadens.
- Bekräfta att ⏰ Scheduled Daily Trigger matar ut till både 🌐 Fetch CVE Stream och 🛡️ Retrieve IOC Stream parallellt.
Steg 2: Anslut källor för hotunderrättelser
Hämta CVE- och IOC-data och slå ihop flödena till en enda ström för analys.
- Öppna 🌐 Fetch CVE Stream och ställ in detaljerna för API-anropet (URL, metod, headers) för ert CVE-flöde.
- Öppna 🛡️ Retrieve IOC Stream och konfigurera anropet för er IOC-källa.
- Verifiera att båda noderna kopplas in i 🧠 Combine Threat Feeds för att samla de två strömmarna.
Steg 3: Sätt upp AI- och bearbetningslogik
Omvandla det kombinerade flödet till strukturerade insikter, riskpoängsätt och routa poster genom AI och anpassad logik.
- Konfigurera 🧠 Consolidate Threat Info för att normalisera och strukturera den sammanslagna datan från 🧠 Combine Threat Feeds.
- Sätt upp 🧠 AI Risk Scoring för att beräkna allvarlighetsgrad och riskpoäng från den konsoliderade datan.
- Bekräfta att 🧠 AI Risk Scoring matar ut till både 🧠 AI Vuln Triage och Split Records parallellt.
- Konfigurera Split Records för att dela upp datasetet i enskilda poster för routning per objekt.
- Sätt upp 🧠 Playbook Selector AI för att tilldela rätt åtgärdsplaybook per post och skicka sedan vidare till Custom Logic Step.
- Definiera routningsregler i 🧭 Response Route Switch baserat på utdata från Custom Logic Step.
Steg 4: Konfigurera aviseringar, loggning och routningsutgångar
Skicka aviseringar, logga poster och skicka data till externa system baserat på triageresultatet.
- Öppna 🚨 Alert Level Check och konfigurera villkoren som avgör när aviseringar krävs.
- Säkerställ att 🚨 Alert Level Check matar ut till både 📧 Dispatch Alert Email och Update Google Spreadsheet parallellt.
- Konfigurera 📧 Dispatch Alert Email med mottagare, ämnesrad och innehåll för aviseringsmeddelandet.
- Konfigurera Update Google Spreadsheet för att skriva aviseringsdata till ert rapporteringsark.
- Sätt upp Dispatch Alert Email, Log to Spreadsheet och External API Request som de tre möjliga utgångarna från 🧭 Response Route Switch.
Credential Required: Anslut era SMTP- eller Email Send-inloggningsuppgifter för 📧 Dispatch Alert Email och Dispatch Alert Email.
Credential Required: Anslut era Google Sheets-inloggningsuppgifter för Update Google Spreadsheet och Log to Spreadsheet.
Steg 5: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att verifiera dataflödet och aktivera sedan schemat för produktionsanvändning.
- Klicka på Execute Workflow för att köra ett manuellt test från ⏰ Scheduled Daily Trigger.
- Verifiera att 🌐 Fetch CVE Stream och 🛡️ Retrieve IOC Stream båda returnerar objekt och slås ihop i 🧠 Combine Threat Feeds.
- Bekräfta att minst en post når 🚨 Alert Level Check och triggar utdata till 📧 Dispatch Alert Email och Update Google Spreadsheet parallellt.
- Kontrollera att routningen från 🧭 Response Route Switch skickar data till Dispatch Alert Email, Log to Spreadsheet eller External API Request enligt förväntan.
- Växla arbetsflödet till Active för att köra dagligen i produktion.
Felsökningstips
- Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det slutar fungera, kontrollera Google-kopplingen i n8n:s vy Credentials och bekräfta att kalkylarket är delat med det anslutna kontot.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- HTTP Request-flöden är inte alltid stabila. Om din CVE/IOC-källa rate-limit:ar eller ändrar svarsformat, granska exekveringsdata för stegen Fetch CVE/IOC och justera headers, paginering eller fältmappning.
Snabba svar
Cirka en timme om Sheets och e-poståtkomst redan är klart.
Nej. Du kan köra den som den är och bara justera prompts/fält om du vill anpassa den mer. ”Kod”-stegen ingår redan i arbetsflödet.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna in kostnader för flöden/API om dina CVE/IOC-källor är betalda.
Två alternativ: n8n Cloud (managed, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är ärligt talat där värdet växer över tid. Du kan ersätta loggning i Google Sheets med en databas genom att byta ut stegen ”Update Google Spreadsheet” och ”Log to Spreadsheet”, och du kan ändra leverans av varningar genom att ersätta noderna för Email/Gmail-skick med Slack eller ärendehantering. Vanliga justeringar är att ändra alert-tröskeln i alert-kontrollen, ändra poängsättningsreglerna i risk scoring-steget och lägga till ett ”skapa ärende”-anrop i steget External API Request. Om du redan har BlueOps Module-ark (M1–M5) kan du också hämta in dem och skapa en mer lättläst rapport till stakeholders från samma pipeline.
Oftast beror det på att OAuth-åtkomsten har löpt ut eller att fel avsändarkonto är valt i n8n.
På n8n Cloud Starter klarar du dig normalt bra för låg till medelhög daglig volym, och en uppgradering ger fler månadsvisa exekveringar. Om du self-hostar finns ingen exekveringstak (det beror på din server). I praktiken hanterar det här arbetsflödet dussintals till några hundra objekt per körning utan problem, så länge du batchar skrivningar till Google Sheets och inte belastar ett rate-limit:at flöde för hårt.
Ofta, ja, eftersom det här inte är en enkel tvåstegs-zap. n8n hanterar förgreningslogik (alert-kontrollen och route-switch för respons), datashaping och flerstegsprocesser utan att tvinga upp dig i högre prisklasser för ”premium”-vägar. Self-hosting är också en stor grej i SecOps, eftersom du kan hålla körningar internt och undvika användningstak. Zapier eller Make kan fortfarande vara bra om du bara vill ha ”flöde till e-post” utan poängsättning, utan routning och utan en central logg. Om du är osäker, prata med en automationsexpert så sanity-checkar vi bästa alternativet.
Arbetsflödet sköter den repetitiva sorteringen, poängsättningen, mejlandet och loggningen. Du får en lugnare inkorg, en tracker du kan lita på och snabbare triage när det faktiskt gäller.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.