Back to Catalog

WooCommerce order updates to customers via WhatsApp with Rapiwa API

RapiwaRapiwa
145 views
2/3/2026
Official Page

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

  • Receives order events (Webhook / WooCommerce order.updated).
  • Normalizes the payload into a compact object: { data: { customer, products, invoice_link } } via a Code node.
  • Iterates items in batches (SplitInBatches) to control throughput.
  • Cleans phone numbers (removes non-digits) and verifies WhatsApp registration using Rapiwa (/api/verify-whatsapp).
  • Sends templated WhatsApp messages through Rapiwa (/api/send-message) for verified numbers.
  • Logs every attempt into Google Sheets: one sheet for verified & sent rows, another for unverified & not sent rows.
  • Uses a Wait node to throttle and loop back into the batch processor.

Key Features

  • Trigger-based automation (Webhook or WooCommerce trigger).
  • Payload normalization and mapping via JavaScript Code nodes.
  • Controlled batching (SplitInBatches) to avoid rate limits.
  • Pre-send verification of WhatsApp numbers using Rapiwa.
  • Conditional branching with the IF node to separate verified vs unverified flows.
  • Personalized message templates that pull customer and product fields from the mapped data.
  • Logging and audit trail stored in Google Sheets (two separate append flows).

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 thissample

| Name | Number | Email | Address | Product Title | Product ID | Size | Quantity | Total Price | Product Image | Invoice Link | Product Status | Validity | Status | |-----------------|---------------|-------------------|--------------|------------------------------------------------|------------|------|----------|----------------|--------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|----------------|------------|----------| | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur dohs | Air Force 1 Reigning Champ Dark Grey 1:1 - 40 | 251 | 40 | 1 | BDT 5800.00 | Product Image | Invoice | on-hold | verified | sent | | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur dohs | Air Force 1 Reigning Champ Dark Grey 1:1 - 40 | 251 | 40 | 1 | BDT 5800.00 | Product Image | Invoice | on-hold | unverified | not sent |

Customization Ideas

  • Adapt the Code mapping node for Shopify payloads or other marketplaces.
  • Iterate and include multiple products in the message instead of using products[0].
  • Add filters in the Code node (e.g., only process orders with total > 5000).
  • Add fallback channels (SMS or email) for unverified numbers.
  • Persist logs into a database for analytics and retention beyond Google Sheets.
  • Add admin notifications (Slack, email) at the end of each run.

Useful Links

Support & Help

n8n Workflow: WooCommerce Order Updates to Customers via WhatsApp with Rapiwha API

This n8n workflow automates the process of sending order status updates to customers via WhatsApp, leveraging the Rapiwha API. It listens for new order updates, processes them, and dispatches personalized messages.

What it does

This workflow is designed to streamline customer communication for WooCommerce stores by:

  1. Receiving Order Updates: It is triggered by an external webhook, likely from WooCommerce, whenever an order status changes.
  2. Filtering for Relevant Updates: It checks if the incoming order update contains a customer's phone number. If not, it stops processing that item.
  3. Processing Items in Batches: It iterates through each order update, ensuring individual processing.
  4. Formatting WhatsApp Messages: It uses a Code node to dynamically construct a personalized WhatsApp message based on the order details and status.
  5. Sending WhatsApp Messages: It sends the formatted message to the customer's phone number using the Rapiwha API.
  6. Logging to Google Sheets: It logs the details of the sent WhatsApp message (e.g., recipient, message content, status) to a Google Sheet for tracking and auditing purposes.
  7. Introducing Delays: It includes a "Wait" step to introduce a delay between sending messages, which can be useful for respecting API rate limits or managing message volume.

Prerequisites/Requirements

To use this workflow, you will need:

  • n8n Instance: A running n8n instance.
  • WooCommerce Store: A WooCommerce store configured to send webhook notifications for order updates.
  • Rapiwha API Account: An account with Rapiwha API for sending WhatsApp messages. You will need your Rapiwha API credentials (e.g., API Key, Instance ID).
  • Google Account: A Google account with access to Google Sheets for logging messages. You will need to configure Google Sheets credentials in n8n.
  • Google Sheet: A Google Sheet set up to receive the log data (e.g., columns for customer name, phone number, order ID, message content, timestamp, status).

Setup/Usage

  1. Import the Workflow:

    • Download the provided JSON file.
    • In your n8n instance, click "Workflows" in the left sidebar.
    • Click "New" and then "Import from JSON".
    • Paste the JSON content or upload the file.
  2. Configure Credentials:

    • Google Sheets: Locate the "Google Sheets" node. You will need to set up a Google Sheets OAuth2 credential. Follow the n8n documentation for Google Sheets credentials if you haven't already.
    • Rapiwha API: The Rapiwha API node is not explicitly present in the provided JSON, but it is implied by the workflow's purpose. You will need to add an HTTP Request node or a custom Rapiwha node (if available) and configure it with your Rapiwha API Key and Instance ID.
  3. Configure Webhook Trigger:

    • Locate the "Webhook" node.
    • Copy the "Webhook URL".
    • In your WooCommerce store settings, configure a new webhook. Set the "Topic" to "Order updated" (or similar, depending on your desired trigger) and paste the copied Webhook URL as the "Delivery URL".
  4. Configure Google Sheets Node:

    • In the "Google Sheets" node, specify the "Spreadsheet ID" and "Sheet Name" where you want to log the WhatsApp messages.
    • Map the data from previous nodes to the correct columns in your Google Sheet.
  5. Configure Code Node:

    • Review the "Code" node. This node contains the JavaScript logic to construct the WhatsApp message. You may need to customize the message template to fit your specific needs and branding. Ensure it correctly extracts order details from the incoming webhook data.
  6. Configure Rapiwha API Node (Placeholder):

    • You will need to add an HTTP Request node after the "Code" node to send the WhatsApp message via Rapiwha.
    • Configure this node with the Rapiwha API endpoint for sending messages.
    • Map the customer's phone number and the generated message from the "Code" node to the Rapiwha API request body.
    • Include your Rapiwha API Key and Instance ID in the request headers or body as required by Rapiwha's documentation.
  7. Activate the Workflow:

    • Once all configurations are complete, activate the workflow by toggling the "Active" switch in the top right corner of the n8n editor.

Now, whenever an order is updated in your WooCommerce store, this workflow will automatically send a WhatsApp message to your customer and log the interaction.

Related Templates

Automate Reddit brand monitoring & responses with GPT-4o-mini, Sheets & Slack

How it Works This workflow automates intelligent Reddit marketing by monitoring brand mentions, analyzing sentiment with AI, and engaging authentically with communities. Every 24 hours, the system searches Reddit for posts containing your configured brand keywords across all subreddits, finding up to 50 of the newest mentions to analyze. Each discovered post is sent to OpenAI's GPT-4o-mini model for comprehensive analysis. The AI evaluates sentiment (positive/neutral/negative), assigns an engagement score (0-100), determines relevance to your brand, and generates contextual, helpful responses that add genuine value to the conversation. It also classifies the response type (educational/supportive/promotional) and provides reasoning for whether engagement is appropriate. The workflow intelligently filters posts using a multi-criteria system: only posts that are relevant to your brand, score above 60 in engagement quality, and warrant a response type other than "pass" proceed to engagement. This prevents spam and ensures every interaction is meaningful. Selected posts are processed one at a time through a loop to respect Reddit's rate limits. For each worthy post, the AI-generated comment is posted, and complete interaction data is logged to Google Sheets including timestamp, post details, sentiment, engagement scores, and success status. This creates a permanent audit trail and analytics database. At the end of each run, the workflow aggregates all data into a comprehensive daily summary report with total posts analyzed, comments posted, engagement rate, sentiment breakdown, and the top 5 engagement opportunities ranked by score. This report is automatically sent to Slack with formatted metrics, giving your team instant visibility into your Reddit marketing performance. --- Who is this for? Brand managers and marketing teams needing automated social listening and engagement on Reddit Community managers responsible for authentic brand presence across multiple subreddits Startup founders and growth marketers who want to scale Reddit marketing without hiring a team PR and reputation teams monitoring brand sentiment and responding to discussions in real-time Product marketers seeking organic engagement opportunities in product-related communities Any business that wants to build authentic Reddit presence while avoiding spammy marketing tactics --- Setup Steps Setup time: Approx. 30-40 minutes (credential configuration, keyword setup, Google Sheets creation, Slack integration) Requirements: Reddit account with OAuth2 application credentials (create at reddit.com/prefs/apps) OpenAI API key with GPT-4o-mini access Google account with a new Google Sheet for tracking interactions Slack workspace with posting permissions to a marketing/monitoring channel Brand keywords and subreddit strategy prepared Create Reddit OAuth Application: Visit reddit.com/prefs/apps, create a "script" type app, and obtain your client ID and secret Configure Reddit Credentials in n8n: Add Reddit OAuth2 credentials with your app credentials and authorize access Set up OpenAI API: Obtain API key from platform.openai.com and configure in n8n OpenAI credentials Create Google Sheet: Set up a new sheet with columns: timestamp, postId, postTitle, subreddit, postUrl, sentiment, engagementScore, responseType, commentPosted, reasoning Configure these nodes: Brand Keywords Config: Edit the JavaScript code to include your brand name, product names, and relevant industry keywords Search Brand Mentions: Adjust the limit (default 50) and sort preference based on your needs AI Post Analysis: Customize the prompt to match your brand voice and engagement guidelines Filter Engagement-Worthy: Adjust the engagementScore threshold (default 60) based on your quality standards Loop Through Posts: Configure max iterations and batch size for rate limit compliance Log to Google Sheets: Replace YOURSHEETID with your actual Google Sheets document ID Send Slack Report: Replace YOURCHANNELID with your Slack channel ID Test the workflow: Run manually first to verify all connections work and adjust AI prompts Activate for daily runs: Once tested, activate the Schedule Trigger to run automatically every 24 hours --- Node Descriptions (10 words each) Daily Marketing Check - Schedule trigger runs workflow every 24 hours automatically daily Brand Keywords Config - JavaScript code node defining brand keywords to monitor Reddit Search Brand Mentions - Reddit node searches all subreddits for brand keyword mentions AI Post Analysis - OpenAI analyzes sentiment, relevance, generates contextual helpful comment responses Filter Engagement-Worthy - Conditional node filters only high-quality relevant posts worth engaging Loop Through Posts - Split in batches processes each post individually respecting limits Post Helpful Comment - Reddit node posts AI-generated comment to worthy Reddit discussions Log to Google Sheets - Appends all interaction data to spreadsheet for permanent tracking Generate Daily Summary - JavaScript aggregates metrics, sentiment breakdown, generates comprehensive daily report Send Slack Report - Posts formatted daily summary with metrics to team Slack channel

Daniel ShashkoBy Daniel Shashko
679

Generate WordPress blog posts with GPT-4O and Pixabay featured images via form

This workflow automates the creation of a draft article for a blog Use Cases Rapidly generate blog content from simple prompts. Ensure content consistency and speed up time-to-publish. Automatically source and attach relevant featured images. Save your digital marketing team significant time. (Personalized touch based on your experience) Prerequisites/Requirements An OpenAI API Key (for GPT-4O). A Pixabay API Key (for image sourcing). A WordPress site URL and API credentials (username/password or application password). Customization Options Adjust the AI prompt in the AI Content Generation node to change the content tone and style. Modify the search query in the Pixabay Query HTTP node to influence the featured image selection. Change the reviewer email address in the final Send Review Notification node.

SheragimBy Sheragim
399

Score SDK documentation localization readiness with Azure GPT-4o-mini and Slack alerts

Description: Make your SDK documentation localization-ready before translation with this n8n automation template. The workflow pulls FAQ content from Notion, evaluates each entry using Azure OpenAI GPT-4o-mini, and scores its localization readiness based on jargon density, cultural context, and translation risk. It logs results into Google Sheets and notifies your team on Slack if an FAQ scores poorly (≤5). Perfect for developer documentation teams, localization managers, and globalization leads who want to identify high-risk content early and ensure smooth translation for multi-language SDKs. ✅ What This Template Does (Step-by-Step) ⚙️ Step 1: Fetch FAQs from Notion Retrieves all FAQ entries from your Notion database, including question, answer, and unique ID fields for tracking. 🤖 Step 2: AI Localization Review (GPT-4o-mini) Uses Azure OpenAI GPT-4o-mini to evaluate each FAQ for localization challenges such as: Heavy use of technical or cultural jargon Region-specific policy or legal references Non-inclusive or ambiguous phrasing Potential mistranslation risk Outputs a detailed report including: Score (1–10) – overall localization readiness Detected Issues – list of problematic elements Priority – high, medium, or low for translation sequencing Recommendations – actionable rewrite suggestions 🧩 Step 3: Parse AI Response Converts the raw AI output into structured JSON (score, issues, priority, recommendations) for clean logging and filtering. 📊 Step 4: Log Results to Google Sheets Appends one row per FAQ, storing fields like Question, Score, Priority, and Recommendations — creating a long-term localization quality tracker. 🚦 Step 5: Filter High-Risk Content (Score ≤5) Flags FAQs with low localization readiness for further review, ensuring that potential translation blockers are addressed first. 📢 Step 6: Send Slack Alerts Sends a Slack message with summary details for all high-risk FAQs — including their score and key issues — keeping localization teams informed in real time. 🧠 Key Features 🌍 AI-powered localization scoring for SDK FAQs 🤖 Azure OpenAI GPT-4o-mini integration 📊 Google Sheets-based performance logging 📢 Slack notifications for at-risk FAQs ⚙️ Automated Notion-to-AI-to-Sheets pipeline 💼 Use Cases 🧾 Audit SDK documentation before translation 🌐 Prioritize localization tasks based on content risk 🧠 Identify FAQs that need rewriting for non-native audiences 📢 Keep global documentation teams aligned on translation readiness 📦 Required Integrations Notion API – to fetch FAQ entries Azure OpenAI (GPT-4o-mini) – for AI evaluation Google Sheets API – for logging structured results Slack API – for sending alerts on high-risk FAQs 🎯 Why Use This Template? ✅ Detect localization blockers early in your SDK documentation ✅ Automate readiness scoring across hundreds of FAQs ✅ Reduce translation rework and cultural misinterpretation ✅ Ensure a globally inclusive developer experience

Rahul JoshiBy Rahul Joshi
23