Din supportinkorg blir snabbt stökig. Samma frågor om ”Var är min order?” staplas på hög, riktiga problem hamnar i skymundan och teamet slutar ändå med att copy‑pasta kunduppgifter in i ett kalkylark.
Supportansvariga märker det först, men driftchefer och byråägare som driver support åt kunder känner av det lika mycket. Den här WhatsApp‑ticketautomationen svarar på återkommande frågor direkt och skapar bara ett Google Sheets‑ärende när ett case faktiskt kräver en människa.
Du får se hur workflowet lär sig från din webbplats/dokumentation, svarar i WhatsApp och i din sajtchatt, och loggar strukturerade ärenden (med rätt fält) så att uppföljningar inte faller mellan stolarna.
Så här fungerar automatiseringen
Här är det kompletta workflowet du kommer att sätta upp:
n8n Workflow Template: Whatsapp + Google sheets: supportärenden utan kaos
flowchart LR
subgraph sg0["On form submission Flow"]
direction LR
n2["<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/form.svg' width='40' height='40' /></div><br/>On form submission"]
n3@{ icon: "mdi:cog", form: "rounded", label: "XML", pos: "b", h: 48 }
n4["<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/>HTTP Request"]
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/>Code"]
n6["<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/>Fetch Page HTML"]
n7["<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/html.dark.svg' width='40' height='40' /></div><br/>HTML"]
n8@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Pages", pos: "b", h: 48 }
n9@{ icon: "mdi:cog", form: "rounded", label: "Wait", pos: "b", h: 48 }
n10["<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/>Split Pages URLs"]
n11@{ icon: "mdi:cube-outline", form: "rounded", label: "Pinecone Vector Store", pos: "b", h: 48 }
n12@{ icon: "mdi:robot", form: "rounded", label: "Default Data Loader", pos: "b", h: 48 }
n16@{ icon: "mdi:cog", form: "rounded", label: "Extract Text", pos: "b", h: 48 }
n17@{ icon: "mdi:cog", form: "rounded", label: "Extract PDF", pos: "b", h: 48 }
n18@{ icon: "mdi:swap-vertical", form: "rounded", label: "Select Text", pos: "b", h: 48 }
n19@{ icon: "mdi:swap-horizontal", form: "rounded", label: "PDF or TXT", pos: "b", h: 48 }
n20["<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/merge.svg' width='40' height='40' /></div><br/>Merge"]
n21@{ icon: "mdi:cog", form: "rounded", label: "Remove Duplicates", pos: "b", h: 48 }
n22@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Files", pos: "b", h: 48 }
n23@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch1", pos: "b", h: 48 }
n24["<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/>Split_Binary"]
n30@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings OpenAI1", pos: "b", h: 48 }
n3 --> n5
n5 --> n20
n7 --> n11
n9 --> n8
n20 --> n21
n23 --> n10
n23 --> n4
n23 --> n24
n19 --> n17
n19 --> n16
n17 --> n18
n18 --> n22
n16 --> n22
n4 --> n3
n24 --> n22
n6 --> n9
n22 --> n11
n22 --> n19
n8 --> n7
n8 --> n6
n10 --> n20
n21 --> n8
n30 -.-> n11
n2 --> n23
n12 -.-> n11
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 }
n1@{ icon: "mdi:robot", form: "rounded", label: "AI Agent", pos: "b", h: 48 }
n13@{ icon: "mdi:memory", form: "rounded", label: "Simple Memory", pos: "b", h: 48 }
n14@{ icon: "mdi:cube-outline", form: "rounded", label: "Pinecone (Retrieve Info)", pos: "b", h: 48 }
n15@{ icon: "mdi:swap-vertical", form: "rounded", label: "Company Info", pos: "b", h: 48 }
n25@{ icon: "mdi:database", form: "rounded", label: "Get tickets", pos: "b", h: 48 }
n26@{ icon: "mdi:database", form: "rounded", label: "Create support tickets", pos: "b", h: 48 }
n27@{ icon: "mdi:message-outline", form: "rounded", label: "Send a message in Gmail", pos: "b", h: 48 }
n28@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n29@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings OpenAI", pos: "b", h: 48 }
n31["<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/whatsapp.svg' width='40' height='40' /></div><br/>WhatsApp Trigger"]
n25 -.-> n1
n15 --> n1
n13 -.-> n1
n31 --> n15
n29 -.-> n14
n28 -.-> n1
n26 -.-> n1
n27 -.-> n1
n14 -.-> n1
n0 --> n15
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,n31 trigger
class n12,n1 ai
class n28 aiModel
class n13 ai
class n11,n14 ai
class n30,n29 ai
class n19,n23 decision
class n25,n26 database
class n4,n6 api
class n5,n10,n24 code
classDef customIcon fill:none,stroke:none
class n2,n4,n5,n6,n7,n10,n20,n24,n31 customIcon
Varför det här spelar roll: supportärenden kommer inte in ”ticket‑redo”
De flesta kundmeddelanden är ofullständiga när de kommer in. En WhatsApp‑chatt kan säga ”det funkar inte” utan ordernummer, utan e‑post och utan någon aning om vilken produkt de menar. Samtidigt får din webbchatt samma pre‑sales‑frågor hela dagen, så mänsklig supporttid går åt till att upprepa sig i stället för att lösa specialfall. Sedan kommer adminjobbet: någon gör röriga konversationer till ett ”ärende” genom att manuellt kopiera detaljer till ett Google Sheet, skicka en heads‑up i Slack och mejla en bekräftelse. På hektiska dagar glider saker igenom. Fel uppgifter. Dubbla ärenden. Kunder jagar dig eftersom de aldrig fick en tydlig bekräftelse.
Det eskalerar snabbt. Här är var det fallerar.
- Handläggare slösar cirka 5 minuter per konversation bara på att samla in saknade uppgifter som skulle kunna efterfrågas automatiskt.
- FAQ‑frågor äter upp dagen, vilket gör att de riktiga ”något är trasigt”‑ärendena hamnar i kö.
- Manuell ärendeloggning i Google Sheets skapar inkonsekventa fält, så rapportering och prioritering blir gissningslek.
- Kunder litar inte på ”vi tittar på det” om de inte får en tydlig bekräftelse och en referens de kan svara på.
Vad du bygger: en kunskapsbaserad WhatsApp‑bot som skapar strukturerade ärenden i Sheets
Det här workflowet gör om innehåll från din webbplats och interna dokument till en sökbar supportkunskapsbas och använder den för att svara på frågor både i din webbwidget och i WhatsApp. Du börjar med att skicka in en sitemap, utvalda URL:er och filer via ett enkelt formulär. n8n crawlar källorna, extraherar den användbara texten och lagrar den i Pinecone som en kunskapsbas din AI‑assistent kan hämta från. När en kund frågar något vanligt svarar assistenten direkt med svar som är förankrade i ditt eget innehåll, inte slumpmässiga gissningar. När meddelandet ser ut som ett riktigt problem växlar den spår och ber om detaljer (ordernummer, användar‑ID, skärmdumpar, vad du nu väljer). När nödvändiga uppgifter finns på plats skriver workflowet en ny rad i Google Sheets och skickar ett bekräftelsemejl så kunden vet att ärendet är registrerat.
Workflowet startar antingen via en trigger från webbchatten eller en WhatsApp‑trigger. Sedan hämtar det relevant kontext från Pinecone, tar fram ett korrekt svar med OpenAI och avgör om konversationen ska bli ett ärende. Till sist hamnar ärendedetaljerna i Google Sheets och en bekräftelse skickas via Gmail.
Det här bygger du
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du hanterar 20 inkommande konversationer per dag via WhatsApp och din webbplats. Om ens hälften är återkommande frågor är det cirka 10 chattar som normalt tar 5 minuter styck att besvara och logga korrekt, alltså ungefär 50 minuter per dag. Lägg till 10 ”riktiga problem” på cirka 10 minuter styck för att samla orderdetaljer, skapa en rad i Google Sheets och skicka bekräftelse, vilket är runt 100 minuter till. Med det här workflowet besvaras upprepningarna automatiskt och ärendeloggningen sker direkt när detaljerna finns, så du hamnar oftast på granskning och problemlösning i stället för avskrivning. Många team får tillbaka cirka 2 timmar per dag när volymen är stabil.
Innan du börjar
- n8n‑instans (prova n8n Cloud gratis)
- Alternativ för self‑hosting om du föredrar det (Hostinger fungerar bra)
- WhatsApp Business API för att ta emot och svara på WhatsApp‑meddelanden.
- Google Sheets för att lagra ärenden som strukturerade rader.
- Pinecone API‑nyckel (hämta den i din Pinecone‑dashboard).
Kunskapsnivå: Medel. Du kopplar några konton, klistrar in API‑nycklar och gör lätt testning med riktiga meddelanden.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15‑minuters konsultation).
Steg för steg
Kunskapsintag via formulärinlämning. Du skickar in en sitemap, specifika URL:er och dokument via den inbyggda formulärtriggern. n8n hämtar sedan innehåll via HTTP‑requests och förbereder det för lagring.
Extrahering och rensning av innehåll. XML och HTML parsas, dubblettsidor tas bort och filer som PDF:er eller textdokument extraheras så att workflowet bara lagrar användbara formuleringar (inte navigationsbrus).
AI‑indexering och hämtning. OpenAI‑embeddings skapas och sparas sedan i Pinecone. När en användare ställer en fråga senare hämtar assistenten de mest relevanta segmenten och använder dem för att svara korrekt.
Skapa ärende och bekräfta. Om meddelandet indikerar ett verkligt problem guidar logiknoder (If/Switch) boten att fråga efter saknade fält. När allt är insamlat skriver workflowet ärendet till Google Sheets och skickar en bekräftelse via Gmail.
Du kan enkelt justera vad som räknas som ett ”ärende‑värdigt” problem och vilka fält du samlar in utifrån dina behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera chatttriggern
Konfigurera inkommande triggers för chatt, formulär och WhatsApp som startar flödet för kunskapsuppbyggnad.
- Lägg till och öppna Chat Intake Trigger, och kopiera sedan dess webhook-URL för er chattkanal.
- Öppna Form Submission Trigger och konfigurera formulärendpointen i ert formulärverktyg.
- Öppna WhatsApp Intake Trigger och koppla den till webhook-inställningarna hos er WhatsApp-leverantör.
- Säkerställ att kopplingarna Chat Intake Trigger → Set Company Context, Form Submission Trigger → Route Submission och WhatsApp Intake Trigger → Set Company Context är intakta.
Steg 2: Anslut primära datakällor och routning
Definiera hur inkommande inskick routas till olika innehållskällor (webbsidor, API:er eller filuppladdningar).
- Öppna Route Submission och konfigurera dess switch-regler för att skicka trafik till Divide Page Links, External API Request eller Separate Binary Data.
- I External API Request ställer ni in anropet mot API-endpointen som returnerar XML eller strukturerad data för supportinnehåll.
- Säkerställ att External API Request → Parse XML Data → Transform Script → Combine Streams är kopplad för API-inläsningsvägen.
- Konfigurera Divide Page Links så att den outputtar sid-URL:er och verifiera sedan att Divide Page Links → Combine Streams är kopplad.
Steg 3: Sätt upp webbcrawling och deduplicering
Samla in och rensa webbsidans innehåll innan ni bäddar in det i er vektordatabas.
- Öppna Combine Streams och säkerställ att den slår ihop output från Transform Script och Divide Page Links.
- Konfigurera Remove Duplicate Items för att filtrera bort upprepade URL:er eller innehållsposter.
- Kontrollera loopen: Remove Duplicate Items → Iterate Page List → Retrieve Page Markup → Delay Cycle → Iterate Page List.
- I Parse HTML Content bekräftar ni att den tar emot data från Iterate Page List och outputtar till Pinecone Vector Index.
Steg 4: Konfigurera filextraktion och batchbearbetning
Bearbeta uppladdade PDF:er och textfiler och batcha dem för indexering.
- Öppna Separate Binary Data för att dela upp inkommande filpayloads från Route Submission.
- Konfigurera Route File Type för att förgrena filer till Extract PDF File och Extract Text File.
- Koppla Extract PDF File → Select Extracted Text → Iterate File Batches.
- Koppla Extract Text File → Iterate File Batches för dokument som inte är PDF.
- Verifiera att Iterate File Batches outputtar till Pinecone Vector Index för indexering.
Steg 5: Sätt upp vektordatabasen och embeddings
Konfigurera Pinecone-indexering och OpenAI-embeddings för att bygga supportens kunskapsbas.
- Öppna Pinecone Vector Index och konfigurera era Pinecone-indexinställningar för lagring.
- Koppla Standard Data Loader till Pinecone Vector Index som dokumentladdare.
- Säkerställ att OpenAI Embeddings Index är kopplad som embedding-modell för Pinecone Vector Index.
- Öppna Pinecone Retrieval Tool och bekräfta att OpenAI Embeddings är kopplad som dess embedding-modell.
Inloggningsuppgifter krävs: Anslut era Pinecone-inloggningsuppgifter i Pinecone Vector Index och Pinecone Retrieval Tool.
Inloggningsuppgifter krävs: Anslut era OpenAI-inloggningsuppgifter i OpenAI Embeddings Index och OpenAI Embeddings.
Steg 6: Konfigurera AI-assistenten och verktygen
Koppla ihop AI-assistenten med minne, retrieval och ärendeverktyg.
- Öppna Automated AI Assistant och bekräfta att den tar emot input från Set Company Context.
- Bifoga OpenAI Chat Engine som språkmodell för Automated AI Assistant.
- Säkerställ att Buffer Memory Store är länkad som AI-minne för Automated AI Assistant.
- Bekräfta att Pinecone Retrieval Tool, Retrieve Support Tickets, Generate Support Tickets och Dispatch Gmail Message är anslutna som AI-verktyg.
Inloggningsuppgifter krävs: Anslut era OpenAI-inloggningsuppgifter i OpenAI Chat Engine.
Inloggningsuppgifter krävs: Anslut era Google Sheets-inloggningsuppgifter i Retrieve Support Tickets och Generate Support Tickets.
Inloggningsuppgifter krävs: Anslut era Gmail-inloggningsuppgifter i Dispatch Gmail Message.
Steg 7: Testa och aktivera ert workflow
Validera varje väg (webbcrawl, API-inläsning och filuppladdning) och aktivera sedan workflowet.
- Använd Chat Intake Trigger och skicka ett testmeddelande för att verifiera att Set Company Context → Automated AI Assistant körs.
- Skicka in ett testformulär via Form Submission Trigger och bekräfta routning via Route Submission till rätt gren.
- Ladda upp en PDF och en TXT-fil för att säkerställa att Route File Type, Extract PDF File/Extract Text File och Iterate File Batches slutförs utan fel.
- Kontrollera att Pinecone Vector Index tar emot dokument och att embeddings genereras.
- Klicka på Activate för att köra workflowet i produktion.
Felsökningstips
- Inloggningsuppgifter för WhatsApp Business API kan löpa ut eller begränsas av mallar/behörigheter. Om svar slutar skickas, kontrollera först konsolen hos din WhatsApp‑leverantör och status för credentials i n8n.
- Om du använder Wait‑noder eller extern crawling varierar processingtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar efter sidinhämtningar.
- OpenAI‑prompter i AI‑noder börjar generiskt. Lägg in din tonalitet och regler som ”svara inte om okänt” tidigt, annars kommer du att korrigera ton och självsäkra svar varje dag.
Snabba svar
Räkna med cirka 60–90 minuter när dina konton och API‑nycklar är klara.
Nej. Du kopplar främst credentials och redigerar några fält och villkor i n8n.
Ja. n8n har ett gratis self‑hosted‑alternativ och en gratis testperiod i 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‑användning och Pinecone‑kostnader beroende på hur mycket innehåll du indexerar och hur många chattar du hanterar.
Två alternativ: n8n Cloud (hanterat, enklast setup) eller self‑hosting på en VPS. För self‑hosting är Hostinger VPS prisvärt och kör n8n bra. Self‑hosting ger dig obegränsat antal körningar men kräver grundläggande serveradministration.
Ja, och det bör du sannolikt. Du kan ändra vilka källor som indexeras genom att redigera indata i Form Submission och stegen för HTTP Request som hämtar din sitemap/URL:er, och sedan köra om delen Pinecone Vector Index för att uppdatera kunskapen. För ärendehantering justerar du logiken i ”If” och ”Switch” som avgör när det ska eskaleras, och redigerar mappningen i Google Sheets ”Generate Support Tickets” så den matchar dina kolumner. Vanliga justeringar är att samla in andra identifierare (fakturanummer i stället för ordernummer), skriva till en annan flik per produktlinje, eller skicka Slack/Discord‑notiser utöver e‑postbekräftelsen.
Oftast beror det på utgångna eller felkonfigurerade credentials för WhatsApp Business API, eller att din leverantör blockerar vissa meddelandetyper. Kontrollera WhatsApp‑triggerinställningarna i n8n igen, bekräfta att din webhook fortfarande är aktiv och se till att avsändarnumret är godkänt. Om det bara fallerar vid hög belastning kan du slå i rate limits och behöver sakta ned svaren eller lägga in en kort väntan. Verifiera också att ditt AI‑steg inte returnerar ett tomt svar, eftersom det kan få ett efterföljande sändsteg att krascha.
På en typisk n8n Cloud‑plan kan det hantera hundratals chattar per dag, så länge dina OpenAI‑ och Pinecone‑gränser är dimensionerade därefter.
Ofta, ja, eftersom det här workflowet inte bara är ”skicka meddelande och skapa rad”. Du crawlar en sitemap, parsar HTML/XML, extraherar PDF:er, skapar embeddings av innehåll, hämtar relevanta passager och routar sedan baserat på villkor. n8n hanterar den typen av branching och datatransformering utan att göra varje steg till en betald task. Zapier eller Make kan fortfarande vara bra om du bara vill ha en enkel WhatsApp‑till‑Sheets‑logg utan kunskapsbas. Om du är osäker, prata med en automationsexpert så får du en rak rekommendation baserad på din volym och dina kanaler.
När detta är live slutar dina chattkanaler att vara en slasktratt och börjar fungera som ett riktigt intake‑system. Workflowet hanterar upprepningarna och formateringen så att teamet kan fokusera på att lösa faktiska problem.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.