Din WhatsApp-inkorg blir aldrig “klar”. Samma frågor återkommer, röstmeddelanden staplas på hög och teamet slutar med att copy-pasta svar som för varje dag glider lite mer off-brand.
Den här automatiseringen av WhatsApp-svar slår först mot supportansvariga, men småföretagare och drifts-/operationsansvariga känner av det också. Du vill svara snabbare utan att anställa, och du vill att svaren ska låta som du (inte som en slumpmässig bot).
Det här arbetsflödet gör inkommande WhatsApp-text och röstmeddelanden till konsekventa, företagsanpassade svar med Google Gemini och Pinecone. Du får se vad som automatiseras, vilka resultat du kan förvänta dig och vad som krävs för att köra det stabilt.
Så här fungerar automatiseringen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: WhatsApp + Google Gemini: svar hanteras åt dig
flowchart LR
subgraph sg0["WhatsApp Flow"]
direction LR
n0@{ icon: "mdi:robot", form: "rounded", label: "AI Agent", pos: "b", h: 48 }
n1@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model", pos: "b", h: 48 }
n2@{ icon: "mdi:memory", form: "rounded", label: "Simple Memory", pos: "b", h: 48 }
n3@{ icon: "mdi:wrench", form: "rounded", label: "Answer questions with a vect..", pos: "b", h: 48 }
n4@{ icon: "mdi:cube-outline", form: "rounded", label: "Pinecone Vector Store", pos: "b", h: 48 }
n5@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model1", pos: "b", h: 48 }
n6@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings Google Gemini", pos: "b", h: 48 }
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/whatsapp.svg' width='40' height='40' /></div><br/>WhatsApp Trigger"]
n8["<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/>Get Audio URL"]
n9["<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/>Audio Download"]
n10@{ icon: "mdi:swap-vertical", form: "rounded", label: "Audio Prompt", pos: "b", h: 48 }
n11["<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/>Send message"]
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Audio/Message", pos: "b", h: 48 }
n13["<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/>Audio Convert"]
n14["<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/>Gemini speech to text"]
n0 --> n11
n10 --> n0
n13 --> n14
n12 --> n8
n12 --> n0
n8 --> n9
n2 -.-> n0
n9 --> n13
n7 --> n12
n14 --> n10
n4 -.-> n3
n6 -.-> n4
n1 -.-> n0
n5 -.-> n3
n3 -.-> n0
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 trigger
class n0 ai
class n1,n5 aiModel
class n3 ai
class n2 ai
class n4 ai
class n6 ai
class n12 decision
class n9,n14 api
class n13 code
classDef customIcon fill:none,stroke:none
class n7,n8,n9,n11,n13,n14 customIcon
Problemet: WhatsApp-support blir en tidstjuv
WhatsApp är toppen för kunder eftersom det går snabbt. För dig blir det en konstant ström av avbrott. En person frågar om priser, en annan skickar ett röstmeddelande på 40 sekunder och någon annan vill ha samma fraktpolicy som du svarade på igår. Du kan inte ignorera det, men att svara manuellt innebär att byta kontext hela dagen, leta fram “rätt” svar och hoppas att en kollega inte lovar något som inte stämmer. Arbetsbördan växer i det tysta tills den äter upp flera timmar varje vecka.
Det är inte ett stort haveri. Det är dussintals små som staplas på varandra.
- Röstmeddelanden tvingar dig att stanna upp, lyssna, spela om och sammanfatta innan du ens börjar svara.
- Svaren varierar mellan handläggare, så kunder får olika besked beroende på vem som är online.
- Att leta i gamla chattar efter “det där meddelandet” går långsamt, och det är ärligt talat lätt att missa detaljer.
- När du har mycket att göra glider svarstiderna, och WhatsApp börjar kännas som ett brandlarm i stället för en kanal.
Lösningen: en virtuell WhatsApp-receptionist med koll på din verksamhet
Det här n8n-arbetsflödet fungerar som en virtuell receptionist i WhatsApp. När en kund skickar ett meddelande avgör det om det är text eller ett röstmeddelande. Är det text går det direkt till AI-agenten. Är det röst hämtar flödet ljudet säkert från WhatsApp, konverterar det och skickar det till Google Gemini för transkribering först. Därefter genererar AI-agenten ett korrekt formaterat, rakt svar med hjälp av ditt företagskunnande som ligger i Pinecone (tänk produktkatalog, vanliga frågor, policys och intern “godkänd” formulering). Till sist skickas svaret tillbaka till kunden i samma WhatsApp-tråd, snabbt nog för att kännas som en riktig konversation.
Flödet startar med en trigger för inkommande WhatsApp-meddelanden. I mitten hanterar Gemini transkribering och språkförståelse medan Pinecone hämtar relevant företagskontext. I slutet skickar WhatsApp ett välpolerat svar som följer era kommunikationsregler (inga onödiga hälsningar, endast godkända språk och en professionell ton).
Det du får: automatisering vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att ditt företag får cirka 40 WhatsApp-frågor per dag, och ungefär 10 är röstmeddelanden. Manuellt kanske du lägger runt 4 minuter per textsvar och närmare 8 minuter per röstmeddelande (lyssna, spela om, sedan skriva), vilket blir cirka 4 timmar om dagen. Med det här flödet är “jobbet” i princip bara att ta emot meddelandet; Gemini transkriberar röstmeddelanden i bakgrunden och agenten skriver förslag på svar med Pinecone-kontext, så du granskar främst undantag. För många team innebär det att vinna tillbaka ungefär 3 timmar per dag samtidigt som svarskvaliteten hålls stabil.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för självhosting om du föredrar det (Hostinger fungerar bra)
- WhatsApp Business Cloud API för att ta emot och skicka meddelanden.
- Google Gemini för transkribering och svarsgenerering.
- Pinecone för att lagra och hämta företagskunskap.
- WhatsApp access token (hämta den i Meta Developer Dashboard).
- Google Gemini API-nyckel (hämta den i Google AI Studio / Google Cloud).
- Pinecone API-nyckel (hämta den i din Pinecone-konsol).
Kunskapsnivå: Mellan. Du kopplar in autentiseringar, sätter en webhook och klistrar in några nycklar, men du bygger ingen app från grunden.
Vill du inte sätta upp det här själv? Prata med en automationsspecialist (gratis 15-minuters konsultation).
Så fungerar det
Ett WhatsApp-meddelande kommer in. WhatsApp-triggern lyssnar efter nya inkommande meddelanden så att flödet kan svara i realtid, inte timmar senare.
Text och röst tar olika vägar. Ett routningssteg kontrollerar meddelandetypen. Text går direkt till receptionistagenten; röstmeddelanden går först genom ljudhämtning och transkribering så att de kan hanteras som vanlig text.
Gemini + Pinecone genererar ett “företagsanpassat” svar. AI-agenten använder en Gemini-chatmodell för att formulera svaret, men gör också en fråga mot Pinecone för relevanta produktdetaljer, vanliga frågor och policys. En korttidsminnesbuffer håller de senaste 20 meddelandena per session så att följdfrågor fortfarande blir begripliga.
Svaret skickas tillbaka till WhatsApp. När agenten är klar skickar flödet iväg svaret via WhatsApp Business Cloud-noden, så att konversationen hålls på ett ställe.
Du kan enkelt justera affärsreglerna (ton, tillåtna språk, hur raka svaren ska vara) så att det matchar ditt varumärke. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera WhatsApp-triggern
Det här arbetsflödet startar när ett nytt WhatsApp-meddelande kommer in och routar det baserat på meddelandetyp.
- Lägg till och konfigurera WhatsApp Incoming Trigger som arbetsflödets trigger.
- Inloggningsuppgifter krävs: Anslut era
whatsAppTriggerApi-inloggningsuppgifter i WhatsApp Incoming Trigger. - Verifiera att triggern lyssnar på updates inställt på
messages. - Koppla WhatsApp Incoming Trigger till Route Message Type.
Steg 2: Routa meddelanden efter typ
Använd switch-noden för att avgöra om det inkommande meddelandet är ljud eller text och routa därefter.
- Öppna Route Message Type och behåll de två reglerna som heter Audio och Text.
- För regeln Audio, säkerställ att villkoret kontrollerar
{{ $json.messages[0].audio }}med operatorn exists. - För regeln Text, säkerställ att villkoret kontrollerar
{{ $json.messages[0].text }}med operatorn exists. - Koppla utgången Audio till Retrieve Audio Link och utgången Text till Virtual Receptionist.
messages[0].audio eller messages[0].text i payloaden.Steg 3: Sätt upp hämtning och transkribering av ljud
Ljudgrenen hämtar media-URL:en, laddar ner filen, konverterar den till base64 och skickar den för transkribering.
- I Retrieve Audio Link, ställ in Resource på
media, Operation påmediaUrlGetoch Media ID på{{ $json.messages[0].audio.id }}. - Inloggningsuppgifter krävs: Anslut era
whatsAppApi-inloggningsuppgifter i Retrieve Audio Link. - I Download Audio File, ställ in URL på
{{ $json.url }}och Authentication pågenericCredentialTypemed Generic Auth Type inställt påhttpHeaderAuth. - Inloggningsuppgifter krävs: Anslut era
httpHeaderAuth-inloggningsuppgifter i Download Audio File. - Behåll koden i Convert Audio Base64 som den är för att mata ut
base64AudioochmimeTypefrån den binära indata. - I Gemini Transcription Request, ställ in Method på
POSToch JSON Body till den angivna strukturen med{{ $json.mimeType }}och{{ $json.base64Audio }}. - Koppla flödet: Retrieve Audio Link → Download Audio File → Convert Audio Base64 → Gemini Transcription Request → Prepare Audio Prompt.
data som förväntas av Convert Audio Base64.Steg 4: Förbered AI-indata och konfigurera agenten
Förbered den slutliga prompttexten och koppla upp AI-komponenterna för ett kunskapsbaserat svar.
- I Prepare Audio Prompt, säkerställ att tilldelningen sätter candidates[0].content.parts[0].text till
{{ $json.candidates[0].content.parts[0].text }}. - I Virtual Receptionist, ställ in Text till
{{ $json.messages[0].text.body }} {{ $json.candidates[0].content.parts[0].text }}så att den kan hantera både text och transkriberat ljud. - Behåll innehållet i Virtual Receptionist System Message som definierat för konsekvent supportbeteende och ton.
- Gemini Chat Engine är ansluten som språkmodell för Virtual Receptionist — Inloggningsuppgifter krävs: Anslut era
googlePalmApi-inloggningsuppgifter i Gemini Chat Engine. - Session Memory Buffer är ansluten till Virtual Receptionist — ställ in Session Key till
{{ $('WhatsApp Incoming Trigger').item.json.contacts[0].wa_id }}och Context Window Length till20. - Vector Knowledge Lookup är ansluten som ett verktyg för Virtual Receptionist — behåll beskrivningstexten som angivet.
- Pinecone Vector Index driver Vector Knowledge Lookup — Inloggningsuppgifter krävs: Anslut era
pineconeApi-inloggningsuppgifter och säkerställ att Pinecone Index ärsuperclean. - Gemini Flash Model är ansluten som språkmodell för Vector Knowledge Lookup — Inloggningsuppgifter krävs: Anslut era
googlePalmApi-inloggningsuppgifter och ställ in Model Name tillmodels/gemini-2.0-flash. - Gemini Embedding Builder är ansluten till Pinecone Vector Index — Inloggningsuppgifter krävs: Anslut era
googlePalmApi-inloggningsuppgifter.
Steg 5: Konfigurera WhatsApp-svaret
Skicka det AI-genererade svaret tillbaka till användaren via WhatsApp.
- Öppna Dispatch WhatsApp Reply och ställ in Operation till
send. - Ställ in Text Body till
{{ $json.output }}. - Ställ in Phone Number ID till
[YOUR_ID]och Recipient Phone Number till{{ $('WhatsApp Incoming Trigger').item.json.messages[0].from }}. - Inloggningsuppgifter krävs: Anslut era
whatsAppApi-inloggningsuppgifter i Dispatch WhatsApp Reply. - Bekräfta att körflödet från Virtual Receptionist till Dispatch WhatsApp Reply är anslutet.
[YOUR_ID] har ersatts med ert faktiska WhatsApp Phone Number ID.Steg 6: Testa och aktivera ert arbetsflöde
Kör ett test från början till slut för att bekräfta att både text- och ljudvägen fungerar, och aktivera sedan arbetsflödet.
- Klicka på Execute Workflow och skicka ett WhatsApp-textmeddelande för att trigga WhatsApp Incoming Trigger → Route Message Type → Virtual Receptionist → Dispatch WhatsApp Reply.
- Skicka ett WhatsApp-ljudmeddelande för att testa ljudgrenen: Retrieve Audio Link → Download Audio File → Convert Audio Base64 → Gemini Transcription Request → Prepare Audio Prompt → Virtual Receptionist → Dispatch WhatsApp Reply.
- Bekräfta en lyckad körning genom att kontrollera att Dispatch WhatsApp Reply skickar ett svar och att AI-utdata visas i nodens output.
- När testet är lyckat, slå på arbetsflödet Active för att möjliggöra produktionsanvändning.
Vanliga fallgropar
- Inloggningsuppgifter för WhatsApp Business Cloud kan löpa ut eller tappa behörigheter efter ändringar hos Meta. Om svar slutar skickas: kontrollera först tokenstatus i Meta Developer Dashboard och n8n-autentiseringen som är kopplad till WhatsApp-noderna.
- Om du använder Wait-noder eller extern bearbetning (som transkribering) varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar, särskilt direkt efter “Download Audio File” och Gemini-anropet för transkribering.
- Standardprompter i AI-noder är generiska. Lägg in er varumärkesröst och “godkända formuleringar” tidigt i reglerna för den virtuella receptionistagenten, annars kommer du att redigera utdata för alltid.
Vanliga frågor
Cirka 45 minuter om du redan har API-nycklarna.
Nej. Du kopplar främst ihop konton och klistrar in autentiseringsuppgifter i n8n. Den enda “kodiga” delen finns redan i flödet för att konvertera ljud till Base64.
Ja. n8n har ett gratis alternativ för självhosting 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 användning av Google Gemini och Pinecone-lagring, som varierar beroende på meddelandevolym.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller självhosting på en VPS. För självhosting är Hostinger VPS prisvärd och hanterar n8n bra. Självhosting ger dig obegränsade körningar men kräver grundläggande serverdrift.
Ja, men håll det kontrollerat. Uppdatera reglerna för tillåtna språk i noden Virtual Receptionist (AI Agent) och testa sedan riktiga meddelanden för varje språk. Om du behöver striktare routing: lägg till språkdetektering och skicka olika språk till olika agentgrenar så att ton och policyformuleringar förblir konsekventa.
Oftast handlar det om en access token som har löpt ut eller ett behörighetsproblem i Meta-appen som äger ditt WhatsApp Business-konto. Skapa en ny token i Meta Developer Dashboard och uppdatera sedan autentiseringen som används av noderna WhatsApp Incoming Trigger och Dispatch WhatsApp Reply. Om du nyligen har bytt telefonnummer eller webhooks: dubbelkolla webhook-URL:en och vilka events du prenumererar på. Rate limiting kan också dyka upp om du spammar svar under testning.
På självhostad n8n beror det på din server, men att hantera några tusen meddelanden i månaden är realistiskt på en liten VPS om din AI-användning är rätt dimensionerad. På n8n Cloud baseras din gräns på planens månatliga körningar. Röstmeddelanden tar längre tid än text eftersom transkribering är ett extra anrop, så planera kapacitet utifrån dina maxtimmar, inte en genomsnittlig dag.
För det här användningsfallet är n8n oftast bättre eftersom du behöver grenar (text vs. röst), sessionsminne och ett mer “agent-likt” flöde med en vektordatabas i mitten. Zapier och Make kan lösa delar, men komplex chattlogik blir snabbt rörig och kan bli dyr när volymen växer. n8n ger dig också möjligheten att självhosta, vilket spelar roll när din WhatsApp-trafik toppar. Om du vill ha enklast möjliga upplägg och bara hanterar text kan du föredra Zapier. Om du är osäker: prata med en automationsspecialist och få en rak rekommendation.
Du sätter upp det här en gång, och din WhatsApp-inkorg slutar styra din dag. Flödet hanterar de repetitiva frågorna, och du kliver bara in när det faktiskt behövs en människa.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.