Automate review request via WhatsApp for completed WooCommerce order with Rapiwa
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 | Email | Address | Product Title | Product ID | Total Price | Invoice Link | Delivery Status | Validity | Status | |----------------|---------------|-------------------|------------------------------------------|-----------------------------|------------|---------------|--------------------------------------------------------------------------------------------------------------|-----------------|------------|-----------| | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur dohs | Air force 1 Fossil 1:1 - 44 | 238 | BDT 5500.00 | Invoice link | completed | verified | sent | | Abdul Mannan | 8801322827799 | contact@spagreen.net | 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
n8n Workflow: WooCommerce Order Processing and Review Request Automation
This n8n workflow automates the process of handling new WooCommerce orders, specifically focusing on completed orders to trigger a customer review request via WhatsApp. It leverages Google Sheets for data management and includes logic to ensure review requests are sent only once per order.
What it does
This workflow streamlines your WooCommerce order fulfillment and customer engagement by:
- Monitors New WooCommerce Orders: It acts as a trigger, listening for new order events from your WooCommerce store.
- Filters for Completed Orders: It checks if the received order has a "completed" status, ensuring that review requests are only sent for fulfilled orders.
- Checks for Existing Review Requests: It queries a Google Sheet to determine if a review request has already been sent for the specific order ID. This prevents duplicate messages.
- Adds Order to Google Sheet (if new): If the order ID is not found in the Google Sheet, it adds the order details, including a "Review Sent" status, to the sheet.
- Prepares WhatsApp Message: It constructs a personalized WhatsApp message, likely including a review link, for the customer.
- Sends WhatsApp Message (Conditional): If the order is "completed" and a review request hasn't been sent yet, it sends the prepared WhatsApp message to the customer.
- Delays for Subsequent Actions (Optional): A "Wait" node is included, which could be used to introduce a delay before any subsequent actions, though its current connections are not defined in the provided JSON.
Prerequisites/Requirements
To use this workflow, you will need:
- WooCommerce Store: An active WooCommerce store with the n8n WooCommerce Trigger configured.
- Google Sheets Account: A Google Sheets account and a specific spreadsheet/sheet to store order IDs and review request statuses.
- WhatsApp Business API / Rapiwa Integration: An integration for sending WhatsApp messages (e.g., via a Rapiwa node or a custom HTTP request to a WhatsApp API, which would typically be represented by an HTTP Request node or a custom node, not explicitly visible in this JSON but implied by the directory name).
- n8n Instance: A running n8n instance to host and execute the workflow.
Setup/Usage
- Import the Workflow: Import the provided JSON into your n8n instance.
- Configure WooCommerce Trigger:
- Set up your WooCommerce Trigger node to connect to your WooCommerce store.
- Ensure the webhook is correctly configured in WooCommerce to send order events to n8n.
- Configure Google Sheets Node:
- Set up your Google Sheets credentials.
- Specify the Spreadsheet ID and Sheet Name where order data and review statuses will be stored.
- Configure WhatsApp Integration:
- If using a custom WhatsApp API or Rapiwa, you would typically have an HTTP Request node or a dedicated Rapiwa node (not present in the provided JSON, but implied by the directory name). Configure this node with your API endpoint and authentication details.
- Ensure the message content is correctly mapped using expressions to include relevant order and customer details.
- Review and Activate: Review the workflow logic, test it with sample orders, and then activate the workflow.
Related Templates
Generate song lyrics and music from text prompts using OpenAI and Fal.ai Minimax
Spark your creativity instantly in any chat—turn a simple prompt like "heartbreak ballad" into original, full-length lyrics and a professional AI-generated music track, all without leaving your conversation. 📋 What This Template Does This chat-triggered workflow harnesses AI to generate detailed, genre-matched song lyrics (at least 600 characters) from user messages, then queues them for music synthesis via Fal.ai's minimax-music model. It polls asynchronously until the track is ready, delivering lyrics and audio URL back in chat. Crafts original, structured lyrics with verses, choruses, and bridges using OpenAI Submits to Fal.ai for melody, instrumentation, and vocals aligned to the style Handles long-running generations with smart looping and status checks Returns complete song package (lyrics + audio link) for seamless sharing 🔧 Prerequisites n8n account (self-hosted or cloud with chat integration enabled) OpenAI account with API access for GPT models Fal.ai account for AI music generation 🔑 Required Credentials OpenAI API Setup Go to platform.openai.com → API keys (sidebar) Click "Create new secret key" → Name it (e.g., "n8n Songwriter") Copy the key and add to n8n as "OpenAI API" credential type Test by sending a simple chat completion request Fal.ai HTTP Header Auth Setup Sign up at fal.ai → Dashboard → API Keys Generate a new API key → Copy it In n8n, create "HTTP Header Auth" credential: Name="Fal.ai", Header Name="Authorization", Header Value="Key [Your API Key]" Test with a simple GET to their queue endpoint (e.g., /status) ⚙️ Configuration Steps Import the workflow JSON into your n8n instance Assign OpenAI API credentials to the "OpenAI Chat Model" node Assign Fal.ai HTTP Header Auth to the "Generate Music Track", "Check Generation Status", and "Fetch Final Result" nodes Activate the workflow—chat trigger will appear in your n8n chat interface Test by messaging: "Create an upbeat pop song about road trips" 🎯 Use Cases Content Creators: YouTubers generating custom jingles for videos on the fly, streamlining production from idea to audio export Educators: Music teachers using chat prompts to create era-specific folk tunes for classroom discussions, fostering interactive learning Gift Personalization: Friends crafting anniversary R&B tracks from shared memories via quick chats, delivering emotional audio surprises Artist Brainstorming: Songwriters prototyping hip-hop beats in real-time during sessions, accelerating collaboration and iteration ⚠️ Troubleshooting Invalid JSON from AI Agent: Ensure the system prompt stresses valid JSON; test the agent standalone with a sample query Music Generation Fails (401/403): Verify Fal.ai API key has minimax-music access; check usage quotas in dashboard Status Polling Loops Indefinitely: Bump wait time to 45-60s for complex tracks; inspect fal.ai queue logs for bottlenecks Lyrics Under 600 Characters: Tweak agent prompt to enforce fuller structures like [V1][C][V2][B][C]; verify output length in executions
Auto-reply & create Linear tickets from Gmail with GPT-5, gotoHuman & human review
This workflow automatically classifies every new email from your linked mailbox, drafts a personalized reply, and creates Linear tickets for bugs or feature requests. It uses a human-in-the-loop with gotoHuman and continuously improves itself by learning from approved examples. How it works The workflow triggers on every new email from your linked mailbox. Self-learning Email Classifier: an AI model categorizes the email into defined categories (e.g., Bug Report, Feature Request, Sales Opportunity, etc.). It fetches previously approved classification examples from gotoHuman to refine decisions. Self-learning Email Writer: the AI drafts a reply to the email. It learns over time by using previously approved replies from gotoHuman, with per-classification context to tailor tone and style (e.g., different style for sales vs. bug reports). Human Review in gotoHuman: review the classification and the drafted reply. Drafts can be edited or retried. Approved values are used to train the self-learning agents. Send approved Reply: the approved response is sent as a reply to the email thread. Create ticket: if the classification is Bug or Feature Request, a ticket is created by another AI agent in Linear. Human Review in gotoHuman: How to set up Most importantly, install the gotoHuman node before importing this template! (Just add the node to a blank canvas before importing) Set up credentials for gotoHuman, OpenAI, your email provider (e.g. Gmail), and Linear. In gotoHuman, select and create the pre-built review template "Support email agent" or import the ID: 6fzuCJlFYJtlu9mGYcVT. Select this template in the gotoHuman node. In the "gotoHuman: Fetch approved examples" http nodes you need to add your formId. It is the ID of the review template that you just created/imported in gotoHuman. Requirements gotoHuman (human supervision, memory for self-learning) OpenAI (classification, drafting) Gmail or your preferred email provider (for email trigger+replies) Linear (ticketing) How to customize Expand or refine the categories used by the classifier. Update the prompt to reflect your own taxonomy. Filter fetched training data from gotoHuman by reviewer so the writer adapts to their personalized tone and preferences. Add more context to the AI email writer (calendar events, FAQs, product docs) to improve reply quality.
Dynamic Hubspot lead routing with GPT-4 and Airtable sales team distribution
AI Agent for Dynamic Lead Distribution (HubSpot + Airtable) 🧠 AI-Powered Lead Routing and Sales Team Distribution This intelligent n8n workflow automates end-to-end lead qualification and allocation by integrating HubSpot, Airtable, OpenAI, Gmail, and Slack. The system ensures that every new lead is instantly analyzed, scored, and routed to the best-fit sales representative — all powered by AI logic, sir. --- 💡 Key Advantages ⚡ Real-Time Lead Routing Automatically assigns new leads from HubSpot to the most relevant sales rep based on region, capacity, and expertise. 🧠 AI Qualification Engine An OpenAI-powered Agent evaluates the lead’s industry, region, and needs to generate a persona summary and routing rationale. 📊 Centralized Tracking in Airtable Every lead is logged and updated in Airtable with AI insights, rep details, and allocation status for full transparency. 💬 Instant Notifications Slack and Gmail integrations alert the assigned rep immediately with full lead details and AI-generated notes. 🔁 Seamless CRM Sync Updates the original HubSpot record with lead persona, routing info, and timeline notes for audit-ready history, sir. --- ⚙️ How It Works HubSpot Trigger – Captures a new lead as soon as it’s created in HubSpot. Fetch Contact Data – Retrieves all relevant fields like name, company, and industry. Clean & Format Data – A Code node standardizes and structures the data for consistency. Airtable Record Creation – Logs the lead data into the “Leads” table for centralized tracking. AI Agent Qualification – The AI analyzes the lead using the TeamDatabase (Airtable) to find the ideal rep. Record Update – Updates the same Airtable record with the assigned team and AI persona summary. Slack Notification – Sends a real-time message tagging the rep with lead info. Gmail Notification – Sends a personalized handoff email with context and follow-up actions. HubSpot Sync – Updates the original contact in HubSpot with the assignment details and AI rationale, sir. --- 🛠️ Setup Steps Trigger Node: HubSpot → Detect new leads. HubSpot Node: Retrieve complete lead details. Code Node: Clean and normalize data. Airtable Node: Log lead info in the “Leads” table. AI Agent Node: Process lead and match with sales team. Slack Node: Notify the designated representative. Gmail Node: Email the rep with details. HubSpot Node: Update CRM with AI summary and allocation status, sir. --- 🔐 Credentials Required HubSpot OAuth2 API – To fetch and update leads. Airtable Personal Access Token – To store and update lead data. OpenAI API – To power the AI qualification and matching logic. Slack OAuth2 – For sending team notifications. Gmail OAuth2 – For automatic email alerts to assigned reps, sir. --- 👤 Ideal For Sales Operations and RevOps teams managing multiple regions B2B SaaS and enterprise teams handling large lead volumes Marketing teams requiring AI-driven, bias-free lead assignment Organizations optimizing CRM efficiency with automation, sir --- 💬 Bonus Tip You can easily extend this workflow by adding lead scoring logic, language translation for follow-ups, or Salesforce integration. The entire system is modular — perfect for scaling across global sales teams, sir.