Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

OpenAI + Slack: en chattendpoint för alla agenter

Rickard Andersson Partner, Nodenordic.se

Din ”AI-agentstack” börjar enkelt. Sedan lägger du till ett till flöde, en till prompt, ett till verktyg … och plötsligt har du tre olika bas-URL:er, fem halvt fungerande integrationer och ingen minns vilket endpoint Slack faktiskt ska anropa.

Det här drabbar tekniska teamleads och produktteam först, men det sänker också driften när interna supportbotar blir opålitliga. Med det här upplägget för OpenAI–Slack-integration får du ett stabilt chat-endpoint och ett strukturerat sätt att lägga till agenter utan att behöva bygga om allt.

Du får se hur flödet gör n8n till OpenAI-kompatibla API-endpoints, hur Slack (och OpenWebUI) kan prata med det och vad du kan justera för att passa din miljö.

Så fungerar den här automatiseringen

Hela n8n-flödet, från trigger till slutligt resultat:

n8n Workflow Template: OpenAI + Slack: en chattendpoint för alla agenter

Problemet: för många agenter, för många endpoints

När varje agent får sin egen webhook eller specialbyggda integration slutar du med att underhålla rördragning i stället för att förbättra agenten. En liten ändring blir en samordningsövning: uppdatera Slack-appen, uppdatera OpenWebUI, uppdatera interna dokumentationen och hoppas sedan att ingen har hårdkodat den gamla URL:en i något slumpmässigt skript. Och när något skapar fel blir felsökningen rörig, eftersom varje agent har sin egen form, payload och svarsformat. Kostnaden är inte bara tid. Det är den ständiga mentala belastningen av ”vad pratar med vad” varje gång du levererar ett nytt flöde.

Inget av detta känns katastrofalt var för sig. Tillsammans bromsar det ner dig.

  • Att lägga till en ny agent innebär att bygga ett nytt endpoint och sedan koppla om Slack eller ditt chattgränssnitt på nytt.
  • Dina payload-format glider isär, vilket gör att en agent stödjer streaming och en annan i tysthet inte gör det.
  • Folk kopierar gamla bas-URL:er in i nya verktyg, så du får ”funkar på min dator”-integrationer överallt.
  • Felsökning tar längre tid eftersom varje agent har olika loggar, olika behörigheter och olika typer av fel.

Lösningen: en OpenAI-kompatibel gateway i n8n

Det här flödet gör n8n till en OpenAI-kompatibel ”ytterdörr” för dina agenter. I stället för att exponera varje agentflöde separat exponerar du två förutsägbara endpoints som efterliknar OpenAI API-strukturen. Den ena listar tillgängliga ”modeller” genom att hämta dina n8n-flöden som matchar en tagg (som aimodel). Den andra hanterar /chat/completions-förfrågningar, routar dem till rätt underliggande flöde och returnerar svar i det format som verktyg redan förväntar sig. Den stödjer både standardsvar och streaming, så chattappar kan visa text medan den genereras. Slutresultatet är enkelt: dina klienter behåller en bas-URL, medan du fortsätter lägga till agenter bakom kulisserna.

Flödet startar när en klient (Slack, OpenWebUI, Teams, vad som helst som är OpenAI-kompatibelt) anropar din n8n-webhook. n8n formar om requesten till rätt schema, avgör om den ska streama och anropar sedan det valda agentflödet via HTTP. Till sist svarar den som om den vore OpenAI API, vilket innebär att din chattapp inte behöver någon specialhantering.

Vad du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du kör 6 interna agenter (supporttriage, release notes, SQL-hjälpare, QA-bot, onboarding-hjälpare och en sälj-FAQ). Utan en gateway innebär det ofta att lägga till en agent att skapa en ny webhook och uppdatera Slack plus OpenWebUI, kanske 20 minuter per verktyg, alltså runt en timme per agent. Med det här flödet behåller du samma bas-URL och taggar bara det nya flödet som aimodel, så dyker det upp i /models. I praktiken lägger du cirka 10 minuter på att tagga, testa och leverera.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • Slack för att routa chattmeddelanden till dina agenter
  • OpenWebUI (valfritt) för ett chattgränssnitt med modellval
  • OpenAI-liknande klientkonfiguration (bas-URL pekar mot n8n-webhooks)

Kunskapsnivå: Medel. Du klistrar in URL:er, konfigurerar autentiseringsuppgifter och är bekväm med att testa webhooks i en chattklient.

Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

En models-förfrågan träffar n8n. Endpointen ”Models Webhook Inbound” tar emot ett anrop till /models, sedan hämtar n8n din flödeslista och filtrerar på en tagg (vanligtvis aimodel).

Flödet gör flöden till ”modeller”. Det mappar varje taggat flöde till de fält som OpenAI-klienter förväntar sig, slår ihop dem till en payload och returnerar sedan svaret via ”Respond to Webhook”.

En chat completion-förfrågan routas till rätt agent. ”Chat Completions Hook” tar emot /chat/completions, transformerar det inkommande schemat och kontrollerar sedan om klienten begärde streaming. Baserat på den flaggan anropar den antingen en streaming- eller standard-HTTP-väg för att köra det valda agentflödet.

Klienten får ett rent OpenAI-liknande svar. n8n bygger antingen ett streamat textsvar eller en komplett JSON-payload för completion och svarar direkt, så att Slack eller OpenWebUI kan visa svaret utan extra limkod.

Du kan enkelt ändra taggnamnet (till exempel aimodel) så att det matchar dina namnkonventioner, och du kan byta vilka interna flöden som exponeras. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: Konfigurera webhook-triggern

Sätt upp inkommande API-endpoints som emulerar OpenAI-kompatibel modellupptäckt och chat completions.

  1. Lägg till noden Models Webhook Inbound och ställ in Path till youragents/models och Response Mode till responseNode.
  2. Lägg till noden Chat Completions Hook och ställ in Path till youragents/chat/completions, HTTP Method till POST, Response Mode till responseNode och Authentication till headerAuth.
  3. Säkerställ att Chat Message Trigger finns på plats för att ta emot chattbaserade körningar från n8n:s chattgränssnitt.
Tips: Webhook-sökvägarna är skiftlägeskänsliga. Använd exakt värdena youragents/models och youragents/chat/completions för att matcha arbetsflödets routning.

Steg 2: Anslut endpointen för arbetsflödeskatalogen

Exponera tillgängliga AI-arbetsflöden som modellposter i OpenAI-stil.

  1. Konfigurera Retrieve Workflow List så att den filtrerar på Tags med värdet aimodel.
  2. I Map Model Fields mappar ni värden med följande uttryck: name till {{ $json.name }}, id till {{ $json.id }} och path till {{ $json.nodes.find(node => node.parameters?.path).parameters.path }}.
  3. Ställ in Combine Model Items till Aggregate = aggregateAllItemData så att alla modeller returneras i ett och samma svar.
  4. I Return Models Payload ställer ni in Respond With till json och Response Body till ={{ ({ "object": "list", "data": $json.data.map(item => ({ "id": item.path, "object": "model", "created": Math.floor($now / 1000), "owned_by": "system" })) }) }}.
⚠️ Vanlig fallgrop: Om era arbetsflöden inte innehåller en nod med parametern path kommer Map Model Fields inte att kunna lösa modellidentifieraren.

Steg 3: Transformera och routa chat completions

Normalisera inkommande meddelanden i OpenAI-stil och routa till strömmande eller standardutdata.

  1. I Transform Input Schema behåller ni Mode som runOnceForEachItem och använder den medföljande JavaScript-koden för att konvertera meddelandeinnehåll till input-block.
  2. Konfigurera Check Stream Flag för att utvärdera {{ $('Chat Completions Hook').first().json.body.stream }} med den booleska operatorn true.
  3. Koppla Transform Input Schema till Check Stream Flag så att den kan förgrena exekveringsflödet baserat på stream-förfrågan.

Steg 4: Konfigurera strömmande och standardanrop

Anropa mål-arbetsflödet via HTTP och bygg antingen strömmande eller standard OpenAI-kompatibla svar.

  1. I Invoke Workflow Stream ställer ni in URL till =https://n8n.lucidusfortis.com/webhook/{{ $('Chat Completions Hook').first().json.body.model }} och Method till POST.
  2. Ställ in JSON Body i Invoke Workflow Stream till ={{ { model: $('Chat Completions Hook').first().json.body.model, stream: $('Chat Completions Hook').first().json.body.stream, chatInput: $json.input.toJsonString(), sessionId: $('Chat Completions Hook').item.json.headers['cf-ray'], fromLLM: true } }} och aktivera Send Body med Specify Body = json.
  3. I Invoke Workflow Standard använder ni samma URL och Method, men ställer in stream till false i JSON-body.
  4. I Build Stream Payload behåller ni JavaScript-koden som formaterar den chunkade data:-responsen och kopplar sedan till Send Text Reply med Respond With = text och Response Body = {{ $json.data }}.
  5. I Build Completion JSON behåller ni JavaScript-koden som bygger standardobjektet för chat completion och kopplar till Send JSON Reply med Respond With = json och Response Body = {{ $json }}.

Credential Required: Anslut era n8nApi-credentials i både Invoke Workflow Stream och Invoke Workflow Standard.

Steg 5: Konfigurera AI-agentstacken

Koppla ihop den interna agenten, minnet och modelladaptern för chattbaserade körningar i n8n.

  1. Koppla Chat Message Trigger till Workflow Agent Core för att aktivera interaktiva chattkörningar.
  2. Fäst Window Memory Buffer till Workflow Agent Core via AI Memory-anslutningen för konversationskontext.
  3. Fäst Webhook Model Adapter till Workflow Agent Core som språkmodellen.
  4. I Webhook Model Adapter behåller ni Model inställd på youragentname och uppdaterar den vid behov så att den matchar namnet på ert mål-arbetsflöde för modellen.

Credential Required: Anslut era OpenAI-kompatibla API-credentials i Webhook Model Adapter. Window Memory Buffer är en subnod; credentials (om de krävs) ska läggas till i Workflow Agent Core eller modelladaptern, inte i minnesnoden.

Steg 6: Testa och aktivera ert arbetsflöde

Validera både models-endpointen och chat completions-svaren innan ni aktiverar produktion.

  1. Använd Models Webhook Inbound för att trigga en testförfrågan och bekräfta att Return Models Payload returnerar en JSON-lista med modeller.
  2. Gör en POST till /youragents/chat/completions och verifiera att Check Stream Flag routar till antingen Send Text Reply (stream) eller Send JSON Reply (standard).
  3. Bekräfta lyckad exekvering i n8n:s exekveringslogg och säkerställ att Invoke Workflow Stream eller Invoke Workflow Standard returnerade ett fält output.
  4. När testerna passerar växlar ni arbetsflödet till Active för att ta emot live-API-förfrågningar.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Slack-inloggningar och tokens kan gå ut eller sakna scopes. Om meddelanden slutar flöda, kontrollera först inställningarna i din Slack-app och n8n-autentiseringsuppgiften som används av chattriggern.
  • Om du använder Wait-liknande beteende (eller om din nedströms agent tar tid) kan streamade svar komma ”tomma” en stund. Öka eventuella timeouts och säkerställ att klienten förväntar sig streamade chunkar.
  • Standardprompter i dina agentflöden är oftast intetsägande. Lägg in er tonalitet och skyddsräcken i agentflödet tidigt, annars kommer du justera ton och formatering för alltid.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för OpenAI–Slack-integration?

Cirka 30 minuter om din n8n- och Slack-åtkomst redan är på plats.

Behöver jag kunna koda för att automatisera OpenAI–Slack-integration?

Nej. Du konfigurerar mest webhooks, autentiseringsuppgifter och ett par fält. Kan du följa en checklista och testa ett endpoint så är du hemma.

Är n8n gratis att använda för det här flödet för OpenAI–Slack-integration?

Ja. n8n har ett gratis self-hosted-alternativ 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 eventuella LLM-kostnader från leverantören du routar till (ofta några cent per konversation, beroende på användning).

Var kan jag hosta n8n för att köra den här automatiseringen?

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 obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här flödet för OpenAI–Slack-integration till en annan tagg än aimodel?

Ja, och det är en av de bästa justeringarna du kan göra. Ändra taggfiltret som används när flöden hämtas och mappas så att /models bara listar det du vill, till exempel slack-agent för produktion och slack-agent-dev för test. Du kan också justera de mappade modellfälten om din klient kräver striktare namngivning. De flesta team anpassar även standard systemprompten i varje agentflöde så att utdata blir konsekvent mellan ”modeller”.

Varför misslyckas min Slack-anslutning i det här flödet?

Oftast beror det på en utgången token eller att Slack-appen saknar scopes. Kontrollera Slack-autentiseringsuppgiften i n8n igen och bekräfta sedan att Slack-appen fortfarande har rättigheter att läsa meddelanden och posta svar där du testar. Om det fungerar i en kanal men inte i en annan är det ofta ett kanalåtkomstproblem, inte logiken i flödet.

Hur många chattförfrågningar kan den här automatiseringen för OpenAI–Slack-integration hantera?

Många, så länge din n8n-hosting är dimensionerad rätt.

Är den här automatiseringen för OpenAI–Slack-integration bättre än att använda Zapier eller Make?

För en OpenAI-kompatibel gateway är n8n oftast bättre, eftersom den är byggd för förgrenad logik, request/response-webhooks och self-hosting. Zapier och Make kan vara toppen för enkla ”händelse → åtgärd”-flöden, men de blir klumpiga när du behöver efterlikna ett API och stödja streamingliknande svar. En annan praktisk poäng: att lägga till nya agenter genom att tagga flöden är en ren driftmodell och håller dina klientverktyg stabila. Om ditt huvudmål är ”få något att fungera på en eftermiddag” kan du börja med Zapier. Om ditt mål är ”sluta dra om rören varje månad” vinner n8n. Prata med en automationsexpert om du vill ha en snabb rekommendation baserat på din volym och dina verktyg.

När du har ett stabilt endpoint slutar det vara ett miniprojekt att lägga till agenter. Sätt upp det, tagga dina flöden och låt Slack (och allt annat) prata med dina agenter på samma sätt varje gång.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal