Din WhatsApp-inkorg rör sig snabbt. För snabbt. Ett röstmeddelande blir till fem följdfrågor, någon skickar en bild med ”kan du kolla det här?”, och plötsligt gräver du i gamla chattar för att minnas vad du lovade.
Supportansvariga känner av det först. Men marknadschefer som kör DM-tunga kampanjer och småföretagare som svarar kunder mellan möten springer in i samma vägg. Den här automatiseringen för WhatsApp-loggning till Sheets håller svaren konsekventa och får in varje konversation i ett sökbart Google Sheet automatiskt.
Du får se hur flödet hanterar text, bilder och ljud, hämtar svar från Google Docs och loggar hela interaktionen så att teamet äntligen kan se mönster och ta ansvar.
Så här fungerar automatiseringen
Se hur detta löser problemet:
n8n Workflow Template: WhatsApp + Google Sheets: logga varje chatt
flowchart LR
subgraph sg0["WhatsApp Flow"]
direction LR
n0["<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"]
n1@{ icon: "mdi:robot", form: "rounded", label: "Transcribe a recording", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "AI Agent", pos: "b", h: 48 }
n3@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model", pos: "b", h: 48 }
n4@{ icon: "mdi:memory", form: "rounded", label: "Simple Memory", pos: "b", h: 48 }
n5@{ icon: "mdi:database", form: "rounded", label: "Append or update row in shee..", pos: "b", h: 48 }
n6@{ icon: "mdi:cog", form: "rounded", label: "Aggregate", 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/>Send message"]
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/>Send message1"]
n9@{ icon: "mdi:robot", form: "rounded", label: "Analyze image", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>audio receiver1"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>audio receiver 2"]
n12["<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/>image receiver 1"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>image receiver2"]
n14@{ icon: "mdi:cog", form: "rounded", label: "Get a document in Google Docs", pos: "b", h: 48 }
n15["<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 response"]
n16@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch(route incoming messag..", pos: "b", h: 48 }
n2 --> n15
n6 --> n2
n9 --> n6
n4 -.-> n2
n15 --> n7
n10 --> n11
n13 --> n9
n0 --> n16
n11 --> n1
n12 --> n13
n1 --> n6
n3 -.-> n2
n14 -.-> n2
n16 --> n6
n16 --> n10
n16 --> n12
n16 --> n8
n5 -.-> n2
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 n0 trigger
class n1,n2,n9 ai
class n3 aiModel
class n4 ai
class n16 decision
class n5 database
class n10,n11,n12,n13 api
class n15 code
classDef customIcon fill:none,stroke:none
class n0,n7,n8,n10,n11,n12,n13,n15 customIcon
Utmaningen: snabba WhatsApp-svar utan att tappa kontext
På WhatsApp är ”det riktiga jobbet” inte att skriva svaret. Det är allt runt omkring. Lyssna på röstmeddelanden, be folk skicka om suddiga bilder, leta upp rätt policydokument och sedan försöka sammanfatta vad som hände för resten av teamet. Och när du gör det manuellt beror kvaliteten på vem som är i tjänst. Vissa svar är toppen. Andra blir stressade, inkonsekventa eller saknar den avgörande detaljen som förhindrar ännu en fram-och-tillbaka senare.
Det bygger upp snabbt. Här är var det brukar fallera i dagliga support- och säljsamtal.
- Röstmeddelanden saktar ner allt eftersom du inte kan skumma dem, så svarstiden drar iväg från minuter till ”när jag får en chans”.
- Foton och skärmdumpar behandlas som ett separat problem, vilket gör att du svarar utan att faktiskt använda det som finns i bilden.
- Team kopierar och klistrar från gamla chattar eller ur minnet, och då glider priser, policys eller utlovade tidslinjer sakta men säkert.
- Om konversationen inte loggas finns ingen insyn, ingen kvalitetssäkring och inget strukturerat sätt att träna ny personal.
Lösningen: multimodal WhatsApp-assistent + automatisk loggning i Sheets
Det här flödet gör WhatsApp till en lugnare och mer repeterbar supportkanal. När ett meddelande kommer in routas innehållet baserat på vad kunden skickade (text, bild, ljud eller en mix). Ljud hämtas och transkriberas. Bilder hämtas och analyseras så att assistenten kan använda det som faktiskt syns (etiketter, OCR-liknande textsignaler och visuell kontext). Sedan slås allt ihop till en enda konversation payload och skickas till en AI-agent (Gemini via Google Vertex AI) som även hämtar relevant info från dina kunskapsfiler i Google Docs. Till sist korrigeras svaret, skickas tillbaka till WhatsApp och hela interaktionen läggs till i Google Sheets för uppföljning.
Flödet startar med en WhatsApp-trigger för inkommande meddelanden. Därifrån hanterar Google Speech-to-Text och Vision-liknande analys media, medan Google Docs är ”single source of truth” för svar. Google Sheets blir ditt revisionsspår, inte en eftertanke.
Vad som förändras: före vs. efter
| Det här elimineras | Effekt du kommer att se |
|---|---|
|
|
Effekt i verkligheten
Säg att du hanterar 20 WhatsApp-konversationer per dag, och att ungefär hälften innehåller ett röstmeddelande eller ett foto. Manuellt är det vanligt att lägga cirka 5 minuter på att lyssna/titta, och sedan ytterligare 5 minuter på att hitta rätt snippet i Google Docs och skriva ett korrekt formaterat svar. Det är runt 3 timmar per dag av ”supportadmin”. Med det här flödet triggas allt direkt och bearbetningen sker i bakgrunden, så du brukar mest granska utkastet och skicka iväg det — vilket ofta landar närmare 1 timme totalt.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- WhatsApp Business API-leverantör för inkommande/utgående WhatsApp-meddelanden.
- Google Cloud (Vertex AI, Vision, Speech-to-Text) för att driva Gemini + medieförståelse.
- Google Service Account JSON-nyckel (hämta den i Google Cloud Console).
Svårighetsgrad: Medel. Du kopplar in inloggningar, mappar några fält och testar webhooks end-to-end.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Flödet steg för steg
Ett WhatsApp-meddelande träffar din webhook. Flödet startar med WhatsApp Incoming Trigger, som tar emot text och (när det finns) mediametadata som bilagors URL:er.
Meddelandet routas efter typ. En Switch-nod (Message Type Router) avgör vad som händer härnäst. Ljud laddas ner via HTTP Request-noder och skickas till transkribering. Bilder följer en liknande hämtningsväg innan bildanalysen körs.
Allt slås ihop till en korrekt formaterad prompt. Aggregate Data samlar originaltexten, transkriberingen och bildsammanfattningen. Den paketerade kontexten skickas till AI Orchestrator, som också hämtar från Google Docs så att svaren matchar din godkända kunskap.
Svar skickas ut, och interaktionen loggas. En Response Sanitizer städar formateringen, sedan skickar flödet svaret tillbaka till WhatsApp. Parallellt lägger det till en rad i Google Sheets med tidsstämpel, användar-ID, meddelandetyp, extraherat innehåll och AI-svaret.
Du kan enkelt justera kolumnerna i Google Sheets så att de matchar din rapportering (till exempel lägga till ”Agent”, ”Lead-kvalitet” eller ”Eskalera”). Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera WhatsApp-triggern
Börja med att sätta upp den inkommande WhatsApp-webbhooken så att meddelanden når ert arbetsflöde.
- Lägg till och öppna WhatsApp Incoming Trigger som arbetsflödets trigger.
- Konfigurera webbhooksdetaljerna för WhatsApp som krävs av er WhatsApp-leverantör i WhatsApp Incoming Trigger.
- Inloggningsuppgifter krävs: Anslut era WhatsApp-inloggningsuppgifter.
⚠️ Vanlig fallgrop: Om WhatsApp-webbhooken inte är verifierad eller korrekt mappad hos er WhatsApp-leverantör kommer WhatsApp Incoming Trigger inte att ta emot några meddelanden.
Steg 2: Routa inkommande meddelandetyper
Använd switch-noden för att routa text-, ljud- och bildflöden, eller en fallback-väg, baserat på den inkommande WhatsApp-payloaden.
- Öppna Route Incoming Types och definiera villkor som identifierar meddelandetyp (text, ljud, bild eller ej stödd).
- Säkerställ att WhatsApp Incoming Trigger är ansluten till Route Incoming Types enligt arbetsflödet.
- Mappa utgångarna så att ljud går till Audio Fetcher A, bilder går till Image Fetcher A, text går till Aggregate Data, och ej stödda typer går till Fallback WhatsApp Reply.
Tips: Håll switch-villkoren tydliga för att undvika att flera vägar triggas. Endast en utgång ska matcha per inkommande meddelande.
Steg 3: Sätt upp hämtning och bearbetning av media
Det här steget hämtar ljud-/bildmedia och förbereder det för AI-bearbetning.
- Konfigurera Audio Fetcher A → Audio Fetcher B → Speech Transcription för att hämta och transkribera ljudmeddelanden.
- Konfigurera Image Fetcher A → Image Fetcher B → Image Analysis för att hämta och analysera bilder.
- Bekräfta att både Speech Transcription och Image Analysis är anslutna till Aggregate Data för att konsolidera indata.
- Inloggningsuppgifter krävs: Anslut era Google Gemini-inloggningsuppgifter för Speech Transcription och Image Analysis.
⚠️ Vanlig fallgrop: Om media-URL:er kräver autentisering, säkerställ att Audio Fetcher A/Audio Fetcher B och Image Fetcher A/Image Fetcher B är konfigurerade med rätt headers eller autentiseringsinställningar.
Steg 4: Sätt upp AI-orkestrering och verktyg
Använd en AI-agent för att bygga svar med en chattmodell, minne och anslutna verktyg.
- Öppna AI Orchestrator och bekräfta att den tar emot indata från Aggregate Data.
- Anslut Gemini Chat Model till AI Orchestrator som språkmodell.
- Anslut Conversation Memory till AI Orchestrator för kontext över flera turer.
- Anslut Update Sheets Row och Retrieve Docs File till AI Orchestrator som verktyg för datauppdateringar och dokumenthämtning.
- Inloggningsuppgifter krävs: Anslut era Google Gemini-inloggningsuppgifter för Gemini Chat Model.
- Inloggningsuppgifter krävs: Anslut era inloggningsuppgifter för Google Sheets och Google Docs på AI Orchestrator för verktygen Update Sheets Row och Retrieve Docs File.
Tips: Conversation Memory, Update Sheets Row och Retrieve Docs File är AI-verktyg/under-noder. Lägg till inloggningsuppgifter på AI Orchestrator-nivå enligt vad er miljö kräver.
Steg 5: Konfigurera leverans av svar
Avsluta med hur svaren städas upp och skickas tillbaka till WhatsApp.
- Öppna Response Sanitizer och lägg till logik för att formatera eller rensa AI-utdata innan det skickas.
- Säkerställ att AI Orchestrator är ansluten till Response Sanitizer, som i sin tur är ansluten till Dispatch WhatsApp Reply.
- Konfigurera Fallback WhatsApp Reply som standardmeddelande för ej stödda innehållstyper från Route Incoming Types.
- Inloggningsuppgifter krävs: Anslut era WhatsApp-inloggningsuppgifter för Dispatch WhatsApp Reply och Fallback WhatsApp Reply.
⚠️ Vanlig fallgrop: Om Response Sanitizer returnerar tom utdata kan Dispatch WhatsApp Reply skicka tomma meddelanden. Validera utdataformateringen innan ni testar.
Steg 6: Testa och aktivera ert arbetsflöde
Kör ett live-test för att bekräfta att varje väg fungerar, och aktivera sedan arbetsflödet för produktionsanvändning.
- Klicka på Execute Workflow och skicka ett WhatsApp-textmeddelande, ett röstmeddelande och en bild för att testa varje väg.
- Verifiera att text-/ljud-/bildindata når Aggregate Data och därefter går genom AI Orchestrator → Response Sanitizer → Dispatch WhatsApp Reply.
- Bekräfta att ej stödda meddelanden triggar Fallback WhatsApp Reply.
- När det fungerar, växla arbetsflödet till Active för att möjliggöra kontinuerlig WhatsApp-hantering.
Se upp för
- Åtkomst för Google Service Account är den vanligaste orsaken. Om anrop mot Sheets eller Docs fallerar, kontrollera först n8n-inloggningen och bekräfta sedan att filen är delad med den service account-e-postadressen i Google Drive.
- Om du använder Wait-noder eller extern rendering varierar processtider. Öka väntetiden om noder längre fram fallerar på tomma svar.
- Webhooks hos WhatsApp-leverantörer kan vara kinkiga med media. Om hämtning av ljud/bilder misslyckas, granska exekveringsdatan för att säkerställa att du använder rätt fält för nedladdnings-URL och att din provider-token fortfarande har behörighet.
Vanliga frågor
Cirka 60 minuter om dina WhatsApp- och Google-inloggningar är klara.
Ja, men du vill ha en person som är bekväm med webhooks och Google Service Accounts. När inloggningarna är kopplade är den dagliga användningen hands-off.
Ja. n8n har ett gratis alternativ för self-hosting och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna med Google Cloud-användning för Vertex AI (Gemini), Speech-to-Text och Vision API-anrop.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade exekveringar men kräver grundläggande serveradministration.
Börja med prompten i AI Orchestrator och steget för hämtning från Google Docs. Du kan peka ”Retrieve Docs File” mot andra dokument (returer, prissättning, onboarding) och justera tonregler så att assistenten låter som ditt varumärke. Många team justerar också mappningen i ”Update Sheets Row” för att lägga till fält som produktlinje, prioritet eller ”behöver mänsklig uppföljning”. Om du vill ha mer kontroll kan du byta ut Gemini Chat Model mot en annan leverantör utan att ändra resten av flödet.
Oftast är det en webhook- eller tokenfråga hos din WhatsApp Business API-leverantör. Kontrollera att leverantören postar till din n8n-webhook-URL och bekräfta sedan att phone number ID och access token fortfarande är giltiga. Mediafel är ofta också ett behörighetsproblem, eftersom nedladdnings-URL:er för ljud/bilder kan kräva auth.
Den skalar enkelt till typiska supportvolymer för SMB, och de verkliga begränsningarna kommer från din n8n-plan/server och Google API-kvoter. Med n8n Cloud Starter kan du köra tusentals exekveringar per månad, och self-hosting tar bort exekveringsbegränsningar (dina VPS-resurser blir flaskhalsen). Mediameddelanden tar mer tid än text eftersom transkribering och bildanalys tar längre tid. Om du förväntar dig hög trafik, lägg till kvotövervakning i Google Cloud och överväg att begränsa hur mycket bild-OCR du begär.
För multimodal WhatsApp-support är n8n oftast bättre eftersom du kan förgrena logik fritt, hantera HTTP-hämtningar för media på ett stabilt sätt och self-hosta om exekveringar blir dyra. Zapier och Make kan fungera, men så fort du lägger till transkribering, bildanalys och dokumenthämtning blir scenariot ofta skört eller kostsamt. Dessutom gör n8n:s exekveringsloggar felsökning betydligt mindre smärtsam. Om du väljer mellan verktyg, prata med en automationsexpert så mappar vi det mot din volym och dina kanaler.
Du får snabbare svar, färre missade detaljer och ett tydligt Google Sheets-spår som du faktiskt kan använda. Sätt upp det en gång, och låt sedan flödet bära lasten.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.