Dina leveransdata finns i BigQuery, men svaren sitter fast i någons huvud (eller i en kö bakom ”kan du ta fram den här rapporten?”-förfrågningar). Då gissar folk. Eller så väntar de. Eller så klistrar de in siffror i Slack som ingen riktigt litar på.
Det är här Slack BigQuery-automatisering gör som mest nytta: logistikchefer som behöver avlasta ett distributionsteam, analytiker som tröttnat på att vara ett mänskligt SQL-lager, och driftansvariga som bara vill ha ett tydligt svar på morgonmötet. Du ställer en fråga i chatten och får ett svar på klarspråk tillbaka, förankrat i din BigQuery-tabell.
Den här guiden går igenom vad workflowet gör, vad du behöver och hur du kan tänka kring anpassningar så att det passar din övervakning av leveranser och utgående order.
Så fungerar den här automatiseringen
Här är hela workflowet som du kommer att sätta upp:
n8n Workflow Template: Slack + BigQuery: fraktsvar utan SQL
flowchart LR
subgraph sg0["User Chat Flow"]
direction LR
n0@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Conversation Model", pos: "b", h: 48 }
n1@{ icon: "mdi:robot", form: "rounded", label: "AI Orchestration Agent", pos: "b", h: 48 }
n2@{ icon: "mdi:wrench", form: "rounded", label: "Invoke Query Utility", pos: "b", h: 48 }
n6@{ icon: "mdi:memory", form: "rounded", label: "Dialogue Memory Buffer", pos: "b", h: 48 }
n7@{ icon: "mdi:play-circle", form: "rounded", label: "User Chat Trigger", pos: "b", h: 48 }
n6 -.-> n1
n2 -.-> n1
n0 -.-> n1
n7 --> n1
end
subgraph sg1["Tool-Initiated Flow"]
direction LR
n3@{ icon: "mdi:cog", form: "rounded", label: "Run BigQuery Request", pos: "b", h: 48 }
n4@{ icon: "mdi:play-circle", form: "rounded", label: "Tool-Initiated Trigger", 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/code.svg' width='40' height='40' /></div><br/>Clean SQL Payload"]
n5 --> n3
n4 --> n5
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 n7,n4 trigger
class n1 ai
class n0 aiModel
class n2 ai
class n6 ai
class n5 code
classDef customIcon fill:none,stroke:none
class n5 customIcon
Varför det här är viktigt: frågor om leveranser fastnar alltid i en flaskhals
I logistiken kommer frågor inte prydligt paketerade i en veckorapport. De dyker upp mitt i skiftet i Slack: ”Vad är sent till Lyon?”, ”Vilken transportör sticker iväg i förseningar?”, ”Hur många ordrar är fortfarande otilldelade?” Om enda sättet att svara är att öppna BigQuery, skriva SQL, rimlighetskontrollera joins och sedan klistra in resultatet tillbaka i chatten, då har du skapat ett mänskligt beroende. Det är också skört. Ett skrivfel, ett fel filter, och teamet fattar beslut på dåliga siffror. Det värsta är den mentala belastningen: du byter kontext hela dagen i stället för att driva verksamheten.
Det eskalerar snabbt. Här är var det faller isär i verkliga team:
- Varje ”snabb fråga” blir ett avbrott som drar bort en analytiker från faktiskt förbättringsarbete.
- Folk slutar fråga för att de inte vill störa, vilket gör att problem upptäcks sent.
- Manuell SQL-copy-paste in i Slack skapar ett förtroendeproblem, särskilt när två personer tar fram lite olika siffror.
- Följdfrågor tar evigheter eftersom kontexten försvinner och du måste återskapa frågan varje gång.
Det du bygger: en chattagent som frågar BigQuery och ger svar om leveranser
Det här workflowet gör din leverans- eller utgående order-tabell i Google BigQuery till något som teamet faktiskt kan använda i stunden. En användare ställer en fråga i chatten (Slack i den här artikeln, men mallen kan anpassas till Teams, Telegram eller webbchatt). En AI-agent läser frågan, listar ut vilken data som behövs och genererar rätt SQL för ditt BigQuery-schema. Innan något körs rensar och formaterar workflowet SQL-payloaden så att BigQuery får exakt det den förväntar sig. BigQuery kör frågan och workflowet svarar sedan på klarspråk så att resultatet går att förstå utan att scrolla igenom råa rader. Eftersom agenten har korttidsminne från chatten fungerar följdfrågor som en riktig konversation i stället för en ny ticket varje gång.
Workflowet börjar med ett användarmeddelande, sedan avgör agenten vilken SQL som ska köras för frågan. När SQL:en har rensats och körts i BigQuery returneras svaret tillbaka till chatten med tillräcklig kontext för att stödja ett beslut.
Det du bygger
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att ditt distributionsteam ställer cirka 10 leveransfrågor per dag i Slack. Manuellt tar varje fråga ofta runt 10 minuter: öppna BigQuery, skriva SQL, köra den, dubbelkolla totaler och förklara tillbaka i chatten, alltså ungefär 100 minuter per dag. Med det här workflowet är det i princip omedelbart att ställa frågan, och agenten returnerar vanligtvis ett svar på under en minut. Det är ungefär en timme tillbaka per dag, plus färre ”vänta, är vi säkra?”-varv.
Innan du börjar
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Google BigQuery för din tabell med utgående ordrar eller leveranser
- Slack för att ställa frågor där teamet arbetar
- OpenAI API-nyckel (hämta den i OpenAI-dashboarden)
Kunskapsnivå: Nybörjare. Du kopplar konton, klistrar in en API-nyckel och mappar detaljer för din BigQuery-tabell.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
En användare ställer en leveransfråga i chatten. Workflowet börjar med en chatt-trigger, som kan kopplas till Slack så att frågorna kommer från samma kanal som teamet redan använder.
AI-agenten tolkar förfrågan. Med en OpenAI-chattmodell plus en orkestreringsagent avgör workflowet vad användaren egentligen frågar (sena leveranser, transportörers prestation, väntande ordrar) och skapar ett utkast till den SQL som behövs för att svara.
SQL:en rensas och körs. Ett litet kodsteg rensar SQL-payloaden, sedan kör workflowet frågan via en Google BigQuery-nod mot din tabell för utgående ordrar.
Svaret kommer tillbaka på klarspråk, med minne. Svaret postas tillbaka i chatten, och en minnesbuffer håller kort kontext så att följdfrågor fungerar utan att börja om.
Du kan enkelt ändra chatt-inträdet till Teams, Telegram eller en webbwidget beroende på behov. Se hela implementationsguiden nedan för alternativ för anpassning.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera chattriggern
Det här arbetsflödet startar när en användare skickar ett meddelande i chattgränssnittet, som skickas direkt till AI-agenten för tolkning.
- Lägg till noden User Chat Trigger som startpunkt.
- Lämna Options tomt om ni inte vill anpassa chattupplevelsen.
- Bekräfta körflödet: User Chat Trigger → AI Orchestration Agent.
Steg 2: Koppla arbetsflödet för BigQuery-verktyget
AI-agenten använder ett verktyg för att köra SQL mot BigQuery. Verktyget måste peka mot ett arbetsflöde som börjar med en Execute Workflow-trigger.
- Öppna Invoke Query Utility och ställ in Name till
bigquery_tool. - Ställ in Workflow ID till arbetsflödet som innehåller Tool-Initiated Trigger (samma arbetsflöde i den här konfigurationen).
- I workflowInputs mappar ni query till
{{ $fromAI("query", "SQL query to run") }}. - Observera att Invoke Query Utility är en AI-verktygsundernod; autentiseringsuppgifter ska läggas till i den överordnade AI-konfigurationen, inte här.
Steg 3: Sätt upp AI-orkestreringslagret
AI-agenten tolkar användarens avsikt, bygger SQL och anropar BigQuery-verktyget. Den använder en chattmodell och en minnesbuffert för kontext.
- Öppna OpenAI Conversation Model och ställ in Model till
gpt-4o-mini. - Autentiseringsuppgifter krävs: Anslut era OpenAI-uppgifter i OpenAI Conversation Model.
- Öppna AI Orchestration Agent och klistra in systeminstruktionerna i System Message (prompten för SQL-assistenten för supply chain).
- Anslut OpenAI Conversation Model till AI Orchestration Agent som språkmodell.
- Anslut Invoke Query Utility till AI Orchestration Agent som verktyg.
- Anslut Dialogue Memory Buffer till AI Orchestration Agent som minneslager.
- Kom ihåg: Dialogue Memory Buffer är en AI-minnesundernod; autentiseringsuppgifter (om det behövs) ska läggas till i den överordnade AI-konfigurationen, inte här.
Steg 4: Konfigurera körvägen för BigQuery
När verktyget anropas rensar arbetsflödet SQL-payloaden och kör den i BigQuery.
- I Tool-Initiated Trigger, säkerställ att workflowInputs innehåller ett fält som heter query.
- Öppna Clean SQL Payload och behåll JavaScript Code exakt som:
return [ { json: { query: $input.first().json.query.replace(/```sql|```/g, "").trim() } }]; - Öppna Run BigQuery Request och ställ in SQL Query till
{{ $json.query }}. - Autentiseringsuppgifter krävs: Anslut era Google BigQuery-uppgifter i Run BigQuery Request.
- Bekräfta körflödet: Tool-Initiated Trigger → Clean SQL Payload → Run BigQuery Request.
```sql-formatering kan frågor misslyckas utan Clean SQL Payload. Låt den här noden vara aktiverad för att ta bort formateringen.Steg 5: Testa och aktivera ert arbetsflöde
Verifiera att chattinmatningen ger ett BigQuery-resultat och aktivera sedan arbetsflödet för användning i skarpt läge.
- Klicka på Execute Workflow och skicka ett testmeddelande till User Chat Trigger (t.ex. ”Hur många försenade leveranser hade vi förra veckan?”).
- Verifiera att AI Orchestration Agent anropar Invoke Query Utility och skapar en
query-payload. - Kontrollera att Run BigQuery Request returnerar en resultattabell eller ett mätvärde utan att SQL:en följer med.
- När allt fungerar, slå på arbetsflödet Active för att möjliggöra användning i produktion.
Felsökningstips
- Google BigQuery-inloggningsuppgifter kan löpa ut eller sakna behörigheter till datasetet. Om det skapar fel, kontrollera först dina GCP IAM-roller och datasetets åtkomstinställningar.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder misslyckas på tomma svar.
- OpenAI-promptar börjar generiskt som standard. Lägg till dina tabellnamn, definitioner av mätetal och tonalitet tidigt, annars kommer du att redigera outputs i all evighet.
Snabba svar
Cirka en timme om din BigQuery-tabell och Slack-åtkomst är klara.
Nej, ingen kodning krävs. Du kommer främst att koppla konton och bekräfta detaljer för ditt dataset/din tabell.
Ja. n8n har ett gratis alternativ för egen hosting och en gratis testperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna med OpenAI API-kostnader på några cent per förfrågan.
Två alternativ: n8n Cloud (hanterat, enklast uppsättning) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger obegränsade körningar men kräver grundläggande serveradministration.
Ja, och det borde du förmodligen. Du kan byta chatt-inträdet genom att ersätta User Chat Trigger med Slack, Teams, Telegram eller en webhook och sedan behålla AI Orchestration Agent och BigQuery-stegen oförändrade. Vanliga justeringar är att låsa till ett specifikt dataset, begränsa vilka kolumner som får frågas på och lägga till fördefinierade mätetalsdefinitioner (som ”sent” eller ”OTIF”) så att svaren blir konsekventa.
Oftast beror det på utgångna inloggningsuppgifter eller saknade dataset-behörigheter i GCP. Återanslut BigQuery-credential i n8n och bekräfta sedan att servicekontot (eller OAuth-användaren) kan köra jobb och läsa datasetet. Om det bara misslyckas under stressiga dagar kan du slå i kvoter eller rate limits, så minska frågefrekvensen eller optimera SQL:en som agenten genererar.
Med n8n Cloud Starter kan du hantera ett stabilt flöde av dagliga frågor för ett mindre driftteam, och högre planer stödjer mer. Om du kör egen hosting finns inget tak för antal körningar, men du begränsas av din server samt BigQuery/OpenAI-kvoter. I praktiken är varje fråga en körning plus ett BigQuery-jobb, så volymplanering handlar mest om hur många frågor teamet ställer per dag.
Ofta, ja, eftersom du behöver mer än ett enkelt ”meddelande in, meddelande ut”. Den här uppsättningen bygger på en AI-agent, en minnesbuffer för följdfrågor och ett litet kodsteg för att rensa SQL-payloaden, vilket är enklare att styra i n8n. Du får också möjligheten att köra egen hosting för obegränsade körningar, vilket blir viktigt när användningen växer. Zapier eller Make kan fortfarande fungera för väldigt enkel Q&A, men du kan stöta på begränsningar när du vill ha grenad logik, skyddsräcken och tajtare kontroll över hur queries genereras. Prata med en automationsexpert om du är osäker.
När detta väl är igång slutar leveranssvar att vara en flaskhals och blir i stället en naturlig del av dialogen. Sätt upp det, trimma det mot din tabell och låt workflowet hantera de repetitiva uppslagen.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.