Att svara på ”snabba” datafrågor i Slack blir ofta ett miniprojekt. Du gräver i Postgres, kör om en fråga eftersom frågan ändrades, och klistrar sedan in siffror som ingen riktigt litar på (och någon ber ändå om ett diagram).
Den här Postgres Slack-automationen träffar dataanalytiker först, men produktansvariga och ops-team känner också av friktionen. I stället för att växla kontext hela dagen kan du svara med en tydlig förklaring och en QuickChart-visual i samma meddelande.
Nedan ser du vad arbetsflödet gör, hur det avgör när ett diagram behövs och vad du behöver för att köra det stabilt utan att behöva passa det.
Så fungerar automationen
Hela n8n-arbetsflödet, från trigger till slutlig output:
n8n Workflow Template: Postgres till Slack, snabba svar med QuickChart
flowchart LR
subgraph sg0["When chat message received Flow"]
direction LR
n0@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n1@{ icon: "mdi:cog", form: "rounded", label: "Execute Workflow", pos: "b", h: 48 }
n5@{ icon: "mdi:play-circle", form: "rounded", label: "When chat message received", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Text output", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Text + Chart output", pos: "b", h: 48 }
n8@{ icon: "mdi:robot", form: "rounded", label: "AI Agent", pos: "b", h: 48 }
n9@{ icon: "mdi:memory", form: "rounded", label: "Window Buffer Memory", pos: "b", h: 48 }
n10@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model Classifier", pos: "b", h: 48 }
n11@{ icon: "mdi:robot", form: "rounded", label: "Text Classifier - Chart requ..", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-vertical", form: "rounded", label: "User question + Agent initia..", pos: "b", h: 48 }
n13@{ icon: "mdi:robot", form: "rounded", label: "Information Extractor - User..", pos: "b", h: 48 }
n8 --> n11
n1 --> n7
n0 -.-> n8
n0 -.-> n13
n9 -.-> n8
n5 --> n13
n10 -.-> n11
n11 --> n12
n11 --> n6
n13 --> n8
n12 --> n1
end
subgraph sg1["Execute "Generate a chart" tool Flow"]
direction LR
n2@{ icon: "mdi:play-circle", form: "rounded", label: "Execute 'Generate a chart' t..", pos: "b", h: 48 }
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/>OpenAI - Generate Chart defi.."]
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set response", pos: "b", h: 48 }
n2 --> n3
n3 --> n4
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 n5,n2 trigger
class n8,n11,n13 ai
class n0,n10 aiModel
class n9 ai
class n3 api
classDef customIcon fill:none,stroke:none
class n3 customIcon
Problemet: Slack-frågor blir manuell rapportering
Ett enkelt Slack-meddelande som ”Hur många registreringar fick vi den här veckan, och kan du bryta ner det per kanal?” låter ofarligt. Sedan öppnar du en SQL-klient, försöker förstå vad de egentligen menade, kör frågor och översätter råa rader till något en icke-teknisk kollega kan agera på. Om de vill ha ett diagram tar du nu skärmdumpar från en dashboard eller bygger en snabb graf i ett annat verktyg. Det blir mycket kontextbyten, och det stjäl tid från riktig analys.
Friktionen byggs på. Några avbrott per dag blir hela eftermiddagen.
- Du får svara på samma frågor om och om igen eftersom inget är standardiserat eller sparat i tråden.
- Manuell copy-paste bjuder in misstag, och en enda felaktig siffra kan spåra ur ett möte.
- Diagram kräver extra verktyg, extra steg, och någon ber alltid om ”bara en uppdelning till”.
- Snabba Slack-svar betyder ofta mindre säkra svar, eftersom folk delar mer rådata än de borde.
Lösningen: fråga i chatten, fråga Postgres, svara med text + diagram
Det här n8n-arbetsflödet förvandlar en Slack-liknande fråga till ett strukturerat svar som drivs av din Postgres-databas. Det startar när någon chattar med agenten (via n8n:s chat-trigger), och en informationsutvinnare plockar ut själva frågan så att den inte gissar utifrån utfyllnadsord. Därefter ansluter SQL-agenten till din databas, bygger frågan, kör den och översätter resultatet till en tydlig förklaring. Sedan kontrollerar en textklassificerare om en visualisering faktiskt skulle hjälpa. Om ja, anropar ett underarbetsflöde OpenAI med strukturerad output för att skapa en diagramdefinition, bygger sedan en QuickChart-URL och returnerar länken till diagram-bilden tillsammans med det skrivna svaret.
Arbetsflödet börjar med en chat-prompt, skickar den genom extraktion och en AI-baserad SQL-agent och avgör sedan ”endast text” kontra ”text + diagram”. När ett diagram triggas ger QuickChart en färdig bildlänk, så att du slipper skapa grafer manuellt.
Det du får: automation kontra resultat
| Vad arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att ditt team ber om 10 ”snabba uttag” per vecka i Slack. Manuellt lägger även en noggrann analytiker ofta cirka 15 minuter per förfrågan på att skriva SQL, rimlighetskontrollera och formatera ett läsbart svar, vilket blir ungefär 2,5 timmar. Med det här arbetsflödet blir ”arbetet” att ställa frågan i chatten (kanske 30 sekunder) och vänta på att agenten svarar med text och en QuickChart-länk (ofta under en minut). Du får tillbaka runt 2 timmar de flesta veckor, och svaren blir mer konsekventa.
Det du behöver
- n8n-instans (prova n8n Cloud gratis)
- Självhosting-alternativ om du föredrar det (Hostinger fungerar bra)
- Postgres för databasen du vill fråga mot
- Slack för att ställa frågor och ta emot svar
- OpenAI API-nyckel (hämta den i din OpenAI-dashboard)
Svårighetsgrad: Medel. Du kopplar upp autentisering, bekräftar databasåtkomst och justerar prompts på ett säkert sätt.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Ett chatmeddelande triggar körningen. Någon ställer en fråga via arbetsflödets inkommande chat-trigger, vilket startar hela processen i n8n.
Frågan städas upp och förstås. En informationsutvinnare plockar ut kärnbegäran så att agenten fokuserar på ”veckoregistreringar per kanal”, inte de extra orden runt omkring. Sessionsminne hjälper konversationen att hålla ihop om någon följer upp med ”visa nu bara organisk”.
SQL-agenten frågar Postgres och skriver förklaringen. AI-agenten genererar SQL, kör den mot din databas och omvandlar resultatet till ett lättläst svar som du kan klistra in direkt i en tråd.
En klassificerare avgör om ett diagram är värt det. Om en visualisering hjälper anropar arbetsflödet ett diagrambyggande underarbetsflöde som begär ett strukturerat diagramschema från OpenAI, och bygger sedan en QuickChart-URL och bifogar den till svaret.
Du kan enkelt justera reglerna för diagram-beslutet så att de blir striktare eller generösare utifrån dina behov. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera chatt-triggern
Det här arbetsflödet börjar med en offentlig chatt-trigger som tar emot användarfrågor och startar SQL- och diagramflödet.
- Lägg till noden Incoming Chat Trigger och aktivera Public genom att ställa in public till
true. - Ha den genererade webhook-URL:en från Incoming Chat Trigger till hands för att testa chattinmatningar.
Steg 2: anslut AI-modeller och sessionsminne
Konfigurera OpenAI-modellerna och minneskomponenten som används av agenten och klassificeraren.
- Öppna OpenAI Chat Engine och ställ in Model till
gpt-4o. Credential Required: Anslut eraopenAiApi-inloggningsuppgifter. - Öppna OpenAI Chat Classifier och anslut den som språkmodell för Assess Chart Requirement. Credential Required: Anslut era
openAiApi-inloggningsuppgifter. - Konfigurera Session Memory Buffer med Session Key satt till
{{ $('Incoming Chat Trigger').item.json.sessionId }}och Session ID Type satt tillcustomKey. - Bekräfta att Session Memory Buffer är ansluten som minne till SQL Agent Processor (inloggningsuppgifter hanteras på överordnad nod, inte på minnes-subnoden).
Steg 3: sätt upp SQL-bearbetningskedjan
Extrahera användarens fråga, kör SQL mot er databas och skapa ett svar i naturligt språk.
- Konfigurera Extract User Query med Text satt till
{{ $json.chatInput }}för att isolera användarens fråga. - I SQL Agent Processor ställer ni Text till
{{ $json.output.user_question }}och behåller Agent somsqlAgentmed Prompt Type satt tilldefine. - Credential Required: Anslut era
postgres-inloggningsuppgifter i SQL Agent Processor. - Verifiera att OpenAI Chat Engine är ansluten som språkmodell för SQL Agent Processor och Extract User Query.
Steg 4: klassificera diagrambehov och förbered payload
Avgör om ett diagram behövs och paketera datan för ett underarbetsflöde.
- I Assess Chart Requirement ställer ni Input Text till
**User Request**: {{ $('Incoming Chat Trigger').item.json.chatInput }} **Data to visualize**: {{ $json.output }}. - Säkerställ att kategorierna inkluderar
chart_requiredochchart_not_requiredenligt definitionen i noden. - I Capture Query and Reply ställer ni user_question till
{{ $('Incoming Chat Trigger').item.json.chatInput }}och output till{{ $json.output }}. - Koppla utdata från Assess Chart Requirement till Capture Query and Reply för fall där diagram krävs och till Assign Text Output för svar med enbart text.
Steg 5: konfigurera underarbetsflödet och verktyget för diagrambyggaren
Diagramvägen anropar ett underarbetsflöde som bygger ett Chart.js-schema och genererar en QuickChart-länk.
- Öppna Run Sub-Workflow (Configure Required) och ställ in Workflow ID till mål-underarbetsflödet; låt Wait For Sub Workflow vara aktiverat.
- I underarbetsflödet behåller ni Trigger Chart Builder Tool som startpunkt och kopplar den till Request Chart Schema API.
- Konfigurera Request Chart Schema API med URL
https://api.openai.com/v1/chat/completions, MethodPOST, AuthenticationpredefinedCredentialTypeoch HeaderContent-Type: application/json. Credential Required: Anslut eraopenAiApi-inloggningsuppgifter. - Säkerställ att JSON Body använder det angivna uttrycket, inklusive
{{ $json.user_question }}och{{ $json.output.replaceAll('\\n', " ").replaceAll('\\"', "") }}i användarmeddelandet. - I Compose Chart Link ställer ni output till
{{ "https://quickchart.io/chart?width=200&c=" + encodeURIComponent($json.choices[0].message.content) }}.
Steg 6: konfigurera sammanställning av utdata
Bygg den slutliga svarstexten med eller utan länken till diagrambilden.
- I Assign Text Output ställer ni output till
{{ $('SQL Agent Processor').item.json.output }}för svar med enbart text. - I Assign Text and Chart ställer ni output till
{{ $('SQL Agent Processor').item.json.output }} för att lägga till diagrambilden. - Verifiera körordningen: SQL Agent Processor → Assess Chart Requirement → Capture Query and Reply → Run Sub-Workflow (Configure Required) → Assign Text and Chart.
Steg 7: testa och aktivera ert arbetsflöde
Kör ett manuellt test för att bekräfta att både svar med enbart text och svar med diagram fungerar från början till slut.
- Klicka på Execute Workflow och skicka en exempelfråga till Incoming Chat Trigger (t.ex. ”Show monthly revenue by product”).
- Bekräfta att SQL Agent Processor returnerar ett formaterat svar och att Assess Chart Requirement routar på rätt sätt.
- För prompts där diagram krävs, verifiera att Compose Chart Link ger en giltig QuickChart-URL och att Assign Text and Chart inkluderar inbäddad bild-markdown.
- Aktivera arbetsflödet med Active-reglaget när testerna lyckas.
Vanliga fallgropar
- Postgres-uppgifter kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera först rättigheter (grants) för din databasanvändare och credential-posten i n8n.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på grund av tomma svar.
- Standardprompterna i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera output för alltid.
Vanliga frågor
Cirka en timme om din databas och din OpenAI-nyckel är redo.
Nej. Du kopplar mest konton och justerar ett par prompts.
Ja. n8n har ett gratis självhostat alternativ 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 OpenAI API-användning (ofta några dollar i månaden för lätt intern Q&A).
Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) eller självhosting på en VPS. För självhosting är Hostinger VPS prisvärd och hanterar n8n bra. Självhosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, men då vill du byta databasanslutningen som används av SQL Agent Processor till MySQL-uppgifter och sedan testa om med några riktiga frågor. Vanliga anpassningar är att tvinga diagram för vissa nyckelord (som ”trend” eller ”per månad”), begränsa vilka tabeller agenten får komma åt och ändra QuickChart-stilen så att den matchar ert varumärke.
Oftast beror det på utgångna credentials eller att databasanvändaren saknar behörighet att läsa tabellerna som frågan berör. Uppdatera Postgres-credential i n8n och bekräfta sedan nätverksåtkomst (VPN, IP-allowlists eller Supabase-projektinställningar om du använder det). Om fel bara händer under stressiga dagar kan du slå i anslutningsgränser, så minska parallellitet eller använd en poolad anslutning.
Om du självhostar finns ingen hård gräns för körningar; det beror främst på din server- och databaskapacitet.
Ofta ja, eftersom det här flödet behöver förgrenad logik (endast text vs. diagram), ett agent-liknande databasteg och ett underarbetsflöde som sätter ihop en QuickChart-bild. Zapier och Make kan göra delar av det, men kostnader och komplexitet ökar snabbt när du lägger till AI-anrop, minne och villkorliga vägar. n8n är också enklare att självhosta, vilket spelar roll om du vill ha tajtare kontroll över dataåtkomst. Samtidigt: om ditt use case bara är ”kör en fråga och posta ett meddelande” kan enklare verktyg räcka. Prata med en automationsexpert om du vill ha en snabb rekommendation.
När detta väl kör är Slack-frågor inte längre avbrott, utan snabba och pålitliga uppdateringar. Sätt upp det, finjustera prompterna och låt arbetsflödet hantera det repetitiva fram och tillbaka.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.