Skip to main content

Send bulk WhatsApp messages from Google Sheets using Rapiwa API

Workflow preview

Workflow preview
100%
Send bulk WhatsApp messages from Google Sheets using Rapiwa API preview
Open on n8n.io

Important notice

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

1. Workflow Overview

Bulk WhatsApp Campaign Automation with Rapiwa API (Unofficial Integration) Who’s it for This n8n workflow lets you send bulk WhatsApp messages using your own number through Rapiwa API, avoiding the...

Best for

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

Tools used

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

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
Send bulk WhatsApp messages from Google Sheets using Rapiwa API
Workflow name
Send bulk WhatsApp messages from Google Sheets using Rapiwa API

Bulk WhatsApp Campaign Automation with Rapiwa API (Unofficial Integration)

Who’s it for

This n8n workflow lets you send bulk WhatsApp messages using your own number through Rapiwa API, avoiding the high cost and limitations of the official WhatsApp API. It integrates seamlessly with Google Sheets, where you can manage your contacts and messages with ease. Ideal for easy-to-maintain bulk messaging solution using their own personal or business WhatsApp number. This solution is perfect for small businesses, marketers, or teams looking for a cost-effective way to manage WhatsApp communication at scale.

How it Works / What It Does

  • Reads data from a Google Sheet where the Status column is marked as "pending".
  • Cleans each phone number (removes special characters, spaces, etc.).
  • Verifies if the number is a valid WhatsApp user using the Rapiwa API.
  • If valid:
    • Sends the message via Rapiwa.
    • Updates Status = sent and Verification = verified.
  • If invalid:
    • Skips message sending.
    • Updates Status = not sent and Verification = unverified.
  • Waits for a few seconds (rate-limiting).
  • Loops through the next item.
  • The entire process is triggered automatically every 5 minutes.

How to Set Up

  1. Duplicate the Sample Sheet: Use this format.
  2. Fill Contacts: Add columns like WhatsApp No, Name, Message, Image URL, and set Status = pending.
  3. Connect Google Sheets: Authenticate and link Google Sheets node inside n8n.
  4. Subscribe to Rapiwa: Go to Rapiwa.com and get your API key.
  5. Paste API Key: Use the HTTP Bearer token credential in n8n.
  6. Activate the Workflow: Let n8n take care of the automation.

Requirements

  • Google Sheets API credentials
  • Configured Google Sheet (template linked above)
  • WhatsApp (Personal or Business)
  • n8n instance with credentials setup

How to Customize the Workflow

  • Add delay between messages: Use the Wait node to introduce pauses (e.g., 5–10 seconds).
  • Change message format: Modify the HTTP Request node to send media or templates.
  • Personalize content: Include dynamic fields like Name, Image URL, etc.
  • Error handling: Add IF or SET nodes to capture failed attempts, retry, or log errors.

Workflow Highlights

  • Triggered every 5 minutes using the Schedule Trigger node.
  • Filters messages with Status = pending.
  • Cleans numbers and verifies WhatsApp existence before sending.
  • Sends WhatsApp messages via Rapiwa (Unofficial API).
  • Updates Google Sheets to mark Status = sent or not sent and Verification = verified/unverified.
  • Wait node prevents rapid-fire sending that could lead to being flagged by WhatsApp.

Setup in n8n

1. Connect Google Sheets

  • Add a Google Sheets node
  • Authenticate using your Google account
  • Select the document and worksheet
  • Use filter: Status = pending

2. Loop Through Rows

  • Use SplitInBatches or a Code node to process rows in small chunks (e.g., 5 rows)
  • Add a Wait node to delay 5 seconds between messages

3. Send Message via HTTP Node

  • How the "Send Message Using Rapiwa" Node Sends Messages

  • This node makes an HTTP POST request to the Rapiwa API endpoint:
    https://app.rapiwa.com/api/send-message

  • It uses Bearer Token Authentication with your Rapiwa API key.

  • When this node runs, it sends a WhatsApp message to the specified number with the given text and optional image.

  • The Rapiwa API handles message delivery using your own WhatsApp number connected to their service.

  • JSON Body:

{
  "number": "{{ $json['WhatsApp No'] }}",
  "message": "{{ $json['Message'] }}"
}

Sample Google Sheet Structure

A Google Sheet formatted like this sample

SL WhatsApp No Name Message Image URL Verification Status
1 8801322827799 SpaGreen Creative This is Test Message https://spagreen.sgp1.cdn.digitaloceanspaces.com/... verified sent
2 8801725402187 Abdul Mannan Zinnat This is Test Message https://spagreen.sgp1.cdn.digitaloceanspaces.com/... verified sent

Tips

  • Modify the Limit node to increase/decrease messages per cycle.
  • Adjust the Wait node to control how fast messages are sent (e.g., 5–10s delay).
  • Make sure WhatsApp numbers are properly formatted (e.g., 8801XXXXXXXXX, no +, no spaces).
  • Store your Rapiwa API key securely using n8n credentials.
  • Use publicly accessible image URLs if sending images.
  • Always mark processed messages as "sent" to avoid duplicates.
  • Use the Error workflow in n8n to catch failed sends for retry.
  • Test with a small batch before going full-scale.
  • Schedule the Trigger node for every 5 minutes to keep automation running.

Useful Links

Support & Community

Need help setting up or customizing the workflow? Reach out here:

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 - Fetch All Pending Queries for Messaging

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

Block 2 - Loop Over Items

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

Block 3 - Limit

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

Block 4 - Trigger Every 5 Minute

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

Block 5 - Clean WhatsApp Number

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

Block 6 - Send Message Using Rapiwa

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

Block 7 - Sticky Note

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

Block 8 - Sticky Note2

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

Block 9 - Sticky Note3

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

Block 10 - Sticky Note4

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

Block 11 - Check valid whatsapp number Using Rapiwa1

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

Block 12 - Sticky Note10

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

Block 13 - Sticky Note9

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

Block 14 - Sticky Note12

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

Block 15 - Sticky Note13

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

Block 16 - Wait

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

Block 17 - If

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

Block 18 - Change State of Rows in Verified & Sent

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

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

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

Block 20 - Sticky Note5

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

3. Summary Table

Workflow Send bulk WhatsApp messages from Google Sheets using Rapiwa API
Complexity advanced
Nodes 20
Categories Lead Nurturing, Multimodal AI
Author SpaGreen Creative
Published 13 Sept 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/8558/8558.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 Send bulk WhatsApp messages from Google Sheets using Rapiwa API do?

Bulk WhatsApp Campaign Automation with Rapiwa API (Unofficial Integration) Who’s it for This n8n workflow lets you send bulk WhatsApp messages using your own number through Rapiwa API, avoiding the...

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, Multimodal AI use case.