Automate review request via WhatsApp for completed WooCommerce order with Rapiwa
$20/month : Unlimited workflows
2500 executions/month
THE #1 IN WEB SCRAPING
Scrape any website without limits
HOSTINGER 🎉 Early Black Friday Deal
DISCOUNT 20% Try free
DISCOUNT 20%
Self-hosted n8n
Unlimited workflows - from $4.99/mo
#1 hub for scraping, AI & automation
6000+ actors - $5 credits/mo
Who is this for?
This workflow is designed for online store owners, customer-success teams, and marketing operators who want to automatically verify customers' WhatsApp numbers and deliver order updates or invoice links via WhatsApp. It is built around WooCommerce order WooCommerce Trigger (order.updated) but is easily adaptable to Shopify or other platforms that provide billing and line_items in the WooCommerce Trigger payload.
What this Workflow Does / Key Features
- Listens for WooCommerce order events (example: order.updated) via a Webhook or a WooCommerce trigger.
- Filters only orders with status "completed" and maps the payload into a normalized object: { data: { customer, products, invoice_link } } using the Code node
Order Completed check. - Iterates over line items using
SplitInBatchesto control throughput. - Cleans phone numbers (
Clean WhatsApp Numbercode node) by removing all non-digit characters. - Verifies whether the cleaned phone number is registered on WhatsApp using Rapiwa's verify endpoint
(POST https://app.rapiwa.com/api/verify-whatsapp). - If verified, sends a templated WhatsApp message via Rapiwa
(POST https://app.rapiwa.com/api/send-message). - Appends an audit row to a "Verified & Sent" Google Sheet for successful sends, or to an "Unverified & Not Sent" sheet for unverified numbers.
- Uses
Waitand batching to throttle requests and avoid API rate limits.
Requirements
- HTTP Bearer credential for Rapiwa (example name in flow:
Rapiwa Bearer Auth). - WooCommerce API credential for the trigger (example:
WooCommerce (get customer)) - Running n8n instance with nodes: WooCommerce Trigger, Code, SplitInBatches, HTTP Request, IF, Google Sheets, Wait.
- Rapiwa account and a valid Bearer token.
- Google account with Sheets access and OAuth2 credentials configured in n8n.
- WooCommerce store (or any WooCommerce Trigger source) that provides
billingandline_itemsin the payload.
How to Use — step-by-step Setup
Credentials
- Rapiwa: Create an HTTP Bearer credential in n8n and paste your token (flow example name:
Rapiwa Bearer Auth). - Google Sheets: Add an OAuth2 credential (flow example name:
Google Sheets). - WooCommerce: Add the WooCommerce API credential or configure a Webhook on your store.
- Rapiwa: Create an HTTP Bearer credential in n8n and paste your token (flow example name:
Configure Google Sheets
- The exported flow uses spreadsheet ID: 1S3RtGt5xxxxxxxXmQi_s (Sheet gid=0) as an example. Replace with your spreadsheet ID and sheet gid.
- Ensure your sheet column headers exactly match the mapping keys listed below (case and trailing spaces must match or be corrected in the mapping).
Verify HTTP Request nodes
- Verify endpoint: POST https://app.rapiwa.com/api/verify-whatsapp — sends { number } (uses HTTP Bearer credential).
- Send endpoint: POST https://app.rapiwa.com/api/send-message — sends number, message_type=text, and a templated message that uses fields from the
Clean WhatsApp Numberoutput.
Google Sheet Column Structure
The Google Sheets nodes in the flow append rows with these column keys. Make sure the spreadsheet headers A Google Sheet formatted like this ➤ sample
| Name | Number | Address | Product Title | Product ID | Total Price | Invoice Link | Delivery Status | Validity | Status | |
|---|---|---|---|---|---|---|---|---|---|---|
| Abdul Mannan | 8801322827799 | [email protected] | mirpur dohs | Air force 1 Fossil 1:1 - 44 | 238 | BDT 5500.00 | Invoice link | completed | verified | sent |
| Abdul Mannan | 8801322827799 | [email protected] | mirpur dohs h#1168 rd#10 av#10 mirpur dohs dhaka | Air force 1 Fossil 1:1 - 44 | 238 | BDT 5500.00 | Invoice link | completed | unverified | not sent |
Important Notes
- Do not hard-code API keys or tokens; always use n8n credentials.
- Google Sheets column header names must match the mapping keys used in the nodes. Trailing spaces are common accidental problems — trim them in the spreadsheet or adjust the mapping.
- The IF node in the exported flow compares to the string
"true". If the verify endpoint returns boolean true/false, convert to string or boolean consistently before the IF. - Message templates in the flow reference
$('Clean WhatsApp Number').item.json.data.products[0]— update templates if you need multiple-product support.
Useful Links
- Dashboard: https://app.rapiwa.com
- Official Website: https://rapiwa.com
- Documentation: https://docs.rapiwa.com
Support & Help
- WhatsApp: Chat on WhatsApp
- Discord: SpaGreen Community
- Facebook Group: SpaGreen Support
- Website: https://spagreen.net
- Developer Portfolio: Codecanyon SpaGreen