Orderbekräftelser ser enkla ut tills de inte är det. Ett missat meddelande, ett felknappat nummer, och plötsligt sitter du och gräver i Shopify-ordrar medan en kund frågar: ”Gick det igenom?”
Den här automatiseringen för Shopify WhatsApp-bekräftelser träffar butiksägare först, om vi ska vara ärliga. Men driftsansvariga och supportteam känner av det också, eftersom det är de som får städa upp när bekräftelser inte går ut i tid.
Du sätter upp ett n8n-flöde som validerar WhatsApp-nummer med Rapiwa, skickar en personligt anpassad orderbekräftelse och loggar varje försök i Google Sheets så att du kan visa exakt vad som hände i efterhand.
Så fungerar automatiseringen
Här är hela flödet du kommer att sätta upp:
n8n Workflow Template: Shopify till whatsapp: omedelbara orderbekräftelser
flowchart LR
subgraph sg0["Flow 1"]
direction LR
n0@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n1["<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/webhook.dark.svg' width='40' height='40' /></div><br/>Webhook"]
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/code.svg' width='40' height='40' /></div><br/>Clean WhatsApp Number"]
n3["<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/>Check valid whatsapp number .."]
n4@{ icon: "mdi:cog", form: "rounded", label: "Wait", pos: "b", h: 48 }
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n6@{ icon: "mdi:database", form: "rounded", label: "Change State of Rows in Unve..", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>Send Message Using Rapiwa"]
n8@{ icon: "mdi:database", form: "rounded", label: "Change State of Rows in Veri..", pos: "b", h: 48 }
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/code.svg' width='40' height='40' /></div><br/>Clean Webhooks Response Data"]
n5 --> n7
n5 --> n6
n4 --> n0
n1 --> n0
n0 --> n9
n2 --> n3
n7 --> n8
n9 --> n2
n8 --> n4
n3 --> n5
n6 --> n4
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 n5 decision
class n6,n8 database
class n1,n3,n7 api
class n2,n9 code
classDef customIcon fill:none,stroke:none
class n1,n2,n3,n7,n9 customIcon
Varför det här spelar roll: orderbekräftelser som inte glider igenom
När orderbekräftelser hanteras manuellt hamnar de lätt ”mellan” allt annat. Du skickar några ordrar, svarar på några ärenden och kommer sedan på att du fortfarande behöver skriva till dagens kunder. Det är där fördröjningarna smyger sig in. Och när ett meddelande misslyckas får du oftast inte veta det förrän en kund hör av sig, vilket innebär att din supportinkorg blir övervakningssystemet. Det är också lätt att tappa kontext. Du kanske ser att en order finns i Shopify, men du kan inte snabbt bevisa om ett WhatsApp-meddelande faktiskt skickades, hoppades över eller misslyckades.
Det blir snabbt mycket. Här är var det fallerar i verkliga butiker.
- Att kopiera namn, order-ID och totalsummor in i ett WhatsApp-meddelande bjuder in små misstag som ser stora ut för kunder.
- Telefonnummer kommer in röriga (mellanslag, plustecken, parenteser), så du lägger tid på att fixa dem eller skickar i fel format.
- Om numret inte är registrerat på WhatsApp får du ofta veta det först efter att du redan försökt skicka och inget händer.
- Utan en logg i Google Sheets kan support inte snabbt svara på ”Skickade vi det?” och du hamnar i att dubbelkolla allt manuellt.
Vad du bygger: verifierade WhatsApp-bekräftelser med revisionsspår i Sheets
Det här flödet startar i samma ögonblick som Shopify skickar en order-webhook till n8n (för en ny order eller en uppdatering). n8n bearbetar sedan inkommande orderdata i batchar så att automatiseringen fortsätter vara stabil även vid säljtopp. Den normaliserar orderdatan, plockar ut kundens namn, telefonnummer, rader, totalsummor och leveransdetaljer, och rensar telefonnumret till ett konsekvent numeriskt format. Därefter anropar den Rapiwa API för att verifiera att kundens nummer faktiskt är registrerat på WhatsApp. Om det är verifierat skickar flödet en mallbaserad orderbekräftelse via Rapiwa. Oavsett vilket skrivs varje försök till Google Sheets så att du får en strukturerad historik över ”verifierad/ej verifierad” och ”skickad/ej skickad”.
Flödet är rakt på sak: Shopify triggar webhooken, n8n rensar och kontrollerar numret, och sedan skickar (eller hoppar över) Rapiwa WhatsApp-meddelandet baserat på verifieringen. Till sist blir Google Sheets din revisionslogg, och en kort fördröjning hjälper till att undvika rate limits när flera ordrar kommer tätt.
Det här bygger du
| Vad som automatiseras | Vad du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du hanterar cirka 30 ordrar per dag och normalt lägger kanske 2 minuter per order på att kopiera detaljer till WhatsApp och dubbelkolla numret. Det är ungefär 1 timme repetitivt arbete varje dag, plus extra tid när ett nummer studsar. Med det här flödet lägger du cirka 15 minuter en gång på att ställa in meddelandemallen och kolumnerna i arket, och sedan hanteras varje order automatiskt. ”Arbetet” blir att titta i Google Sheet när du vill ha bevis, inte att skicka.
Innan du börjar
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Shopify för att skicka order-webhooks till n8n.
- Rapiwa API för att verifiera nummer och skicka WhatsApp-meddelanden.
- Google Sheets för att lagra din sändlogg och statusar.
- Rapiwa Bearer-token (hämtas i din Rapiwa-dashboard/kontoinställningar).
Svårighetsnivå: Medel. Du klistrar in API-uppgifter, sätter upp en Shopify-webhook och matchar några kolumner i Google Sheet.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
En Shopify-orderhändelse triggar flödet. Shopify skickar en webhook till n8n när en order skapas eller uppdateras, så du slipper pollning eller manuella exporter.
Orderdetaljerna rensas och formas. n8n normaliserar payloaden, plockar ut fälten du faktiskt behöver för meddelandet (namn, artiklar, totalsummor, leverans) och tar bort icke-numeriska tecken från telefonnumret så att det blir konsekvent.
Rapiwa kontrollerar numret och skickar eller hoppar över. Flödet anropar Rapiwas verify-endpoint för att se om numret finns på WhatsApp. Om det är verifierat skickas en bekräftelse via Rapiwas send-message-endpoint; om inte, registrerar flödet att det inte skickades så att teamet inte behöver gissa i efterhand.
Google Sheets blir revisionsspåret. Varje order får en raduppdatering som inkluderar giltighet (verifierad/ej verifierad) och status (skickad/ej skickad), och en kort väntan hjälper till att undvika rate limiting när flera ordrar kommer tätt.
Du kan enkelt justera meddelandemallen så att den matchar din tonalitet, eller ändra fördröjningen efter din ordervolym. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-implementeringsguide
Steg 1: Konfigurera webhook-triggern
Konfigurera den inkommande webhooken som startar arbetsflödet när en ny order-payload tas emot.
- Lägg till noden Incoming Webhook Trigger och ställ in HTTP Method på
POST. - Ställ in Path till
a9b6a936-e5f2-4d4c-9cf9-182de0a970d5så att ert externa system kan posta ordrar till rätt endpoint. - Koppla Incoming Webhook Trigger till Iterate Order Batches för att starta batchbearbetningen.
Steg 2: Konfigurera batchbearbetning och normalisering av payload
Dela upp inkommande data i batcher och normalisera sedan fälten till en konsekvent struktur för WhatsApp-validering och meddelandeutskick.
- Lägg till Iterate Order Batches och behåll standardinställningarna för att bearbeta inkommande objekt i batcher.
- Lägg till Normalize Order Payload och klistra in den angivna JavaScript-koden i JS Code för att mappa orderfält (t.ex. kundnamn, leveransadress, rader).
- Koppla Normalize Order Payload till Sanitize WhatsApp Number så att telefonnummer rensas före verifiering.
- I Sanitize WhatsApp Number säkerställer ni att JS Code tar bort alla tecken som inte är siffror från
WhatsApp No.
WhatsApp No-fält i varje objekt. Säkerställ att er inkommande payload eller normaliseringssteget sätter detta värde.Steg 3: Verifiera WhatsApp-registrering
Kontrollera om det rensade WhatsApp-numret är registrerat innan ni skickar ett bekräftelsemeddelande.
- Lägg till Verify WhatsApp Registration och ställ in URL till
=https://app.rapiwa.com/api/verify-whatsapp. - Ställ in Method på
POSToch aktivera Send Body. - Lägg till en body-parameter med namnet
numberoch värdet{{ $json["WhatsApp No"] }}. - Credential Required: Anslut era
httpBearerAuth-uppgifter. - Koppla Sanitize WhatsApp Number till Verify WhatsApp Registration, och vidare till Branch on Verification.
Steg 4: Routa efter verifieringsstatus och skicka WhatsApp-meddelande
Använd villkorslogik för att bara skicka en WhatsApp-bekräftelse när numret är verifierat.
- I Branch on Verification ställer ni in villkoret så att
{{ $json.data.exists }}utvärderas som true. - Koppla true-grenen från Branch on Verification till Dispatch WhatsApp Notice.
- I Dispatch WhatsApp Notice ställer ni in URL till
https://app.rapiwa.com/api/send-messageoch Method tillPOST. - Ställ in body-parametrar för meddelandet, inklusive
{{ $json.customer_phone }},{{ $json.customer_full_name }}och hela ordersammanfattningen enligt nodkonfigurationen. - Credential Required: Anslut era
httpHeaderAuth-uppgifter (noden är konfigurerad för header auth).
false-grenen från Branch on Verification ska gå direkt till Update Unverified Sheet Rows för att logga overifierade nummer.
Steg 5: Uppdatera Google Sheets och loopa för nästa batch
Skriv verifieringsresultat till Google Sheets och använd en wait-nod för att fortsätta batchbearbetningen.
- I Update Verified Sheet Rows ställer ni in Operation till
update, väljer Document[YOUR_ID]och SheetSheet1(gid0). - Mappa kolumner med uttryck som
{{ $json.name }},{{ $json.email }},{{ $json.phone }}och ställ in validity tillverified. - Credential Required: Anslut era
googleSheetsOAuth2Api-uppgifter. - I Update Unverified Sheet Rows ställer ni in Operation till
updateoch mappar row_number till{{ $('Limit').item.json.row_number }}. - Credential Required: Anslut era
googleSheetsOAuth2Api-uppgifter. - Koppla båda sheet-uppdateringsnoderna till Delay Next Cycle och routa sedan Delay Next Cycle tillbaka till Iterate Order Batches för att fortsätta bearbetningen.
row_number.Steg 6: Testa och aktivera ert arbetsflöde
Validera arbetsflödet end-to-end och aktivera det sedan för produktionstrafik.
- Klicka på Execute Workflow och skicka en exempel-payload till test-URL:en för Incoming Webhook Trigger.
- Bekräfta att Normalize Order Payload ger förväntade fält och att Sanitize WhatsApp Number producerar nummer som endast innehåller siffror.
- Verifiera att Verify WhatsApp Registration returnerar ett
data.exists-värde och att Branch on Verification routar korrekt. - Kontrollera Google Sheets-uppdateringar i både verifierade och overifierade flöden och bekräfta att Dispatch WhatsApp Notice skickar meddelandet till ert testnummer.
- När testerna är godkända, växla arbetsflödet till Active för att aktivera produktionsbearbetning.
Tips för felsökning
- Rapiwa-uppgifter kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera din Bearer-token i Rapiwa-dashboarden och uppdatera först autentiseringen för HTTP Request i n8n.
- Om du använder Wait-noder eller extern bearbetning varierar tajmingen. Om Google Sheets-uppdateringen kör innan föregående request hinner svara, öka väntetiden så att efterföljande noder inte kör på tom data.
- Standardmallar blir snabbt generiska. Lägg in varumärkets ton, förväntningar på leverans och kontaktuppgifter till support tidigt, annars sitter du och redigerar WhatsApp-meddelanden i efterhand.
Snabba svar
Cirka 30 minuter om din Shopify-webhook, Rapiwa-token och ditt Google Sheet är klara.
Nej. Du importerar flödet, kopplar in behörigheter och justerar en meddelandemall. De befintliga Code-noderna är redan konfigurerade för att rensa och mappa fält.
Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volymer. Du behöver också räkna in Rapiwa API-användning baserat på hur många kontroller och meddelanden du skickar.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och klarar n8n bra. Egen drift ger obegränsat antal körningar men kräver grundläggande serverhantering.
Ja, enkelt. Du kan ändra meddelandeinnehållet i HTTP Request-noden ”Dispatch WhatsApp Notice”, och du kan byta trigger från Shopify-webhooken till en Google Sheets-baserad trigger om du vill fylla på med äldre ordrar. Vanliga justeringar är att lägga till regler för landskod i ”Sanitize WhatsApp Number”, skriva fler kolumner (som fulfillment-status) i Google Sheets-uppdateringsnoderna och justera fördröjningen i Wait-noden efter din volym.
Oftast beror det på en ogiltig eller utgången Bearer-token i HTTP Request-noderna. Generera en ny token i Rapiwa och uppdatera sedan behörigheten som används av ”Verify WhatsApp Registration” och ”Dispatch WhatsApp Notice”. Kontrollera också exakt vilket svarsfält din If-nod läser (vissa API:er returnerar true kontra ”true”), eftersom en liten avvikelse kan skicka varje order ner i fel gren.
Mer än tillräckligt för de flesta små butiker. Flödet bearbetar ordrar i batchar och lägger in en kort fördröjning mellan utskick, så några hundra ordrar per dag är realistiskt så länge dina Rapiwa-gränser och n8n-resurser klarar det.
Ofta ja, eftersom upplägget behöver villkorslogik (verifiera, förgrena, sedan skicka) plus tillförlitlig loggning till Google Sheets. n8n gör det också enklare att hålla flödet läsbart när du lägger till extras som fördröjningar, retries eller separat hantering för ej verifierade nummer. Zapier eller Make kan fortfarande fungera om du kör ett enkelt ”ny order → skicka meddelande”-flöde, men du hamnar ofta i att lägga till fler steg och betala mer när det växer. Vill du ha hjälp att välja utifrån din butiksvolym och supportbelastning, prata med en automationsexpert.
Du sätter upp det en gång, och varje order får samma snabba bekräftelse och samma strukturerade spårbarhet i Sheets. Support får bevis, drift får konsekvens och du får tid tillbaka.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.