Du testar prompts, får ett “ser bra ut”, skeppar – och sedan slinker något fult igenom. En jailbreak. En inklistrad API-nyckel. En kunds e-postadress som hamnar i en logg där den inte hör hemma.
Den här uppsättningen med Gemini Sheets guardrails träffar SecOps-ansvariga först, men produktteam som levererar AI-funktioner och konsulter som granskar kunders botar känner samma smärta. Du går från “magkänsla och stickprov” till en rankad, repeterbar riskgranskning i ett enda kalkylark.
Det här workflowet gör Google Sheets till en rigg för batchtester, skickar varje rad till rätt säkerhetskontroll och skriver tillbaka godkänd/underkänd, konfidens och anteckningar du kan agera på.
Så fungerar den här automatiseringen
Hela n8n-workflowet, från trigger till slutlig output:
n8n Workflow Template: Google Sheets + Gemini: säkrare prompttester snabbt
flowchart LR
subgraph sg0["Manual Execution Start Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Execution Start", pos: "b", h: 48 }
n1@{ icon: "mdi:database", form: "rounded", label: "Guardrails Sample Sheet", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Route by Category", pos: "b", h: 48 }
n3@{ icon: "mdi:brain", form: "rounded", label: "Gemini Chat Engine", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "Bypass Detection", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "Personal Data Filter", pos: "b", h: 48 }
n6@{ icon: "mdi:robot", form: "rounded", label: "Credential Leak Scan", pos: "b", h: 48 }
n7@{ icon: "mdi:robot", form: "rounded", label: "Content Safety Check", pos: "b", h: 48 }
n8@{ icon: "mdi:robot", form: "rounded", label: "Link Inspection", pos: "b", h: 48 }
n9@{ icon: "mdi:robot", form: "rounded", label: "Topic Alignment Check", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "Keyword Screening", pos: "b", h: 48 }
n2 --> n4
n2 --> n5
n2 --> n6
n2 --> n7
n2 --> n8
n2 --> n9
n2 --> n10
n1 --> n2
n3 -.-> n10
n3 -.-> n7
n3 -.-> n6
n3 -.-> n4
n3 -.-> n5
n3 -.-> n9
n3 -.-> n8
n0 --> n1
end
subgraph sg1["Clean Personal Info Flow"]
direction LR
n11@{ icon: "mdi:swap-vertical", form: "rounded", label: "Utility: Sample Personal Data", pos: "b", h: 48 }
n12@{ icon: "mdi:robot", form: "rounded", label: "Clean Personal Info", pos: "b", h: 48 }
n11 --> n12
end
subgraph sg2["Mask Credential Valu Flow"]
direction LR
n13@{ icon: "mdi:swap-vertical", form: "rounded", label: "Utility: Sample API Keys", pos: "b", h: 48 }
n14@{ icon: "mdi:robot", form: "rounded", label: "Mask Credential Values", pos: "b", h: 48 }
n13 --> n14
end
subgraph sg3["Redact Web Links Flow"]
direction LR
n15@{ icon: "mdi:swap-vertical", form: "rounded", label: "Utility: Sample URLs", pos: "b", h: 48 }
n16@{ icon: "mdi:robot", form: "rounded", label: "Redact Web Links", pos: "b", h: 48 }
n15 --> n16
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 n4,n5,n6,n7,n8,n9,n10,n12,n14,n16 ai
class n3 aiModel
class n2 decision
class n1 database
Problemet: riskgranskning av prompts skalar inte förbi “några få tester”
Guardrails börjar ofta med goda intentioner och slutar med att någon manuellt klistrar in text i ett chattfönster. Det funkar för fem exempel. Det faller isär när du behöver bygga riktig täckning: jailbreak-varianter, PII-mönster, URL-trick, off-topic-prompts och interna nyckelord du absolut inte kan tillåta. Och eftersom kontrollerna blir inkonsekventa blir resultaten svåra att jämföra. En granskare flaggar något som “dåligt”, en annan säger “troligen okej”, och ingen kan förklara varför. Ärligt talat är det värsta den falska tryggheten du får av för små tester.
Friktionen växer snabbt. Här är var det brukar gå sönder i vardagen.
- Att copy-pasta 50 testprompts i en AI-chatt tar ungefär en timme, och du har fortfarande ingen strukturerad logg över vad som hände.
- Resultaten hamnar i skärmdumpar eller Slack-trådar, så trendspårning (blir jailbreak-risken bättre?) blir rena gissningen.
- Olika guardrails kräver olika “mentala checklistor”, vilket gör att granskare missar saker när det är bråttom.
- När något fallerar finns det ofta ingen strukturerad extraktion av problemet (URL:en, PII:t, den hemlighetsliknande strängen), så åtgärd tar längre tid.
Lösningen: batchtesta guardrails från Google Sheets med Gemini
Det här workflowet gör ett enkelt ark (eller CSV) till en repeterbar testbänk för säkerhet. Du lägger till rader med två fält: vilken guardrail-typ du vill testa (t.ex. PII, jailbreak, URL:er, NSFW, hemliga nycklar, ämnesanpassning eller nyckelord) och den inputtext du vill få utvärderad. När du kör workflowet i n8n läser det varje rad från Google Sheets, routar automatiskt till matchande guardrail-kontroll och ber Gemini returnera ett korrekt formaterat, strukturerat utlåtande. Varje guardrail returnerar godkänd/underkänd, en konfidenspoäng och resonemang, samt extraherade entiteter när det är relevant (t.ex. URL:en eller persondata). Det finns också valfria “sanitizer”-kontroller som visar hur osäker text kan rensas för säkrare användning längre ned i kedjan.
Workflowet startar med en manuell körning, hämtar dina testrader från Google Sheets och använder sedan en Switch för att skicka varje rad till rätt guardrail. Gemini utvärderar texten och returnerar konsekvent JSON, så granskning och felsökning går snabbt även när du testar dussintals fall.
Vad du får: automatisering vs. resultat
| Vad det här workflowet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du underhåller ett guardrails-ark med 100 rader för en kundsupport-chattbot. Att manuellt testa det i en AI-chatt, även med cirka 1 minut per prompt (klistra in, läsa, anteckna resultat), är ungefär 100 minuter – och det är lätt att tappa bort anteckningarna. Med det här workflowet triggar du en körning, låter Gemini utvärdera varje rad och granskar strukturerade outputs efteråt. Den “mänskliga tiden” sjunker till cirka 10 minuter: uppdatera några rader, klicka kör och skanna sedan felen.
Det här behöver du
- 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 testrader och typer
- Google Gemini för att utvärdera varje guardrail-fall
- Gemini API-nyckel (hämta den från Google AI Studio / Gemini API-uppgifter)
Svårighetsnivå: Medel. Du kopplar in autentiseringsuppgifter, sätter ett Sheet ID/namn och granskar några nodinställningar.
Vill du inte sätta upp det här själv? Prata med en automationsspecialist (gratis 15-minuters konsultation).
Så fungerar det
Du kör workflowet vid begäran. En manuell trigger startar körningen när du är redo att testa en ny batch (till exempel inför en release eller efter promptändringar).
Google Sheets levererar testmatrisen. Workflowet läser rader från ditt ark, där varje rad innehåller en Guardrail_Type och en Input_Text som ska utvärderas.
Varje rad routas till rätt säkerhetskontroll. Ett routningssteg (Switch) skickar jailbreak-tester till “Bypass Detection”, PII-tester till “Personal Data Filter”, hemlighetsliknande strängar till “Credential Leak Scan” och så vidare. Gemini driver utvärderingarna i grunden så att outputs förblir konsekventa mellan kategorier.
Du får strukturerade outputs som är enkla att granska. Varje guardrail returnerar korrekt formaterad JSON med godkänd/underkänd, konfidens och resonemang, och de valfria sanitizers visar hur “rensad” text kan se ut för säkrare användning längre ned i kedjan.
Du kan enkelt ändra guardrail-typerna så att de matchar er interna policyspråkbruk, eller lägga till en ny kategori utifrån era behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-implementeringsguide
Steg 1: konfigurera den manuella triggern
Det här arbetsflödet startar med en manuell trigger så att ni kan köra tester vid behov.
- Lägg till eller verifiera noden Manual Execution Start som trigger.
- Behåll standardinställningarna eftersom den här noden inte har några obligatoriska parametrar.
- Anslut Manual Execution Start till Guardrails Sample Sheet.
Steg 2: anslut Google Sheets
Arbetsflödet läser in exempeldata från ett Google Sheet innan det skickas vidare till guardrails.
- Öppna Guardrails Sample Sheet.
- Autentisering krävs: Anslut era Google Sheets-inloggningsuppgifter.
- Konfigurera kalkylarket, intervallet och läsalternativen så att de matchar er datakälla.
- Bekräfta att nodens output går vidare till Route by Category.
Steg 3: sätt upp routningslogik
Switch-noden styr varje post till rätt guardrail-kontroll baserat på kategori.
- Öppna Route by Category och definiera reglerna för varje kategori i era indata.
- Säkerställ att varje utgång är ansluten till rätt guardrail-nod: Bypass Detection, Personal Data Filter, Credential Leak Scan, Content Safety Check, Link Inspection, Topic Alignment Check och Keyword Screening.
- Validera att objekt som inte matchar hanteras (t.ex. en fallback-utgång) för att undvika tappade poster.
Steg 4: konfigurera AI-språkmodell
Alla guardrail-kontroller använder Gemini som språkmodell via en delad AI-anslutning.
- Öppna Gemini Chat Engine.
- Autentisering krävs: Anslut era Google Gemini-inloggningsuppgifter.
- Bekräfta att Gemini Chat Engine är ansluten till varje guardrail-nod via anslutningen
ai_languageModel.
Steg 5: konfigurera guardrail-kontroller och utility-indata
Det här arbetsflödet använder flera guardrail-kontroller samt utility set-noder för exempelindata.
- Gå igenom guardrail-noderna (Bypass Detection, Personal Data Filter, Credential Leak Scan, Content Safety Check, Link Inspection, Topic Alignment Check, Keyword Screening) och bekräfta att varje nod är konfigurerad med avsedda regler för era innehållspolicys.
- Använd Utility: Sample Personal Data → Clean Personal Info för att testa beteendet för rensning av PII.
- Använd Utility: Sample API Keys → Mask Credential Values för att validera maskning av credentials.
- Använd Utility: Sample URLs → Redact Web Links för att verifiera maskning av URL:er.
Steg 6: testa och aktivera ert arbetsflöde
Kör ett manuellt test för att bekräfta att varje guardrail och routningsgren fungerar som förväntat, och aktivera sedan för produktion.
- Klicka på Execute Workflow för att köra Manual Execution Start och följ hur data flödar in i Guardrails Sample Sheet och Route by Category.
- Verifiera att objekt routas korrekt och att varje guardrail-nod returnerar förväntad output.
- Kontrollera utility-testgrenarna för att bekräfta att Clean Personal Info, Mask Credential Values och Redact Web Links fungerar som avsett.
- När ni är nöjda, växla arbetsflödet till Active för produktion.
Vanliga fallgropar
- Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först status för autentiseringsuppgifterna i n8n och delningsinställningarna för arket.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre ned fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera outputs i all evighet.
Vanliga frågor
Cirka 15 minuter om dina Google- och Gemini-uppgifter är klara.
Ingen kod krävs. Du kopplar främst ihop konton och klistrar in detaljerna för ditt ark i Google Sheets-noden.
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 med kostnader för Gemini API-användning, som beror på hur många rader du testar och hur lång texten är.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärt och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, och det är okomplicerat. Uppdatera “Route by Category”-switchen så att den innehåller era policynamn, duplicera sedan en av de befintliga guardrail-noderna (t.ex. Keyword Screening) och justera dess instruktion/prompt så att den matchar era regler. Många team lägger till kategorier som “endast godkända verktyg”, “inga finansiella råd” eller “inga kundidentifierare”. Om du vill att workflowet ska skriva tillbaka resultat i arket kan du lägga till en Google Sheets-åtgärd “Update row” efter varje kontroll.
Oftast är det ett OAuth-behörighetsproblem eller så är arket inte delat med rätt konto. Återanslut Google Sheets-uppgifterna i n8n, bekräfta att Document ID och arknamn är korrekta och säkerställ att kontot har åtkomst till filen. Om det fortfarande misslyckas, kontrollera om din organisation har Google Workspace-restriktioner som blockerar tredjepartsåtkomst.
I praktiken är hundratals rader per körning vanligt, och sedan skalar du därifrån baserat på din n8n-plan och Geminis rate limits.
Ofta ja, eftersom guardrails-testning kräver förgreningslogik och konsekventa, strukturerade outputs över flera kategorier. n8n gör det enklare att routa efter guardrail-typ, återanvända samma Gemini-konfiguration och hålla allt i ett workflow som du kan versionshantera och revidera. Zapier eller Make kan fungera om du bara har en enkel kontroll, men de blir snabbt klumpiga när du underhåller sju kontroller plus sanitizers. Dessutom spelar self-hosting roll här om du inte vill tänka på körningsbegränsningar varje gång du utökar din testsvit. Prata med en automationsspecialist om du vill ha hjälp att välja enklaste stacken för din situation.
Sätt upp det här en gång, och promptsäkerhet slutar vara en heroisk manuell insats. Du får tydligare risksignaler, snabbare granskningar och färre obehagliga överraskningar efter lansering.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.