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

Pinecone + Postgres: varumärkessäker multisajtbot

Rickard Andersson Partner, Nodenordic.se

Webbplatschatt går oftast sönder på samma två ställen. Den svarar självsäkert med fel kontext, eller så glömmer den vad kunden sa för två meddelanden sedan. Och då får du ett supportärende ändå.

Den här Pinecone Postgres-chatbot-automationen är en stor vinst för supportansvariga som vill minska eskaleringar, men tillväxtteam som driver flera sajter märker det också. Byråoperatörer som hanterar kunddomäner? Samma huvudvärk, gånger fem.

Du kommer att routa varje chatt till rätt kunskapsbas, behålla konversationsminne per användare och skicka tillbaka ett strukturerat svar till webbplatsen. Här är vad workflowet gör och hur du sätter upp det utan att drunkna i tekniskt fluff.

Så fungerar den här automationen

Här är hela workflowet du kommer att sätta upp:

n8n Workflow Template: Pinecone + Postgres: varumärkessäker multisajtbot

Varför det här spelar roll: chatt för flera sajter spårar snabbt ur från varumärket

När du driver fler än en webbplats slutar ”bara lägg till en chatbot” att vara enkelt. En domän har produktdokumentation, en annan har hjälpartiklar och en tredje har prisregler som ändras varje månad. Om varje chatt hämtar från en enda gigantisk kunskapsblob börjar svaren glida. Kunderna märker det. Och supporten märker det när agenter lägger sina morgnar på att reda ut förvirrande botsvar, leta i trådar och förklara grundkontext som boten borde ha kommit ihåg.

Det skenar snabbt. Här är var det faller isär.

  • Chattar från olika sajter blandas ihop, så boten refererar fel produkt, policy eller tonläge.
  • Utan riktigt konversationsminne upprepar kunderna sig och agenter tar över en stökig överlämning.
  • Manuella ”routningsregler” i en supportinkorg är sköra, och de hjälper inte på webbplatsen där frågorna börjar.
  • Ett enda dåligt svar kan skapa en längre mejltråd, en återbetalningsbegäran eller en uppsägningsdialog du inte behövde.

Det du bygger: en webbplatsmedveten AI-assistent med minne

Det här workflowet gör din webbplatschatt till en routad, kontextmedveten assistent. Det startar när din sajt skickar en webhook-förfrågan som innehåller besökarens fråga plus några användbara detaljer (vilken sajt de är på, vilken sida de tittar på och ett användar-ID). n8n kontrollerar sedan värdet site och skickar frågan till rätt AI-agent. Agenten hämtar relevant kontext från matchande Pinecone-kunskapsbas (med sajtspecifika namespaces) och använder Postgres för att komma ihåg konversationen så att följdfrågor blir sammanhängande. Till sist returnerar workflowet ett strukturerat svar tillbaka till webbplatsen via ett steg för ”respond to webhook”, så att besökaren får svar direkt.

Workflowet börjar med en Webhook-trigger och ett routningsbeslut. Därefter svarar en av flera agenter med OpenAI (via en OpenRouter-chattmotor), Pinecone-retrieval och Postgres-minne. Sista steget returnerar en svarspayload till webbläsaren så att det beter sig som ett riktigt chatsystem, inte ett långsamt mejlformulär.

Det du bygger

Förväntade resultat

Säg att du hanterar 3 sajter och att varje sajt får cirka 30 chattfrågor per dag. Utan routning och minne är det vanligt att en agent lägger runt 5 minuter per ”dålig bot”-konversation på att fixa kontext och skriva om svaret, vilket motsvarar ungefär 2 till 3 timmar per dag. Med det här workflowet får besökaren ett routat svar direkt (den enda ”manuella tiden” är i princip noll efter uppsättning), och teamet hanterar främst riktiga edge cases. För många team betyder det ett par timmar tillbaka varje dag, plus färre pinsamma ”förlåt, fel produkt”-ögonblick.

Innan du börjar

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • Pinecone för vektorsökning per sajts namespace
  • Postgres för att lagra chattminne per användare
  • OpenRouter- eller OpenAI-uppgifter (hämta nycklar i din leverantörs dashboard)

Kunskapsnivå: Medel. Du klistrar in API-nycklar, sätter webhook-parametrar och bekräftar din databasanslutning.

Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

En webbplats skickar ett chattmeddelande. Din sajt anropar n8n-webhooken och inkluderar query (frågan), userId, site och page. De extra fälten är viktiga eftersom de styr både routning och vilket tonläge/kontext boten ska använda.

Förfrågningar routas till rätt agent. En Switch kontrollerar värdet site och skickar meddelandet till Agent A, B eller C. Varje agent är konfigurerad att använda matchande Pinecone-kunskapsbas (separata namespaces) så att ”Sajt A” aldrig svarar med ”Sajt C”-dokumentation.

Agenten svarar med kontext och minne. AI-agenten använder en chattmodell (via OpenRouter) och en fråge-och-svar-kedja som hämtar relevanta utdrag från Pinecone. Samtidigt håller Postgres chat memory store konversationshistoriken kopplad till userId, så att följdfrågor inte nollställer tråden.

Svaret returneras till webbläsaren. n8n skickar en slutlig payload tillbaka via ”Respond to Webhook”, som din frontend kan rendera som chattsvar. För användaren känns det omedelbart, även om mycket hände bakom kulisserna.

Du kan enkelt ändra routningslogiken för att hantera fler sajter, eller justera systemprompter för att skärpa varumärkets röst baserat på sidtyp. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera webhook-triggern

Arbetsflödet startar när ett externt system anropar er webhook-endpoint.

  1. Lägg till noden Incoming Webhook Trigger som din trigger.
  2. Ställ in Pathf22b5848-6722-45fb-ba0c-b874f5813b5c.
  3. Ställ in Response ModeresponseNode så att svaren kommer från respond-noderna.
  4. Skicka en testförfrågan som inkluderar query.userId, query.query, query.site och query.page i querystring.

⚠️ Vanlig fallgrop: Om query.userId saknas kan minnesnoderna inte skapa en session och AI-assistenterna kan tappa konversationshistorik.

Steg 2: routa förfrågningar per webbplats

Förfrågningar delas upp i tre webbplatsspecifika AI-routes baserat på värdet i query.site.

  1. Lägg till switch-noden Route by Site Condition och koppla den från Incoming Webhook Trigger.
  2. Skapa tre regler med Left Value satt till ={{ $json.query.site }}.
  3. Ställ in strängarna för regelns Right Value till test_site, test_site2 och test_site3.
  4. Koppla output 1 till AI Assistant Route A, output 2 till AI Assistant Route B och output 3 till AI Assistant Route C.

Exekveringsflöde: Incoming Webhook TriggerRoute by Site Condition → en av AI-assistenternas routes.

Steg 3: konfigurera konversationsminne (Postgres)

Varje AI-route lagrar konversationshistorik i Postgres för att behålla kontext mellan meddelanden.

  1. Öppna Conversation Store A och ställ in Table Namen8n_chat_histories_test_1.
  2. Ställ in Session Key={{ $('Incoming Webhook Trigger').item.json.query.userId }} och Session ID TypecustomKey.
  3. Upprepa för Conversation Store B med Table Name n8n_chat_histories_test_2.
  4. Upprepa för Conversation Store C med Table Name n8n_chat_histories_test_3.
  5. Inloggningsuppgifter krävs: Koppla era postgres-inloggningsuppgifter på Conversation Store A, Conversation Store B och Conversation Store C.

Dessa minnesnoder är AI-subnoder som är kopplade till agenterna. Säkerställ att inloggningsuppgifter läggs till på varje Conversation Store-nod (inte på agenten).

Steg 4: konfigurera AI-assistenterna och modellerna

Varje route använder en dedikerad OpenRouter-modell och en agentprompt anpassad till en specifik webbplatskontext.

  1. Konfigurera OpenRouter Chat Engine A med Model satt till deepseek/deepseek-chat-v3-0324:free.
  2. Konfigurera OpenRouter Chat Engine B och OpenRouter Chat Engine C med samma modellvärde.
  3. Inloggningsuppgifter krävs: Koppla era openRouterApi-inloggningsuppgifter på OpenRouter Chat Engine A, OpenRouter Chat Engine B och OpenRouter Chat Engine C.
  4. I AI Assistant Route A, ställ in Text={{ $('Incoming Webhook Trigger').item.json.query.query }} och behåll Prompt Type som define.
  5. Upprepa samma Text-uttryck och Prompt Type för AI Assistant Route B och AI Assistant Route C.

⚠️ Vanlig fallgrop: AI-agenterna förlitar sig på systemmeddelanden som är inbäddade i deras konfiguration. Om ni skriver över dessa meddelanden ändras routing-intentionen och innehållsräls (guardrails).

Steg 5: koppla Pinecone-kunskapsbaser och embeddings

Varje AI-route använder Pinecone-vektorlagring för retrieval, drivet av Cohere-embeddings.

  1. Koppla era Pinecone- och Cohere-inloggningsuppgifter i samtliga kunskapsbas- och embedding-noder.
  2. Inloggningsuppgifter krävs: Koppla era pineconeApi-inloggningsuppgifter på alla noder Pinecone Knowledge Base A1, Pinecone Knowledge Base B1 och Pinecone Knowledge Base C1–C5.
  3. Inloggningsuppgifter krävs: Koppla era cohereApi-inloggningsuppgifter på alla noder Cohere Embeddings A1, Cohere Embeddings B1 och Cohere Embeddings C1–C5.
  4. Verifiera att varje Pinecone-nod är satt till Mode retrieve-as-tool och Top K 6.
  5. Säkerställ att varje Pinecone Knowledge Base-nod har korrekt Tool Description (t.ex. vector store for: Service Packages Overview, vector store for: services, vector store for: terms of use, vector store for: Privacy Policy, vector store for: refund policy).
  6. Ersätt varje Pinecone Index-värde [YOUR_ID] med ert faktiska index-ID och bekräfta pineconeNamespace-värden som Service_Packages_Overview, services, terms_of_use, Privacy_Policy, refund_policy, ghost_wr och ebook_wr.

Dessa embedding-noder är AI-subnoder som är kopplade till Pinecone-verktygen. Se till att inloggningsuppgifter läggs till på noderna Cohere Embeddings, inte på AI-agenterna.

Steg 6: konfigurera webhook-svar

Varje AI-route skickar ett JSON-svar tillbaka till den som anropar webhooken.

  1. Öppna Return Webhook Payload A och ställ in Respond Withjson.
  2. Ställ in Response Body={{ { "answer": $json.output } }}.
  3. Upprepa samma Response Body-konfiguration för Return Webhook Payload B och Return Webhook Payload.
  4. Verifiera flödet: AI Assistant Route AReturn Webhook Payload A, AI Assistant Route BReturn Webhook Payload B och AI Assistant Route CReturn Webhook Payload.

Steg 7: testa och aktivera ert arbetsflöde

Validera hela loopen från request till response och aktivera sedan arbetsflödet för produktion.

  1. Klicka på Execute Workflow och skicka ett webhook-anrop med query.site satt till test_site, test_site2 eller test_site3.
  2. Bekräfta att förfrågan routas via Route by Site Condition till rätt AI-assistent.
  3. Kontrollera att det slutliga svaret från Return Webhook Payload A, Return Webhook Payload B eller Return Webhook Payload innehåller ett JSON-objekt som { "answer": "..." }.
  4. Om svaret är tomt, verifiera att Pinecone-index-ID:n och namespaces är korrekta och att OpenRouter-inloggningsuppgifterna är giltiga.
  5. När det fungerar, växla arbetsflödet till Active för att aktivera live-hantering av webhooks.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • Pinecone-uppgifter kan löpa ut eller ha fel behörighet. Om retrieval plötsligt returnerar tom kontext, kontrollera din Pinecone API-nyckel och verifiera att namespace-namnen matchar det agenten förväntar sig.
  • Om du använder Wait-noder eller extern rendering varierar processtider. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in er varumärkesröst tidigt, annars kommer du redigera outputs för alltid.

Snabba svar

Hur lång tid tar det att sätta upp den här Pinecone Postgres-chatbot-automationen?

Cirka 60 minuter om Pinecone och Postgres redan är redo.

Krävs kodning för den här automationen för chatbot-routning?

Nej. Du konfigurerar en webhook, kopplar in uppgifter och justerar prompter och routningsvärden.

Är n8n gratis att använda för det här Pinecone Postgres-chatbot-workflowet?

Ja. n8n har ett gratis self-hosted-alternativ 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 Pinecone och modellförbrukning (ofta några cent per konversation, beroende på storlek och trafik).

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

Två alternativ: n8n Cloud (hanterat, enklast uppsättning) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärt och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.

Kan jag modifiera det här Pinecone Postgres-chatbot-workflowet för andra use cases?

Ja, och det bör du. Du kan lägga till fler sajter genom att utöka Switchen ”Route by Site Condition” och duplicera en agentgren (AI Assistant Route A/B/C) med ett nytt Pinecone-namespace. Vanliga justeringar är sidspecifika prompter (priser vs dokumentation), en striktare ”gissa inte”-policy och olika minnesregler för inloggade kontra anonyma användare.

Varför misslyckas min Pinecone-anslutning i det här workflowet?

Oftast är det ett API-nyckelproblem eller en namespace-mismatch. Skapa om din Pinecone-nyckel vid behov och bekräfta att index- och namespace-namn matchar exakt det agenten frågar mot. Kontrollera också rate limits om du plötsligt skickar mycket fler chattar än vanligt, eftersom retrieval-fel ofta syns som ”tom kontext” snarare än ett tydligt fel.

Vilken volym kan det här Pinecone Postgres-chatbot-workflowet hantera?

Om du self-hostar finns inget fast tak för antal körningar; det beror främst på din serverstorlek och modellens latens.

Är den här Pinecone Postgres-chatbot-automationen bättre än att använda Zapier eller Make?

Ofta, ja, ärligt talat. Den här lösningen behöver routning, konversationsminne i flera turer och retrieval-logik som snabbt blir dyr och klumpig i Zapier eller Make när du går bortom ett enkelt tvåstegsflöde. n8n hanterar förgreningar snyggt, och self-hosting kan hålla kostnaderna förutsägbara när chattvolymen växer. Du får också mer kontroll över hur userId, site och page skickas genom kedjan, vilket ofta är där varumärkessäkerheten sitter. Zapier eller Make kan fortfarande fungera för väldigt lätta chattintegrationer, men de är inte byggda för den här typen av RAG-workflow. Prata med en automationsexpert om du vill ha hjälp att välja rätt stack.

När detta är live får varje sajt svar som faktiskt matchar dess dokumentation och tonläge, och ditt team slipper städa upp onödig chatbotförvirring. Sätt upp det en gång, och låt sedan workflowet göra det repetitiva jobbet.

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