Ditt team ställer samma frågor hela tiden. ”Vad hände med registreringarna förra veckan?” ”Vilken kampanj drev flest provperioder?” Och du fastnar i samma irriterande rutin: kör en fråga, kopiera resultatet till ett ark, bygg ett diagram, ta en skärmdump, klistra in i chatten och upprepa i morgon.
Postgres-diagramautomatisering slår först mot dataanalytiker eftersom du blir den mänskliga dashboarden. Men driftansvariga och grundare känner av det också, eftersom beslut fördröjs när diagrammet inte är klart.
Det här arbetsflödet gör en chattfråga till en Postgres/Supabase-fråga och en QuickChart-länk. Du får lära dig vad det gör, vad du behöver och hur du får det att passa dina egna rapporteringsvanor.
Så här fungerar automatiseringen
Här är hela arbetsflödet du kommer att sätta upp:
n8n Workflow Template: Postgres + QuickChart: delbara grafer från chatt
flowchart LR
subgraph sg0["When Executed by Another Workflow Flow"]
direction LR
n1@{ icon: "mdi:database", form: "rounded", label: "Execute SQL Query", pos: "b", h: 48 }
n2@{ icon: "mdi:play-circle", form: "rounded", label: "When Executed by Another Wor..", pos: "b", h: 48 }
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Create QuickChart"]
n6@{ icon: "mdi:robot", form: "rounded", label: "QuickChart Object Schema", pos: "b", h: 48 }
n8@{ icon: "mdi:brain", form: "rounded", label: "gpt-4o-mini-2", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "🤖Secondary Postgres Agent", pos: "b", h: 48 }
n11@{ icon: "mdi:robot", form: "rounded", label: "🤖Secondary QuickChart Agent", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "🔀Tool Agent Router", pos: "b", h: 48 }
n13@{ icon: "mdi:database", form: "rounded", label: "Table Definitions", pos: "b", h: 48 }
n15@{ icon: "mdi:swap-vertical", form: "rounded", label: "Final QuickChart URL", pos: "b", h: 48 }
n16@{ icon: "mdi:swap-vertical", form: "rounded", label: "QuickChart GET URL", pos: "b", h: 48 }
n17@{ icon: "mdi:database", form: "rounded", label: "DB Schema and Tables", pos: "b", h: 48 }
n18@{ icon: "mdi:brain", form: "rounded", label: "gpt-40-mini-1", pos: "b", h: 48 }
n18 -.-> n10
n8 -.-> n11
n5 --> n15
n1 -.-> n10
n13 -.-> n10
n16 --> n5
n17 -.-> n10
n12 --> n10
n12 --> n11
n6 -.-> n11
n11 --> n16
n2 --> n12
end
subgraph sg1["When chat message received Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When chat message received", pos: "b", h: 48 }
n3@{ icon: "mdi:wrench", form: "rounded", label: "query_db_tool", pos: "b", h: 48 }
n4@{ icon: "mdi:wrench", form: "rounded", label: "generate_quickchart_tool", pos: "b", h: 48 }
n7@{ icon: "mdi:brain", form: "rounded", label: "gpt-4o-mini", pos: "b", h: 48 }
n9@{ icon: "mdi:robot", form: "rounded", label: "🤖Primary Agent", pos: "b", h: 48 }
n14@{ icon: "mdi:memory", form: "rounded", label: "Postgres Chat Memory", pos: "b", h: 48 }
n7 -.-> n9
n3 -.-> n9
n14 -.-> n9
n4 -.-> n9
n0 --> n9
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 n2,n0 trigger
class n6,n10,n11,n9 ai
class n8,n18,n7 aiModel
class n3,n4 ai
class n14 ai
class n12 decision
class n1,n13,n17 database
class n5 api
classDef customIcon fill:none,stroke:none
class n5 customIcon
Varför det här spelar roll: svar borde inte kräva att du bygger om diagram
När data ligger i Postgres (eller Supabase) finns sanningen där, men den är inte åtkomlig för de flesta. Någon måste översätta en fråga till SQL, rimlighetskontrollera resultatet och sedan göra råa rader till något som en icke-analytiker snabbt kan läsa. I praktiken betyder det att samma få personer blir pingade hela dagen, diagram byggs om med lite olika filter och ingen litar fullt ut på förra veckans skärmdump eftersom frågan har försvunnit i en tråd någonstans. Arbetet är inte ”svårt”. Det är bara konstant.
Det blir mycket snabbt. Här är var det brukar fallera i riktiga team:
- Att svara på en ”snabb” metrisk fråga kan ta cirka 20 minuter när du räknar in följdfrågor och formatering.
- Diagram driver över tid eftersom alla bygger dem lite olika, så möten blir till debatter om siffrorna.
- Folk slutar be om data eftersom det känns långsamt, vilket gör att beslut tas på magkänsla.
- Viktig kontext försvinner eftersom chatttrådar inte sparar frågelogik eller diagraminställningar på ett återanvändbart sätt.
Det du bygger: fråga i chatten, få tillbaka en fråga + en diagramlänk
Det här arbetsflödet ger dig en chattbaserad ”dataassistent” som kan göra två saker: hämta svar från Postgres/Supabase och skapa en QuickChart-visualisering som du kan dela direkt. En användare skickar ett meddelande till chatttriggaren (till exempel: ”Visa veckointäkter för de senaste 12 veckorna som ett linjediagram”). Huvudagenten med AI läser begäran, avgör vilket verktyg som ska hantera den och skickar den vidare på rätt spår. Om det är en datafråga kör Postgres-assistenten SQL och kan även slå upp tabellscheman när begäran är vag. Om det är en diagramförfrågan bygger diagramassistenten en diagramkonfiguration, sedan anropar arbetsflödet QuickChart och returnerar en delbar URL.
Arbetsflödet startar med ett chattmeddelande och en router som avgör ”fråga” eller ”diagram”. Sedan använder det Postgres-verktyg plus strukturerad parsning för att hålla utdata förutsägbart. Till sist skapar det en korrekt formaterad diagramlänk (eller JSON-konfiguration) som du kan klistra in i Slack och gå vidare.
Det du bygger
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att ditt team ber om 10 diagram per vecka i Slack. Manuellt tar varje diagram ungefär 10 minuter att skriva eller justera SQL, ytterligare 10 minuter att göra det till ett diagram och dela det, plus några minuter med ”vänta, kan du filtrera på X?”. Det blir runt 4 timmar i veckan. Med det här arbetsflödet skickar den som frågar ett meddelande (en minut), automatiseringen kör frågan och bygger en QuickChart-länk i bakgrunden, och diagrammet är redo att delas utan att du bygger om det. Du får oftast tillbaka större delen av den tiden.
Innan du börjar
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Postgres- eller Supabase-databas för den data du vill fråga mot.
- QuickChart för att generera delbara diagram-bilder via URL.
- OpenAI API-nyckel (hämta den i din OpenAI API-dashboard)
Kunskapsnivå: Medel. Du kopplar in inloggningsuppgifter och justerar prompts, men du behöver inte bygga en hel app.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
Ett chattmeddelande triggar arbetsflödet. Chat Input Trigger tar emot en fråga som ”Diagram dagliga aktiva användare för de senaste 30 dagarna” och skickar sedan meddelandet till huvudagenten.
Agenten avgör vad du ber om. En switch för verktygsroutning skickar begäran till Postgres-assistenten för databasarbetet eller till diagramassistenten när begäran främst handlar om visualisering.
Data hämtas (med skyddsräcken). Postgres-sidan kan köra SQL-uttryck och även slå upp tabellscheman eller lista tabeller, vilket hjälper när användare inte känner till exakta kolumnnamn.
En QuickChart-länk byggs och returneras. Diagramassistenten genererar en strukturerad diagramdefinition, arbetsflödet konverterar den till en URL, anropar QuickChart via HTTP Request och skickar tillbaka en slutlig delbar länk till chatten.
Du kan enkelt ändra diagramschemat och prompt-instruktionerna så att de matchar dina KPI-definitioner och föredragna diagramtyper. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera chattriggern
Det här arbetsflödet startar från ett chattgränssnitt och skickar vidare användarens input till huvudagenten.
- Lägg till och öppna Chat Input Trigger.
- Lämna Options som standard om ni inte behöver egna chattinställningar.
- Bekräfta kopplingen: Chat Input Trigger → 🤖Main Agent Hub.
Steg 2: anslut Postgres-verktyg och chattminne
Arbetsflödet använder Postgres-verktyg för att köra SQL och slå upp scheman, och lagrar konversationshistorik i Postgres.
- Öppna Run SQL Statement och ställ in Query till
{{ $fromAI("sql_query", "SQL Query") }}. - Öppna Table Schema Lookup och behåll frågan som den är, inklusive
{{ $fromAI("table_name") }}och{{ $fromAI("schema_name") }}i WHERE-satsen. - Öppna List DB Tables och behåll SQL-frågan för att lista tabeller.
- Öppna Postgres Chat History och ställ in Table Name till
{{ $workflow.id }}_chat_history. - Credential Required: Anslut era postgres-uppgifter i Run SQL Statement, Table Schema Lookup, List DB Tables och Postgres Chat History.
Steg 3: konfigurera AI-agenten och verktygen
Huvudagenten avgör om den ska köra SQL-frågor eller bygga diagram med hjälp av verktygsarbetsflöden och modeller.
- Öppna 🤖Main Agent Hub och behåll System Message som instruerar verktygsanvändning.
- Öppna Database Query Tool och ställ in Workflow ID till
{{ $workflow.id }}; ställ in route tillquery_database_tooloch user_prompt till{{ $('Chat Input Trigger').item.json.chatInput }}. - Öppna Chart Builder Tool och ställ in Workflow ID till
{{ $workflow.id }}; ställ in route tillgenerate_chart_tool, db_records till{{ /*n8n-auto-generated-fromAI-override*/ $fromAI('db_records', `The database records`, 'string') }}och user_prompt till{{ $('Chat Input Trigger').item.json.chatInput }}. - Anslut språkmodeller: Compact GPT Model → 🤖Main Agent Hub, Compact GPT Model C → 🤖Postgres Assistant, Compact GPT Model B → 🤖Chart Assistant.
- Credential Required: Anslut era openAiApi-uppgifter i Compact GPT Model, Compact GPT Model B och Compact GPT Model C.
Steg 4: konfigurera verktygsroutning och trigger för underarbetsflöde
Det interna arbetsflödet routar verktygsanrop till rätt assistent baserat på verktygsnamnet.
- Öppna Workflow Call Trigger och bekräfta att den tar emot inputs: user_prompt, route och db_records.
- Öppna 🔀Tool Route Switch och behåll de två reglerna: route är lika med
query_database_tooloch route är lika medgenerate_chart_tool. - Bekräfta körflödet: Workflow Call Trigger → 🔀Tool Route Switch → 🤖Postgres Assistant eller 🤖Chart Assistant.
Steg 5: bygg och hämta diagramutdata
När diagramassistenten returnerar JSON bygger arbetsflödet en QuickChart-URL och hämtar bilden.
- Öppna 🤖Chart Assistant och behåll prompttexten; säkerställ att Has Output Parser är aktiverad.
- Öppna Chart Schema Parser och behåll JSON-schemaexemplet för Chart.js-utdata.
- Öppna Build Chart URL och ställ in tilldelningen url till
{{ "https://quickchart.io/chart?width=250&height=150&chart=" + $json.output.toJsonString() }}. - Öppna Request QuickChart och ställ in URL till
{{ encodeURI($json.url) }}. - Öppna Final Chart Link och ställ in quickchart_url till
{{ encodeURI($json.url) }}. - Bekräfta körflödet: 🤖Chart Assistant → Build Chart URL → Request QuickChart → Final Chart Link.
Steg 6: testa och aktivera ert arbetsflöde
Validera verktygsroutningen och diagramgenereringen innan ni aktiverar arbetsflödet.
- Klicka på Execute Workflow och skicka en exempelinput i chatten som begär databasedata och ett diagram.
- Verifiera körvägen: Chat Input Trigger → 🤖Main Agent Hub → verktygsarbetsflöde → 🔀Tool Route Switch → 🤖Postgres Assistant eller 🤖Chart Assistant.
- Bekräfta att slutresultatet innehåller en giltig quickchart_url från Final Chart Link.
- När ni är nöjda, växla arbetsflödet till Active för användning i produktion.
Felsökningstips
- Postgres/Supabase-inloggningsuppgifter kan gå ut eller kräva specifika behörigheter. Om saker slutar fungera, börja med att kontrollera behörigheter (grants) för databasanvändaren och anslutningsinställningarna i dina Postgres-noder.
- Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om noder längre fram fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera utdata för alltid.
Snabba svar
Cirka en timme om din databas och dina OpenAI-inloggningsuppgifter är klara.
Nej. Du kommer främst att koppla in inloggningsuppgifter och redigera prompts och inställningar för diagramschemat.
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 OpenAI API-kostnader, som oftast ligger på några cent per förfrågan beroende på promptens storlek.
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 dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det borde du troligen. Du kan justera utdataformatet i ”Chart Schema Parser” och fälten i ”Build Chart URL” för att stödja olika diagramtyper, etiketter och färger. Vanliga justeringar är att lägga in er KPI-ordlista i huvudagentens prompt, begränsa vilka tabeller som får frågas mot och standardisera datumintervall (som ”senaste 7 dagarna” vs ”hittills denna vecka”).
Oftast är det en felaktigt formaterad diagramkonfiguration som gör QuickChart-anropet ogiltigt, inte ”auth”. Kontrollera utdata från HTTP Request-noden och öppna den genererade URL:en i en webbläsare för att se felmeddelandet. Om det bara fallerar för vissa prompts, strama upp ditt diagramschema så att agenten inte kan skapa oväntade fält, och se till att dataset-värden är numeriska (QuickChart kan skapa fel på strängar i många diagramtyper).
Om du kör egen hosting begränsas volymen mest av din server och databas. På n8n Cloud hanterar Starter-planen några tusen körningar per månad och högre planer hanterar mer; det här arbetsflödet är vanligtvis en körning per fråga. I praktiken kan det hantera dussintals chattförfrågningar per timme utan problem så länge dina Postgres-frågor är effektiva. Den verkliga flaskhalsen är oftast långsam SQL eller rate limits hos din AI-leverantör, så börja med rimliga frågebegränsningar.
Ofta, ja. Det här arbetsflödet bygger på förgreningar (fråga vs diagram), parsning av strukturerad AI-utdata och Postgres-baserat minne, vilket allt går att göra i n8n utan att det blir ett dyrt flerstegsmonster. Zapier eller Make kan fortfarande fungera om du bara behöver ett enkelt flöde med ”fråga in, svar ut” och du inte frågar mot Postgres direkt. Så fort du vill ha schemauppslag, verktygsroutning eller chathistorik brukar n8n vara det lugnare valet. Om du är osäker, prata med en automationsexpert så mappar vi det mot din faktiska användning.
När det här väl rullar slutar ”kan du göra ett diagram på det?” att vara en uppgift och blir ett meddelande. Arbetsflödet tar hand om de repetitiva delarna, så att du kan lägga din tid på beslutet, inte skärmdumpen.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.