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

WhatsApp + Google Sheets: besvarade och loggade leads

Rickard Andersson Partner, Nodenordic.se

Leads trillar in, notiserna staplas, och plötsligt har det gått tre timmar sedan någon frågade om pris på WhatsApp. Du svarar för sent (eller inte alls) och försöker sedan återskapa konversationen för uppföljningar. Det blir rörigt.

Det här problemet med WhatsApp lead logging slår mot marknadschefer först, eftersom svarstid till lead påverkar kampanjens ROI. Men grundare och byråägare känner av det också, särskilt när ”vi svarar inom 5 minuter” blir ”i morgon bitti”.

Det här n8n-flödet svarar direkt i WhatsApp, Instagram, Facebook, LinkedIn och webbformulär, och loggar sedan varje interaktion i Google Sheets så att inget försvinner. Du får se hur det fungerar, vad du behöver och var team oftast går fel.

Så här fungerar automatiseringen

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

n8n Workflow Template: WhatsApp + Google Sheets: besvarade och loggade leads

Problemet: snabba svar är svåra att hålla över tid

Att svara snabbt låter enkelt tills du jonglerar fem inkorgar och ett dussin kontextbyten. En WhatsApp-lead vill ha en offert, ett Instagram-DM frågar om tillgänglighet, ett LinkedIn-meddelande kommer in via en rekommendation och ditt webbformulär landar tyst i mejlen. Lägg till verkligheten: möten, leveransjobb, överlämningar i teamet, helger. Då blir svaren inkonsekventa, du copy-pastar halvdana mallar och tappar bort vem som faktiskt fick ett svar. Det värsta är uppföljningskaoset. Om första svaret inte loggas korrekt blir din ”pipeline” en minneslek.

Det eskalerar snabbt. Här är var det brukar haverera i det dagliga arbetet.

  • Folk svarar från fel ställe, så teamet ser inte vad som lovats.
  • Manuell loggning i Google Sheets sker ”senare”, vilket oftast betyder att det aldrig blir av.
  • Leads efter arbetstid får antingen inget svar eller ett stelt svar som inte sätter förväntningar.
  • När du väl behöver rapportering sitter du och pusslar ihop trådar mellan appar.

Lösningen: en omedelbar SDR som svarar och loggar allt

Det här flödet gör dina inkommande lead-meddelanden till ett enda, pålitligt system. Det börjar med att lyssna efter nya leads från WhatsApp, Instagram, Facebook, LinkedIn och webbformulär via webhooks. Varje källa har sina egna röriga fält, så flödet normaliserar datan till en gemensam, strukturerad modell (namn, meddelande, kanal, tidsstämpel och eventuell extra kontext). Sedan konverteras tiden till IST, arbetsdagar och arbetstider kontrolleras och en AI-prompt byggs som tar hänsyn till både leadens fråga och när de kontaktade dig. AI:n genererar ett kort, mänskligt svar, och flödet skickar det tillbaka till rätt kanal automatiskt. Till sist loggas hela interaktionen, svarsstatus och timing i Google Sheets så att du har en korrekt historik för uppföljning och rapportering.

Inkommande lead triggar en webhook, sedan struktureras och slås datan ihop till ett enda flöde. AI:n utformar svaret med tidskontext, och n8n skickar tillbaka det via rätt kanal. Efter det får Google Sheets en uppdaterad loggrad du faktiskt kan lita på.

Det du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du får 10 inkommande leads per dag via WhatsApp och Instagram, plus några via LinkedIn och din webbplats. Manuellt tar även ett ”snabbt” första svar och loggning kanske 10 minuter per lead när du räknar in kontextbyten och uppdatering av Sheets, så du tappar runt 2 timmar per dag. Med det här flödet triggar leaden automatiseringen direkt, AI-svaret genereras och skickas, och konversationen loggas utan att du rör något. Du kanske fortfarande hoppar in för leads med hög intent, men då gör du det medvetet, inte för att inkorgen brinner.

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)
  • Google Sheets för att lagra din lead- och svarlogg.
  • WhatsApp + sociala lead-källor för att ta emot inkommande meddelanden via webhooks.
  • OpenAI API-nyckel (hämta den i din OpenAI API-dashboard).

Kunskapsnivå: Medel. Du klistrar mest in inloggningsuppgifter och testar webhooks, men du bör vara bekväm med att mappa fält och göra några testrundor.

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

Så fungerar det

Ett nytt lead-meddelande kommer in. En webhook fångar det inkommande meddelandet från WhatsApp, Instagram, Facebook, LinkedIn eller inskick från ditt webbformulär och skickar in det i flödet.

Flödet standardiserar lead-datan. Varje kanal har olika fält, så n8n mappar dem till en strukturerad modell och slår sedan ihop allt till en enda rutt så att efterföljande steg inte bryr sig om var det kom ifrån.

Logik för arbetstid + AI-generering av svar. Flödet konverterar tidsstämplar till IST, kontrollerar om det är en arbetsdag och inom arbetstid och bygger sedan en prompt som inkluderar lead-detaljer och tidskontext. OpenAI genererar ett kort svar som låter som om en mänsklig SDR skrev det (inte en textvägg).

Svaret skickas och interaktionen loggas. En switch routar meddelandet tillbaka till rätt kanal (WhatsApp-sändning, HTTP-requests för sociala svar, Gmail för webbplatsleads), och till sist sätts en slutlig post ihop och skrivs till Google Sheets med svarsstatus och timing.

Du kan enkelt ändra reglerna för arbetstid så att de matchar din tidszon och dina arbetsdagar utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: Konfigurera webhook-triggern

Det här arbetsflödet startar från flera inkommande leadkällor. Ni kommer att sätta upp varje webhook-endpoint så att externa plattformar kan skicka leaddata till n8n.

  1. Öppna Webhook WhatsApp Lead och ställ in Path till incoming-leads-whatsapp med HTTP Method inställd på POST.
  2. Öppna Webhook Facebook Lead och ställ in Path till incoming-leads-facebook med HTTP Method inställd på POST.
  3. Öppna Webhook Instagram Lead och ställ in Path till incoming-leads-instagram med HTTP Method inställd på POST.
  4. Öppna Webhook LinkedIn Lead och ställ in Path till incoming-leads-linkdin med HTTP Method inställd på POST.
  5. Öppna Webhook Website Lead och ställ in Path till incoming-leads-website med HTTP Method inställd på POST.

Ha webhook-URL:erna till hands för varje plattformsintegration så att ni kan klistra in dem i WhatsApp, Facebook, Instagram, LinkedIn och er webbplats formulärhanterare.

Steg 2: Normalisera inkommande leaddata

De fem mappningsnoderna standardiserar fälten så att resten av arbetsflödet kan arbeta med ett konsekvent schema.

  1. I Map WhatsApp Fields ställer ni in tilldelningar som body.lead_name till {{ $json.body.ProfileName }}, body.contact_phone till {{ $json.body.From }} och body.message_text till {{ $json.body.Body }}.
  2. I Map Facebook Fields och Map Instagram Fields speglar ni samma tilldelningar och ställer in body.source_channel till facebook respektive instagram.
  3. I Map LinkedIn Fields mappar ni namn, telefon och meddelande på samma sätt och ställer in body.source_channel till linkdin.
  4. I Map Web Lead Fields mappar ni body.lead_name till {{ $json.body.lead_name }}, body.contact_phone till {{ $json.body.contact_phone }}, body.message_text till {{ $json.body.message_text }}, body.source_channel till {{ $json.body.source_channel }} och body.contact_email till {{ $json.body.contact_email }}.

⚠️ Vanlig fallgrop: Route Source Channel förväntar LinkedIn men Map LinkedIn Fields sätter linkdin. Gör värdena konsekventa för att undvika missad routning.

Steg 3: Routa leads och kontrollera kontorstider

Det här avsnittet skickar alla normaliserade leads in i en och samma processväg och avgör om leadet kom in under arbetstid.

  1. I Route Source Channel säkerställer ni att varje regel jämför leftValue med {{ $json.body.source_channel }} och routar för whatsapp, Instagram, Facebook, LinkedIn och website.
  2. Bekräfta att Route Source Channel skickar vidare till Compute Day Hour Info för varje regel (centraliserad bearbetning).
  3. Behåll koden i Compute Day Hour Info som den är för att beräkna IST-värden och is_working_hours från $json.body.submitted_at.
  4. I Validate Business Hours behåller ni villkoren som använder {{ $json.ist_dayOfWeek }}, {{ $json.isWorkingDay }} och {{ $json.is_working_hours }}.

Båda utgångarna från Validate Business Hours går till Compose AI Prompt, så prompten genereras oavsett arbetstid. Detta är avsiktligt så att meddelandet kan nämna kontorstider vid behov.

Steg 4: Sätt upp generering av AI-svar

Arbetsflödet skapar en prompt, anropar Groq:s chat completion-endpoint och slår ihop AI-svaret med leaddata.

  1. I Compose AI Prompt behåller ni modellen och reglerna som definierats, särskilt användarprompten som innehåller ${$input.item.json.body.source_channel} och ${$input.item.json.is_working_hours}.
  2. I Request AI Completion ställer ni in URL till https://api.groq.com/openai/v1/chat/completions, Method till POST och JSON Body till {{ $json.requestBody }}.
  3. I Request AI Completion ställer ni in headers till Authorization med [CONFIGURE_YOUR_TOKEN] och Content-Type med application/json.
  4. I Merge AI Result behåller ni koden som läser $input.item.json.choices[0].message.content och slår ihop den med data från Compose AI Prompt.

⚠️ Vanlig fallgrop: Om AI-API:et returnerar en annan svarsstruktur kommer Merge AI Result att misslyckas. Bekräfta att svaret innehåller choices[0].message.content.

Steg 5: Konfigurera kanalsvar och loggning

AI-svar skickas baserat på källkanal och konsolideras sedan till en enskild loggpost.

  1. I Dispatch Channel Reply bekräftar ni att varje regel kontrollerar leftValue {{ $json.body.source_channel }} för whatsapp, Instagram, Facebook, LinkedIn och website.
  2. I Send WhatsApp Reply ställer ni in Operation till send, Text Body till {{ $json.ai_response }}, Recipient Phone Number till {{ $json.body.contact_phone }} och fyller i Phone Number ID med ert värde.
  3. I Post Instagram Reply ställer ni in URL till your-instagram-api-endpoint. Gör samma sak för Post Facebook Reply med your-facebook-api-endpoint och Post LinkedIn Reply med your-linkdin-api-endpoint.
  4. I Send Email Reply ställer ni in Send To till {{ $json.body.contact_email }}, Message till {{ $json.ai_response }} och Subject till Website developement Pricing Inquiry.
  5. Behåll koden i Assemble Log Record som den är för att fånga sändningsstatus, leadmetadata och tidsstämplar, och skicka sedan vidare till kalkylarksloggen.

Inloggningsuppgifter krävs: Noden Send Email Reply kräver Gmail-inloggningsuppgifter även om inga är konfigurerade i arbetsflödet. Lägg till dem innan ni testar.

Inloggningsuppgifter krävs: Noden Send WhatsApp Reply kräver WhatsApp-inloggningsuppgifter (och ett giltigt Phone Number ID) även om inga är konfigurerade i arbetsflödet.

Steg 6: Koppla in Google Sheets-loggning

Den slutliga loggposten läggs till eller uppdateras i ert kalkylark för rapportering och uppföljning.

  1. Öppna Update Lead Spreadsheet och ställ in Operation till appendOrUpdate.
  2. Ställ in Document till ert kalkylarks-ID (för närvarande [YOUR_ID]) och Sheet Name till målfliken (för närvarande gid=0).
  3. Verifiera kolumnmappningar som Email till {{ $json.email }}, Lead Name till {{ $json.lead_name }}, AI Response till {{ $json.ai_response }} och Source Channel till {{ $json.source_channel }}.

Inloggningsuppgifter krävs: Noden Update Lead Spreadsheet kräver Google Sheets-inloggningsuppgifter även om inga är konfigurerade i arbetsflödet.

Steg 7: Testa och aktivera ert arbetsflöde

Kör kontrollerade tester för att verifiera kanalroutning, AI-svar och loggning.

  1. Använd knappen Execute Workflow och skicka en exempel-payload till varje webhook-URL för WhatsApp, Facebook, Instagram, LinkedIn och Website.
  2. Bekräfta att varje payload flödar från Route Source ChannelCompute Day Hour InfoValidate Business HoursCompose AI PromptRequest AI CompletionMerge AI Result.
  3. Verifiera att rätt utgående nod triggas från Dispatch Channel Reply och att Assemble Log Record fångar en status som Sent Successfully.
  4. Kontrollera Update Lead Spreadsheet för att säkerställa att en rad läggs till eller uppdateras med AI-svaret och tidsstämplar.
  5. När ni är nöjda, växla arbetsflödet till Active så att webhooks tar emot live-trafik.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Google Sheets-inloggningar kan gå ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera fliken Credentials i n8n och bekräfta först att kalkylarket är delat med det anslutna Google-kontot.
  • Om du använder Wait-noder eller extern rendering varierar processingtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera outputs i all evighet.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för WhatsApp lead logging?

Cirka 45 minuter om dina kanal-webhooks redan är klara.

Behöver jag kunna koda för att automatisera WhatsApp lead logging?

Nej. Du kommer främst koppla ihop konton och mappa några fält. JavaScript-noderna är redan inbyggda i flödet.

Är n8n gratis att använda för det här flödet för WhatsApp lead logging?

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 kostnader för OpenAI API, som vanligtvis landar på några ören per dag vid låg lead-volym.

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ärd 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 WhatsApp lead logging för svar efter arbetstid?

Ja, och det borde du sannolikt göra. Kontroll av arbetstid sker i logiken ”Validate Business Hours”, och AI-prompten byggs i ”Compose AI Prompt”, så du kan ha en ton för arbetstid och en annan för kvällar och helger. Vanliga justeringar är att lägga till en rad som ”Vi återkommer kl. 10.00 IST”, routa leads efter arbetstid till en annan flik i sheetet och tagga meddelanden med hög intent så att en människa får en ping.

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

Oftast handlar det om en utgången token eller att webhooken pekar på en gammal n8n-URL. Kontrollera inställningarna hos din WhatsApp-leverantör och bekräfta sedan att din n8n-webhook-URL går att nå från publika internet. Leta också efter saknade behörigheter i WhatsApp-appen, eftersom vissa leverantörer begränsar utskick om inte mall- eller sessionsregler uppfylls.

Hur många leads klarar den här automatiseringen för WhatsApp lead logging?

För de flesta små team är hundratals leads per dag inga problem om dina API:er tillåter det.

Är den här automatiseringen för WhatsApp lead logging bättre än att använda Zapier eller Make?

Det beror på hur strikt du är med logik och loggning. Det här flödet använder routning med flera grenar, regler för arbetstid och ett tydligt ”normalisera allt först”-mönster, vilket är mycket enklare att förvalta i n8n när du har fler än två kanaler. Du får också möjlighet till self-hosting, vilket spelar roll om du inte vill att prissättning per uppgift ska smyga upp när volymerna växer. Zapier eller Make kan gå snabbare för en enkel tvåstegs ”nytt meddelande → skicka svar”, men så fort du lägger till AI-prompter, statustracking och flera källor blir det pilligt. Vill du ha en second opinion på val av plattform, prata med en automations-expert.

När det här väl rullar slutar teamet släcka bränder och börjar följa ett system. Flödet tar hand om det repetitiva, och du kan fokusera på de leads som faktiskt förtjänar ett mänskligt svar.

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