Du skriver ”gör en disposition för en landningssida”, klistrar in den i ett AI-verktyg och resultatet kommer tillbaka … okej. Så du justerar prompten. Sedan justerar du den igen. En vecka senare skriver du om samma ”perfekta prompt” ur minnet eftersom ingen sparade den bra versionen.
Den här promptbiblioteks-automationen slår hårdast mot marknadschefer och byråägare, eftersom konsekvens är hela spelet. Men produktteam känner också av det när kravspecar, briefs och supportmakron fortsätter att glida isär. Målet här är enkelt: färre omskrivningar, mer repeterbara AI-resultat och ett promptbibliotek som teamet faktiskt kan hitta.
Det här flödet bevakar Google Sheets efter nya ”råa idéer”, uppgraderar dem till strukturerade prompts med Gemini + Groq, sparar den förbättrade versionen och pingar dig i Telegram så att inget försvinner i en kalkylblads-kyrkogård.
Så fungerar den här automationslösningen
Se hur detta löser problemet:
n8n Workflow Template: Google Sheets + Telegram: bättre prompter, mindre omtag
flowchart LR
subgraph sg0["GetNewPrompt Flow"]
direction LR
n0@{ icon: "mdi:swap-vertical", form: "rounded", label: "PrepareForFirstGen - OPM", pos: "b", h: 48 }
n1@{ icon: "mdi:memory", form: "rounded", label: "ChatHistory - PM", pos: "b", h: 48 }
n2@{ icon: "mdi:brain", form: "rounded", label: "Qwen3 - PM", pos: "b", h: 48 }
n3@{ icon: "mdi:brain", form: "rounded", label: "Gemini - PM", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "PromptModifer", pos: "b", h: 48 }
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/>Parse AI Chat"]
n7["<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/>ExecutionController"]
n8["<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/telegram.svg' width='40' height='40' /></div><br/>Send Success Message To User"]
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Finalize ModifiedPrompt Data..", 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/telegram.svg' width='40' height='40' /></div><br/>Send Exceed Limits Error"]
n11@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch", pos: "b", h: 48 }
n12@{ icon: "mdi:play-circle", form: "rounded", label: "GetNewPrompt", pos: "b", h: 48 }
n13@{ icon: "mdi:cog", form: "rounded", label: "Workflow Complete", pos: "b", h: 48 }
n14@{ icon: "mdi:cog", form: "rounded", label: "Exit By Error", pos: "b", h: 48 }
n15@{ icon: "mdi:cog", form: "rounded", label: "Successfully Sent Message To..", pos: "b", h: 48 }
n16@{ icon: "mdi:database", form: "rounded", label: "Create/Upate Modified Prompt", pos: "b", h: 48 }
n11 --> n9
n11 --> n7
n11 --> n10
n2 -.-> n5
n3 -.-> n5
n12 --> n4
n6 --> n11
n5 --> n6
n4 --> n8
n4 --> n7
n1 -.-> n5
n7 --> n0
n0 --> n5
n10 --> n14
n16 --> n13
n8 --> n15
n9 --> 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 n12 trigger
class n5 ai
class n2,n3 aiModel
class n1 ai
class n11 decision
class n16 database
class n6,n7 code
classDef customIcon fill:none,stroke:none
class n6,n7,n8,n10 customIcon
Utmaningen: bra prompts byggs om från noll
De flesta team har inte ett ”promptproblem”. De har ett repeterbarhetsproblem. Någon skriver en helt okej prompt för en bloggdisposition, ett säljlmejl eller en intervjuguide, och nästa gång den behövs är den borta. Eller ännu värre: den ligger i en Slack-tråd från för tre månader sedan. Då startar cykeln igen: skriv om, testa, justera och hoppas att resultatet matchar det som funkade förra gången. Multiplicera det med att varje kollega har sin egen stil, så får du inkonsekventa resultat, mycket redigering och en tyst känsla av att ”AI är opålitligt”. Ärligt talat: det är ofta promptarna.
Det bygger snabbt på. Här är var det fallerar i det dagliga arbetet.
- Du tappar bort de bästa promptarna eftersom de ligger i personliga dokument, chattar eller webbhistorik.
- Små skillnader i prompten skapar stora skillnader i output, vilket betyder fler revisioner och långsammare godkännanden.
- Metadata saknas (ämne, typ, använd modell), så ingen kan söka eller återanvända något på ett tillförlitligt sätt.
- Manuell ”prompt engineering” blir en dold uppgift som äter en timme här och där hela veckan.
Lösningen: gör råa idéer till återanvändbara prompts automatiskt
Det här flödet börjar i verktyget som teamet redan använder för att dumpa idéer: Google Sheets. När en ny rad dyker upp i en OriginalPrompts-flik plockar n8n upp den, batchar den på ett säkert sätt och skickar den råa prompten till en AI-baserad ”förbättringsagent” med Gemini och Groq. Agenten skriver inte bara om din text. Den expanderar prompten till ett mer professionellt format med tydligare instruktioner, variabler du kan återanvända och kontext som ger stabilare resultat. Därefter extraherar flödet AI-svaret, kontrollerar att outputen uppfyller grundläggande valideringsregler och bygger en slutversion med de saknade fälten ifyllda. Till sist gör den en upsert av den förbättrade prompten i en ModifiedPrompts-flik och skickar en Telegram-notis så att du vet att det fungerade (eller varför det inte gjorde det).
Flödet startar i samma stund som en ny prompt läggs till i Google Sheets. AI förbättrar och formaterar den, sedan avgör valideringen om den sparas eller flaggas. Telegram håller dig uppdaterad utan att du behöver vakta arket.
Vad som förändras: före vs. efter
| Detta elimineras | Effekten du märker |
|---|---|
|
|
Effekt i verkligheten
Säg att teamet lägger in 20 råa prompts per vecka i ett delat ark (briefs, sociala inlägg, outreach-meddelanden). Manuellt, även om du bara lägger cirka 10 minuter på att ”uppgradera” varje prompt till något konsekvent, blir det ungefär 3 timmar pill. Med det här flödet tar det en minut att släppa in idén i arket, sedan kör AI-pipelinen i bakgrunden och skriver den strukturerade versionen i ModifiedPrompts medan Telegram bekräftar att allt lyckades. Du granskar fortfarande de bästa, men du gör inte längre samma formaterings- och kontextjobb om och om igen.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra original- och förbättrade prompts.
- Telegram för att ta emot notiser om lyckade körningar och fel.
- Gemini + Groq API-nycklar (hämta dem från Google AI Studio och Groq-konsolen).
Kunskapsnivå: Medel. Du kopplar konton, lägger in API-nycklar och matchar dina kolumner i arket mot flödet.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Flödet steg för steg
En ny rad dyker upp i Google Sheets. Flödet använder en Google Sheets-trigger för att övervaka din OriginalPrompts-flik efter nya promptinlägg och hämtar dem för bearbetning.
Poster bearbetas i säkra batchar. Ett batchsteg hjälper till att hålla det stabilt när flera prompts läggs till samtidigt (t.ex. efter en brainstorm), och en liten ”grindvakt”-kontroll hjälper till att förhindra återbearbetning och skenande körningar.
AI uppgraderar din råa idé till en strukturerad prompt. Gemini och Groq driver en agent som expanderar prompten, lägger till tydligare instruktioner och skapar extra fält som titel, ämneskategorier, prompttyp och förbättringsnoteringar. Ett kodsteg extraherar sedan de användbara delarna från modellsvar så att arket håller sig korrekt formaterat.
Validering styr lyckat vs. fel. En switch kontrollerar om obligatoriska fält finns. Om något saknas eller om en gräns nås skickar flödet en Telegram-varning; om allt ser bra ut bygger det slutprompten och skriver in den i ModifiedPrompts med tidsstämplar och en isProcessed-flagga.
Du kan enkelt justera valideringsreglerna och kolumnerna för output så att de matchar hur du vill att biblioteket ska se ut. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera Google Sheets-triggern
Konfigurera arbetsflödet så att det bevakar nya promptrader i Google Sheets.
- Lägg till och öppna Fetch New Prompts som din trigger.
- Inloggning krävs: Anslut era googleSheetsTriggerOAuth2Api-uppgifter.
- Ställ in Document på ert mål-kalkylark (välj via väljaren).
- Ställ in Sheet Name på arket som innehåller era prompts.
- Under Columns To Watch, lägg till
Original Prompt IDochOriginal Prompt. - Ställ in Poll Times på
everyMinute.
Steg 2: Anslut Google Sheets för lagring av output
Konfigurera output-arket där förbättrade prompts sparas.
- Öppna Upsert Modified Prompt och ställ in Operation på
appendOrUpdate. - Inloggning krävs: Anslut era googleSheetsOAuth2Api-uppgifter.
- Välj samma Document (eller ett annat målark) och välj Sheet Name som
ModifiedPrompt. - Verifiera mappningsvärden som Topic →
{{ $json.Topic }}och Modified Prompt →{{ $json["Modified Prompt"] }}. - Bekräfta att Original Prompt ID är mappat till
{{ $json["Original Prompt ID"] }}för matchning vid uppdateringar.
Steg 3: Sätt upp batchbearbetning och körningskontroll
Säkerställ att varje ny prompt behandlas säkert och utan dubbletter.
- Öppna Iterate Batch Items och låt standardinställningarna vara (den batchar inkommande rader).
- Konfigurera Execution Gatekeeper (Code-nod) för att begränsa dubblettkörningar och omförsök; behåll den medföljande JavaScript-koden intakt.
- I Initialize First Pass, ställ in fältmappningarna:
- Sätt Original Prompt ID till
{{ $json["Original Prompt ID"] }}, chatInput till{{ $json.chatInput }}och systemMessage till{{ $json.systemMessage }}. - Låt isProcessed vara
falseoch sessionId vara0.
Iterate Batch Items skickar output parallellt till både Send Success Update och Execution Gatekeeper.
Steg 4: Sätt upp AI-stacken för förbättring
Anslut agenten, minnet och modellerna som används för promptförbättring.
- Öppna Prompt Enhancement Agent och säkerställ att System Message är satt till
{{ $json.systemMessage }}och att needsFallback är aktiverat. - Koppla Conversation Memory Buffer som minnes-subnod och ställ in Context Window Length till
4. - Koppla Qwen Chat Model och ställ in Model till
qwen/qwen3-32b. - Inloggning krävs: Anslut era groqApi-uppgifter i Qwen Chat Model.
- Koppla Gemini Chat Model som en andra språkmodell.
- Inloggning krävs: Anslut era googlePalmApi-uppgifter i Gemini Chat Model.
Steg 5: Parsea och validera AI-output
Transformera AI-svar till strukturerade fält och routa baserat på fullständighet.
- Gå igenom Extract AI Response och säkerställ att parserns JavaScript förblir intakt (den extraherar JSON från AI-outputen).
- Öppna Route by Validation och bekräfta att regeluttrycken finns, till exempel
{{ (!$json["Original Prompt ID"] || !$json["Topic"] || !$json["Prompt Title"] || !$json["Topic Categories"] || !$json["Prompt Type"] || !$json["Improvement Notes"]) && ($json["Operation Counts"] <= 2) }}. - Säkerställ att outputen med namnet allDatavalid är kopplad till Assemble Final Prompt.
- Säkerställ att missingData loopar tillbaka till Execution Gatekeeper för omförsök.
- Säkerställ att exceedLimits går till Notify Limit Error.
Steg 6: Konfigurera output-åtgärder och notiser
Slutför posten för den förbättrade prompten och skicka Telegram-uppdateringar.
- I Assemble Final Prompt, bekräfta fältmappningar som Prompt Title →
{{ $json["Prompt Title"] }}och Last Updated →{{ $now.toISO() }}. - Send Success Update ska använda meddelandetexten som innehåller uttryck som
{{ $('Upsert Modified Prompt').item.json['Prompt Title'] }}och{{ $now.toFormat('HH:mm') }}. - Inloggning krävs: Anslut era telegramApi-uppgifter i Send Success Update.
- Notify Limit Error ska behålla felmallen och använda uttryck som
{{ $('Fetch New Prompts').item.json['Original Prompt ID'] }}. - Inloggning krävs: Anslut era telegramApi-uppgifter i Notify Limit Error.
- Lämna Workflow Finish Marker, Success Dispatch Marker och Error Exit Marker som de är för spårning av flödets slutförande.
Steg 7: Testa och aktivera ert arbetsflöde
Verifiera att varje väg fungerar innan ni slår på automatiserad polling.
- Klicka på Execute Workflow och lägg till en testrad i ert Google Sheet med
Original Prompt IDochOriginal Prompt. - Bekräfta att Fetch New Prompts triggas och att Upsert Modified Prompt skriver en rad med
Modified PromptochPrompt Title. - Verifiera att ett Telegram-meddelande skickas av Send Success Update med en giltig förhandsvisning.
- Om fält saknas, säkerställ att Route by Validation loopar tillbaka via Execution Gatekeeper tills allt är komplett.
- När det fungerar, växla arbetsflödet till Active så att Fetch New Prompts körs varje minut.
Se upp för
- Google Sheets OAuth-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det slutar fungera: kontrollera först skärmen Credentials i n8n och att ditt Google-konto fortfarande har åtkomst till kalkylbladet.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre ned i flödet fallerar på tomma svar.
- Standardprompts i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera output för alltid.
Vanliga frågor
Cirka 5 minuter när arket och API-nycklarna är klara.
Ja, men någon behöver vara bekväm med att koppla OAuth och klistra in API-nycklar. Efter det handlar det mest om att matcha kolumner i arket och testa några exempelrader.
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 volym. Du behöver också räkna in användning av Gemini- och Groq-API:er, vilket beror på hur många prompts du bearbetar.
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 klarar n8n bra. Egen hosting ger obegränsade körningar men kräver grundläggande serveradministration.
Du kan byta AI-modeller genom att ändra delarna för Gemini Chat Model eller Qwen Chat Model (Groq) i flödet, samtidigt som du behåller samma Google Sheets- och Telegram-delar. Vanliga anpassningar är att tvinga in er tonalitet i förbättringsagenten, lägga till obligatoriska fält i reglerna för ”Route by Validation” och mappa fler kolumner i den sista upsert:en till ModifiedPrompts.
Oftast beror det på att OAuth-åtkomsten har löpt ut eller att det anslutna Google-kontot inte längre har behörighet till kalkylbladet. Återanslut Google Sheets-credential i n8n, bekräfta att arket fortfarande finns och dubbelkolla att fliknamnen matchar exakt (OriginalPrompts och ModifiedPrompts). Om det bara fallerar ibland kan kvotgränser eller för många snabba ändringar också ge instabilt trigger-beteende.
I de flesta miljöer hanterar den utan problem dussintals nya prompts per dag, och batchning hjälper när du klistrar in en större brainstormlista. Begränsningar i n8n Cloud beror på din prenumeration, medan egen hosting inte har något fast tak för körningar (serverresurserna blir gränsen). Om du planerar att bearbeta hundratals per dag behöver du hålla koll på AI:ns rate limits och överväga schemalagda batchar för att jämna ut lasten. Telegram är oftast okej, men för mycket larm kan bli störande, så många team notifierar bara vid fel när volymen ökar.
För det här flödet har n8n några fördelar: mer komplex logik med obegränsad förgrening utan extra kostnad, möjlighet till egen hosting för obegränsade körningar och inbyggda agent-/kodsteg som är svårare att återskapa i enkla Zapier-flöden. Zapier eller Make kan fortfarande fungera om du bara behöver ”ny rad → skicka meddelande” och inget mer. Det här innehåller valideringsstyrning, batchning och strukturerad AI-extraktion, vilket är där n8n ofta känns lugnare att underhålla. Om du väljer plattform för ett team betyder möjligheten att self-hosta mer än folk tror. Prata med en automationsexpert om du är osäker på vad som passar.
Dina prompts slutar vara engångsexperiment och blir en tillgång. Sätt upp det en gång, låt biblioteket växa och håll teamet i rörelse.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.