πŸ’¬ WooCommerce order updates to customers via WhatsApp with Rapiwa API

⚑ 226 views Β· πŸ’¬ Support Chatbots

πŸ’‘ Pro Tip β€” If you’ve run into Facebook’s Graph API permission restrictions, ScraperNode is a community node that scrapes pages, groups, posts, and comments directly β€” no app review needed.

View All Scrapers

Description

Who is this for?

This workflow is for online store owners, support teams, and marketing staff who want to automatically verify WhatsApp numbers and send order invoice links or personalized order updates to customers. It’s built against WooCommerce order webhooks but can be adapted to Shopify or other e-commerce platforms that provide billing and line_items.

What this Workflow Does

Key Features

How to Use β€” Step-by-step Setup

  1. Add credentials in n8n

    • Rapiwa: Create an HTTP Bearer credential and paste your Bearer token (example name used in the flow: Rapiwa Bearer Auth).
    • Google Sheets: Create an OAuth2 credential (example: Google Sheets).
    • WooCommerce: Add WooCommerce API credentials for the trigger (or configure Shopify credentials if adapting).
  2. Import / configure nodes in n8n

    • Webhook (or WooCommerce Trigger): receive order payloads. Example Webhook path is present in the exported flow.
    • Code node Format Webhook Response Data: map body.billing, body.line_items, body.payment_url into { data: { customer, products, invoice_link } }.
    • Code node Clean WhatsApp Number: ensure the phone number is a string and strip non-digits: String(rawNumber).replace(/\D/g, "").
    • HTTP Request Check valid whatsapp number Using Rapiwa: POST to https://app.rapiwa.com/api/verify-whatsapp with { number }. Use the Rapiwa Bearer credential.
    • IF If: check verification result. The flow compares {{$json.data.exists}} to "true" in the exported flow; normalize types if your API returns booleans.
    • HTTP Request Rapiwa Sender: POST to https://app.rapiwa.com/api/send-message with number, message_type: 'text', and a templated message (see message template in the flow).
    • Google Sheets Store State of Rows in Verified & Sent and Store State of Rows in Unverified & Not Sent

Google Sheet Column Structure

Create these columns exactly (the Google Sheets nodes in the flow expect these names): A Google Sheet formatted like this ➀ sample

NameNumberEmailAddressProduct TitleProduct IDSizeQuantityTotal PriceProduct ImageInvoice LinkProduct StatusValidityStatus
Abdul Mannan8801322827799contact@spagreen.netmirpur dohsAir Force 1 Reigning Champ Dark Grey 1:1 - 40251401BDT 5800.00Product ImageInvoiceon-holdverifiedsent
Abdul Mannan8801322827799contact@spagreen.netmirpur dohsAir Force 1 Reigning Champ Dark Grey 1:1 - 40251401BDT 5800.00Product ImageInvoiceon-holdunverifiednot sent

Customization Ideas

Support & Help

πŸ”— Nodes Used

Google Sheets, Webhook

πŸ“₯ Import

Download workflow.json and import into n8n: Workflow menu β†’ Import from File

πŸ“– Importing guide Β· πŸ”‘ Credential setup