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

Google Sheets + Rapiwa: bättre WhatsApp-kampanjer

Rickard Andersson Partner, Nodenordic.se

Din WhatsApp-outreach ser enkel ut tills du gör den i skala. Några dåliga nummer, några dubbla utskick, ett stökigt kalkylark – och plötsligt lägger du morgonen på att jaga “vem fick vad” i stället för att följa upp riktiga leads.

Den här WhatsApp-kampanjautomationen träffar marknadsförare först, men småföretagare och stressade byråoperatörer känner av det också. Du får mer strukturerade listor, färre misslyckade utskick och ett ark som uppdaterar sig självt medan meddelanden skickas.

Nedan ser du workflowet i action, vad det löser och hur du sätter upp det så att ditt Google Sheet blir kontrollpanelen för dina WhatsApp-kampanjer.

Så fungerar automationen

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

n8n Workflow Template: Google Sheets + Rapiwa: bättre WhatsApp-kampanjer

Varför detta spelar roll: massutskick i WhatsApp blir snabbt rörigt

Massmeddelanden i WhatsApp börjar oftast som “skicka bara en snabb uppdatering till den här listan”. Sedan växer listan. Någon klistrar in nummer med mellanslag, parenteser eller ett inledande +. Några kontakter finns inte ens på WhatsApp, så utskicken misslyckas och du märker det inte förrän du undrar varför svaren är få. Värst av allt: spårningen blir ett manuellt jobb. Du sitter och skrollar rader, filtrerar, skickar om och hoppas att du inte meddelat samma person två gånger. Det är inte svårt. Det är dränerande.

Friktionen byggs på. Här är var det brukar falla isär.

  • Manuellt skickande blir timmar när du har 50+ kontakter, särskilt om du ens personaliserar lite.
  • Dålig nummerformatering orsakar onödiga API-fel, och du får reda på det först när kampanjen redan rullar.
  • Utan automatiska statusuppdateringar blir uppföljningar gissningsarbete och leads tappas bort.
  • När du inte kan skilja på “skickat” och “inte skickat” pålitligt blir dubbla utskick alldeles för enkla.

Det du bygger: Google Sheets till WhatsApp-utskick med verifiering

Det här workflowet gör ett enkelt Google Sheet till ett kontrollerat system för WhatsApp-utskick med Rapiwa API (en inofficiell WhatsApp-integration som skickar från ditt eget nummer). Var 5:e minut hämtar n8n rader markerade med Status = pending. Varje telefonnummer korrekt formateras först, så att formateringsproblem inte saboterar körningen. Sedan kontrollerar workflowet om numret är en riktig WhatsApp-användare. Om det är det skickar n8n meddelandet via Rapiwa och markerar raden som sent och verified. Om det inte är det hoppar den över utskicket och uppdaterar raden till not sent och unverified. En kort väntan mellan meddelanden hjälper till att undvika snabbskick och gör kampanjer mer stabila.

Workflowet startar på schema, inte via en manuell knapptryckning. Därifrån tar den en hanterbar batch av rader, validerar varje kontakt, skickar och skriver tillbaka resultat till samma kalkylark. Du får en levande kampanjspårning som du kan lita på.

Det du bygger

Förväntade resultat

Säg att du kör en veckopromo till 200 kontakter. Manuellt kan även en snabb kopiera/klistra-in-rutin ta cirka 1 minut per person när du räknar in sökning, namnkontroll och spårning av vem som är klar – alltså ungefär 3 timmar. Med det här workflowet uppdaterar du arket en gång, sätter Status till pending och låter det köra. Om du bearbetar 5 kontakter per cykel med en kort väntan mellan utskicken brukar du vara klar med batchen på under en timmes bakgrundstid, med nästan inget hands-on-arbete förutom att granska resultat och svar.

Innan du börjar

  • n8n-instans (testa n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för kontakter, meddelanden och statusar
  • Rapiwa för att skicka WhatsApp-meddelanden från ditt nummer
  • Rapiwa API-nyckel (hämta den i din Rapiwa-dashboard)

Svårighetsnivå: Nybörjare. Du kopplar konton, klistrar in en API-nyckel och mappar några kalkylarkskolumner.

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

Steg för steg

En schematrigger var 5:e minut drar i gång allt. n8n vaknar automatiskt och letar efter rader du markerat som pending, så du behöver inte komma ihåg att “köra en kampanj”.

Google Sheets-rader hämtas och begränsas till en säker batch. Workflowet hämtar data från arket, sätter ett tak för hur många meddelanden den försöker i en körning och bearbetar kontakter i små chunkar. Det håller körningarna stabila och gör det lättare att kontrollera sändningshastigheten.

Varje telefonnummer korrekt formateras och verifieras sedan med Rapiwa. Ett kort kodsteg tar bort mellanslag och symboler, sedan kontrollerar en HTTP-request om numret faktiskt går att nå på WhatsApp. Om det godkänns skickas sändningsrequesten; om inte hoppar workflowet över att meddelande den kontakten.

Ditt ark blir facit. Varje kontakt får en statusuppdatering i Google Sheets (skickat/inte skickat och verifierat/ej verifierat), och en kort väntan sker innan nästa post hanteras.

Du kan enkelt ändra batchstorlek och väntetid utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera schematriggern

Konfigurera workflowet så att det körs enligt ett återkommande schema för att hämta väntande WhatsApp-meddelanden.

  1. Lägg till och öppna Five-Minute Schedule.
  2. I Rule ställer ni in intervallet till minutes så att den triggas var femte minut.
  3. Koppla Five-Minute Schedule till Retrieve Pending Messages.

Tips: använd ett längre intervall under testning för att undvika att skicka flera batchar för snabbt.

Steg 2: anslut Google Sheets

Hämta köade meddelanden från ett kalkylblad och uppdatera deras leveransstatus efter bearbetning.

  1. Öppna Retrieve Pending Messages och ställ in Document till WhatsApp Bulk Messaging via Unofficial API.
  2. Ställ in Sheet till Message Queue och tillämpa filtret på Status vid behov.
  3. Inloggningsuppgifter krävs: anslut era googleSheetsOAuth2Api-uppgifter i Retrieve Pending Messages.
  4. Öppna Mark Verified as Sent och bekräfta att Operation är update med row_number inställt på {{ $('Cap Batch Size').item.json.row_number }}.
  5. Inloggningsuppgifter krävs: anslut era googleSheetsOAuth2Api-uppgifter i Mark Verified as Sent.
  6. Öppna Mark Unverified as Unsent och bekräfta att Operation är update med row_number inställt på {{ $('Cap Batch Size').item.json.row_number }}.
  7. Inloggningsuppgifter krävs: anslut era googleSheetsOAuth2Api-uppgifter i Mark Unverified as Unsent.

⚠️ Vanlig fallgrop: Uppdateringsstegen bygger på row_number. Säkerställ att ert ark innehåller den här kolumnen och att den fylls i av läsoperationen.

Steg 3: ställ in batchbearbetning och normalisering

Begränsa bearbetningsvolymen och säkerställ att WhatsApp-nummer är rensade innan verifiering.

  1. I Cap Batch Size ställer ni in Max Items till 60.
  2. Koppla Retrieve Pending MessagesCap Batch SizeIterate Records.
  3. I Iterate Records behåller ni standardbeteendet för batchen, så att poster bearbetas en i taget.
  4. Öppna Normalize WhatsApp Number och behåll JavaScript Code som rensar bort icke-numeriska tecken från WhatsApp No.
  5. Koppla Iterate Records till Normalize WhatsApp Number.

Tips: säkerställ att er kolumn i arket heter exakt WhatsApp No så att normaliseringsskriptet uppdaterar rätt fält.

Steg 4: konfigurera verifiering, routing och utskick

Verifiera varje nummer med Rapiwa, routa baserat på giltighet och skicka meddelanden endast till verifierade mottagare.

  1. Öppna Verify WhatsApp Number och ställ in URL till =https://app.rapiwa.com/api/verify-whatsapp med Method POST.
  2. Aktivera Send Body och ställ in parametern number till {{ $json["WhatsApp No"] }}.
  3. Inloggningsuppgifter krävs: anslut era httpBearerAuth-uppgifter i Verify WhatsApp Number.
  4. I Validation Branch säkerställer ni att villkoret kontrollerar {{ $json.data.exists }} med den booleska operatorn true.
  5. Validation Branch skickar utdata till både Dispatch WhatsApp via Rapiwa (true) och Mark Unverified as Unsent (false).
  6. Öppna Dispatch WhatsApp via Rapiwa och ställ in URL till https://app.rapiwa.com/api/send-message med Method POST.
  7. Ställ in query-parametrar: number till {{ $json.data.number }}, message till {{ $('Normalize WhatsApp Number').item.json.Message }}, imageUrl till {{ $('Normalize WhatsApp Number').item.json["Image URL"] }} och message_type till text.
  8. Inloggningsuppgifter krävs: anslut era httpBearerAuth-uppgifter i Dispatch WhatsApp via Rapiwa.
  9. Koppla Dispatch WhatsApp via RapiwaMark Verified as Sent.

⚠️ Vanlig fallgrop: Om Rapiwa API:et returnerar ett annat schema kommer uttrycken {{ $json.data.exists }} och {{ $json.data.number }} att fallera—verifiera svarets struktur från API:et i en testkörning.

Steg 5: lägg till strypning mellan utskick

Styr utskickstakten för att undvika API:ets rate limits och möjliggöra batch-iteration.

  1. Öppna Pause Between Sends och konfigurera en väntetid som passar era utskicksgränser.
  2. Koppla Mark Verified as SentPause Between Sends och Mark Unverified as UnsentPause Between Sends.
  3. Säkerställ att Pause Between Sends kopplas tillbaka till Iterate Records för att fortsätta bearbeta batchen.

Tips: börja med en kort väntetid under testning och öka sedan för att matcha er leverantörs rate limits.

Steg 6: testa och aktivera ert workflow

Validera flödet från början till slut innan ni slår på det för kontinuerlig outreach.

  1. Klicka på Execute Workflow för att köra ett manuellt test från Five-Minute Schedule.
  2. Bekräfta att Retrieve Pending Messages laddar rader, att Normalize WhatsApp Number rensar data och att Verify WhatsApp Number returnerar verifieringsresultat.
  3. Kontrollera att verifierade nummer routas till Dispatch WhatsApp via Rapiwa och därefter uppdateras via Mark Verified as Sent.
  4. Verifiera att overifierade nummer uppdateras via Mark Unverified as Unsent och att Pause Between Sends loopar tillbaka till Iterate Records.
  5. När resultaten ser korrekta ut växlar ni workflowet till Active för användning i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Tips för felsökning

  • Google Sheets-inloggningar kan löpa ut eller tappa åtkomst till filen. Om rader slutar uppdateras: kontrollera Google-kontokopplingen i n8n och bekräfta att kalkylarket fortfarande delas med det kontot.
  • Om du använder Wait-noder eller extern sändning varierar bearbetningstiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
  • Rapiwa-anrop kan misslyckas på grund av en ogiltig eller roterad API-nyckel, eller för att ditt kopplade WhatsApp-nummer tillfälligt är frånkopplat. Börja med att kontrollera senaste svaret i HTTP Request-noden, och bekräfta sedan att token i n8n-credentials matchar din Rapiwa-dashboard.

Snabba svar

Hur lång tid tar det att sätta upp den här WhatsApp-kampanjautomationen?

Cirka 30 minuter om ditt ark och dina konton är redo.

Krävs det kodning för den här WhatsApp-kampanjautomationen?

Nej. Du mappar kolumner i Google Sheets och klistrar in din Rapiwa API-nyckel i n8n-credentials.

Är n8n gratis att använda för det här workflowet för WhatsApp-kampanjautomation?

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 Rapiwa-abonnemang/API-kostnader enligt din plan.

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

Två alternativ: n8n Cloud (hanterad, enklast att komma i gå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 körningar men kräver grundläggande serverdrift.

Kan jag anpassa det här workflowet för WhatsApp-kampanjautomation för andra användningsfall?

Ja, och det bör du. De flesta justerar gränsen för “Cap Batch Size”, väntetiden i “Pause Between Sends” och Google Sheets-filtret (till exempel byter från Status = pending till en specifik kampanjtagg). Du kan också justera HTTP Request-bodyn i “Dispatch WhatsApp via Rapiwa” för att inkludera media om din Rapiwa-endpoint stödjer det, så länge din bild-URL är offentligt tillgänglig.

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

Oftast handlar det om behörigheter. Återanslut Google Sheets-credential i n8n och bekräfta sedan att samma Google-konto kan öppna exakt det kalkylark och den flik du valde i noden.

Vilken volym kan det här workflowet för WhatsApp-kampanjautomation hantera?

På n8n Cloud Starter kan du köra ett bra antal körningar per månad för mindre kampanjer, och högre planer hanterar mer. Om du self-hostar finns ingen n8n-gräns för antal körningar, men serverresurser och Rapiwa-begränsningar spelar fortfarande roll. I praktiken är workflowet byggt för att gå i batcher, så att skicka några hundra meddelanden per dag är realistiskt om väntetid och batchstorlek är rimliga.

Är den här WhatsApp-kampanjautomationen bättre än att använda Zapier eller Make?

Ofta, ja. n8n är bättre när du behöver batchning, villkorslogik (skicka bara om verifierad) och en pålitlig loop för att “skriva tillbaka till arket” utan att betala extra för varje gren. Self-hosting är också viktigt om du kör frekventa schemalagda kontroller. Zapier eller Make kan gå snabbare för en minimal setup, men blir snabbt klumpiga när du behöver verifiering + statusuppdateringar + hastighetsbegränsning i ett och samma flöde. Vill du ha en second opinion: Prata med en automationsspecialist.

När detta väl kör: då slutar ditt kalkylark vara en lista och börjar vara ett system. Renare kampanjer, mindre tvekan och uppföljningar du faktiskt kan lita på.

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