workflows.fit
Back to n8n workflows
n8n template$20By SpaGreen Creative

Send thank-you messages & loyalty coupons via WhatsApp from Shopify using WA

Shopify Auto Send WhatsApp Thank-You Messages & Loyalty Coupon Using Rapiwa API Who is this for? This workflow is for Shopify store owners, marketers, and support teams who want to automatically message their high-val...

Data & StorageProductivityDevelopmentCore NodesSplit In BatchesIfCodeHttp Request
Open checkout
Loading interactive preview...

Template notes

Shopify Auto Send WhatsApp Thank-You Messages & Loyalty Coupon Using Rapiwa API

Who is this for? This workflow is for Shopify store owners, marketers, and support teams who want to automatically message their high-value customers on WhatsApp when new discount codes are created.

What this workflow does - Fetches customer data from Shopify - Filters customers where totalspent > 5000 - Cleans phone numbers (removes non-digit characters) and normalizes them to an international format - Verifies numbers via the Rapiwa API (verify-whatsapp endpoint) - Sends coupon or thank-you messages to verified numbers via the Rapiwa send-message endpoint - Logs each send attempt to Google Sheets with status and validity - Uses batching (SplitInBatches) and Wait nodes to avoid rate limits

Key features - Automated trigger: Shopify webhook (discounts/create) or manual trigger - Targeted sending to high-value customers - Pre-send verification to reduce failed sends - Google Sheets logging and status updates - Rate-limit protection using Wait node

How to use? Step-by-step setup 1) Prepare a Google Sheet - Columns: name, number, status, validity, check (optional) - Example row: Abdul Mannan | 8801322827799 | not sent | unverified | check

2) Configure n8n credentials - Shopify: store access token (X-Shopify-Access-Token) - Rapiwa: Bearer token (HTTP Bearer credential) - Google Sheets: OAuth2 credentials and sheet access

3) Configure the nodes - Webhook/Trigger: Shopify discounts/create or Manual Trigger - HTTP Request (Shopify): /admin/api/<version>/customers.json - Code node: filter customers totalspent > 5000 and map fields - SplitInBatches: batching/looping - Code (clean number): waNoStr.replace(/\D/g, "") - HTTP Request (Rapiwa verify): POST https://app.rapiwa.com/api/verify-whatsapp body { number } - IF node: check data.exists to decide branch - HTTP Request (Rapiwa send-message): POST https://app.rapiwa.com/api/send-message body { number, messagetype, message } - Google Sheets Append/Update: write status and validity - Wait: add 2–5 seconds delay between sends

4) Test with a small batch - Run manually with 2–5 records first and verify results