Skip to main content

Automate Shopify abandoned cart WhatsApp reminders with product links via Rapiwa

Workflow preview

Workflow preview
100%
Automate Shopify abandoned cart WhatsApp reminders with product links via Rapiwa preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Automate Shopify Abandoned Cart WhatsApp Reminders with Product Links via Rapiwa Who’s it for This n8n workflow automatically identifies customers who have abandoned their carts on your Shopify sto...

Best for

  • Lead Nurturing automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.httprequest, n8n-nodes-base.scheduletrigger, n8n-nodes-base.code, n8n-nodes-base.stickynote, n8n-nodes-base.if, n8n-nodes-base.googlesheets, n8n-nodes-base.wait, n8n-nodes-base.splitinbatches

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by SpaGreen Creative.

Original n8n.io source

1.1 Workflow description

Title
Automate Shopify abandoned cart WhatsApp reminders with product links via Rapiwa
Workflow name
Automate Shopify abandoned cart WhatsApp reminders with product links via Rapiwa

Automate Shopify Abandoned Cart WhatsApp Reminders with Product Links via Rapiwa

Who’s it for

This n8n workflow automatically identifies customers who have abandoned their carts on your Shopify store, cleans and verifies their WhatsApp numbers, and sends them personalized reminders via the Rapiwa API. It also logs each interaction—whether the number was valid or not—into a connected Google Sheet. Designed for marketers, small business owners, freelancers, and support teams, this solution makes it easy to run bulk WhatsApp campaigns using just a Google Sheet and your own WhatsApp number—no need for the official WhatsApp Business API. It’s a budget-friendly, scalable, and easy-to-manage alternative for anyone looking to automate WhatsApp follow-ups without the tech hassle.

How it Works / What It Does

  • Reads rows from a Google Sheet where the Status column is marked as "pending".
  • Cleans each phone number (removes special characters, spaces, etc.).
  • Verifies whether the number is a WhatsApp user using the Rapiwa API.
  • If valid:
    • Sends the message via Rapiwa.
    • Updates Status = sent and Verification = verified.
  • If invalid:
    • Skips sending.
    • Updates Status = not sent and Verification = unverified.
  • Waits a configurable delay between sends to avoid rate limits.
  • Processes rows in small batches and repeats on schedule (default every 5 minutes).

How to Set Up

  1. Duplicate the sample Google Sheet format and populate it with contacts and messages.
  2. Fill required columns such as WhatsApp No, Name, Message, Image URL, and set Status = pending.
  3. Connect Google Sheets in n8n and grant the required OAuth scopes.
  4. Create an HTTP Bearer credential in n8n and paste your Rapiwa API key.
  5. Configure the workflow nodes (Trigger, Google Sheets, Limit, SplitInBatches, Code, HTTP Request, If, Update Google Sheets, Wait).
  6. Enable the workflow in n8n.

Requirements

  • Google Sheets API credentials (OAuth2) configured in n8n
  • Google Sheet matching the template (WhatsApp No, Name, Message, Status, Verification)
  • Rapiwa account and Bearer token
  • n8n instance with HTTP Request and Google Sheets nodes enabled

How to Customize the Workflow

  • Add or increase delay between messages using the Wait node (e.g., 5–10 seconds).
  • Change message content or include media by editing the HTTP Request body.
  • Personalize messages using sheet columns (Name, product details, coupon codes).
  • Add error handling nodes to retry failed sends or log errors.
  • Adjust the Limit node to control how many rows are processed per run.

Workflow Highlights

  • Triggered every 5 minutes using the Schedule Trigger node.
  • Filters sheet rows where Status = pending.
  • Cleans numbers and verifies WhatsApp existence before sending.
  • Sends messages via Rapiwa (unofficial API).
  • Updates Google Sheet rows with Status = sent/not sent and Verification = verified/unverified.
  • Uses a Wait node to prevent rapid-fire sending.

Setup in n8n

1. Connect Google Sheets

  • Add a Google Sheets node.
  • Authenticate with your Google account.
  • Select the document and worksheet.
  • Use a filter or query to fetch rows with Status = pending.

2. Loop Through Rows

  • Use SplitInBatches to process rows in small chunks (e.g., 5 rows per batch).
  • Add a Code node to clean phone numbers (remove non-digits).
  • Add a Wait node to pause between individual sends (recommended 5 seconds).

3. Send Message via HTTP Node

  • Configure an HTTP Request node to POST to: https://app.rapiwa.com/api/send-message
  • Use Bearer Token authentication with your Rapiwa API key.
  • Example JSON body:
{
  "number": "{{ $json['WhatsApp No'] }}",
  "message": "{{ $json['Message'] }}"
}
  • After the send, update the row in Google Sheets with the result.

Sample Google Sheet Structure

  • A Google Sheet formatted like this ➤ sample
name number order id item name coupon item link total price validity status
Abdul Mannan 8801400620056 39248398811454 S25 Ultra 5XXXXX Price Cell Phone Product Link 11500.00 BDT unverified not sent
Abdul Mannan 8801400620055 39248402153790 S25 Ultra 5XXXXX Price Cell Phone Product Link 11500.00 BDT verified sent
Abdul Mannan 8801400620055 39248403431742 S25 Ultra 5XXXXX Price Cell Phone Product Link 11500.00 BDT verified sent

Tips

  • Ensure numbers are in proper format (e.g., 8801XXXXXXXXX — no +, no spaces).
  • Use public image URLs if sending media.
  • Store Rapiwa API key securely in n8n credentials.
  • Test with a small batch before scaling up.
  • Mark processed rows as "sent" to avoid duplicates.
  • Increase Wait time or reduce batch size if you encounter rate limiting.

Important Notes

  • Avoid Duplicates: The Google Sheet serves as a ledger. Sent messages won’t be repeated in the next cycle.
  • Rate Limit Awareness: Use Wait nodes to space out requests and avoid getting banned.
  • Add Delay for Safety: If needed, increase wait times or limit message batches.
  • Extendable: You can add product images, links, or even abandon cart discounts dynamically.

Future Enhancements (Ideas)

  • Add delay between batches (e.g., 60 messages/hour)
  • Auto-update Shopify checkout status (via GraphQL API)
  • Use more advanced templates or media (via Rapiwa)
  • Add error handling to log failed API calls
  • Use Telegram/Slack node to notify when process ends

Useful Links

Support

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - HTTP Request

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 2 - Schedule Trigger

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 3 - Rapiwa Sender

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 4 - Clean WhatsApp Number

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 5 - Check valid whatsapp number Using Rapiwa1

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 6 - Sticky Note10

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 7 - Sticky Note9

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 8 - Sticky Note12

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 9 - Sticky Note13

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 10 - If

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 11 - Change State of Rows in Verified & Sent

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Block 12 - Change State of Rows in Unverified & Not Sent

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Block 13 - Wait

Type / Role
n8n-nodes-base.wait - wait
Config choices
Version 1.1

Block 14 - Format HTTP Response Data

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 15 - Loop Over Items

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 16 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 18 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 19 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Automate Shopify abandoned cart WhatsApp reminders with product links via Rapiwa
Complexity advanced
Nodes 19
Categories Lead Nurturing
Author SpaGreen Creative
Published 28 Sept 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/9031/9031.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Automate Shopify abandoned cart WhatsApp reminders with product links via Rapiwa do?

Automate Shopify Abandoned Cart WhatsApp Reminders with Product Links via Rapiwa Who’s it for This n8n workflow automatically identifies customers who have abandoned their carts on your Shopify sto...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Lead Nurturing use case.