Block 1 - Cleane Number
- Type / Role
- n8n-nodes-base.code - code
- Config choices
- Version 2
This workflow is provided as-is. Please review and test before using in production.
WhatsApp Number Verify & Confirmation System with Rapiwa API and Google Sheets Who is this for? This n8n workflow makes it easy to verify WhatsApp numbers submitted through a form. When someone fil...
n8n-nodes-base.code, n8n-nodes-base.splitinbatches, n8n-nodes-base.webhook, n8n-nodes-base.if, n8n-nodes-base.googlesheets, n8n-nodes-base.wait, n8n-nodes-base.httprequest, n8n-nodes-base.stickynote
This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by SpaGreen Creative.
Original n8n.io sourceThis n8n workflow makes it easy to verify WhatsApp numbers submitted through a form. When someone fills out the form, the automation kicks in—capturing the data via a webhook, checking the WhatsApp number using the Rapiwa API, and sending a confirmation message if the number is valid. All submissions, whether verified or not, are logged into a Google Sheet with a clear status.
It’s a great solution for businesses, marketers, or developers who need a reliable way to verify leads, manage event signups, or onboard customers using WhatsApp.
This n8n automation listens for form submissions via a webhook, validates the provided WhatsApp number using the Rapiwa API, sends a confirmation message if the number is verified, and then appends the submission data to a Google Sheet, marking each entry as verified or unverified.
YYYY-MM-DD formatWebhook node to the canvas.POST./a9b6a936-e5f2-4xxxxxxxxxe0a970d5).{
"business_name": "ABC Corp",
"location": "New York",
"whatsapp": "+1 234-567-8901",
"email": "[email protected]",
"name": "John Doe"
}
Code node after the Webhook node.const result = $input.all().map(item => {
const body = item.json.body || {};
const submitted_date = new Date().toISOString().split('T')[0];
return {
business_name: body.business_name,
location: body.location,
whatsapp: body.whatsapp,
email: body.email,
name: body.name,
submitted_date: submitted_date
};
});
return result;
SplitInBatches node after the data formatting.Note: If you expect only one submission at a time, it still helps future-proof your workflow.
Code node named Cleane Number.const items = $input.all();
const updatedItems = items.map((item) => {
const waNo = item?.json["whatsapp"];
const waNoStr = typeof waNo === 'string' ? waNo : (waNo !== undefined && waNo !== null ? String(waNo) : "");
const cleanedNumber = waNoStr.replace(/\D/g, "");
item.json["whatsapp"] = cleanedNumber;
return item;
});
return updatedItems;
HTTP Request node.POSThttps://app.rapiwa.com/api/verify-whatsappnumber: ={{ $json.whatsapp }}Expected Output:
```json
{
"success": true,
"data": {
"number": "+88017XXXXXXXX",
"exists": true,
"jid": "88017XXXXXXXXXXXXX",
"message": "✅ Number is on WhatsApp"
}
}
If node after the Rapiwa validation.={{ $json.data.exists }}trueNote: This step branches the flow based on the WhatsApp verification result.
HTTP Request node under the TRUE branch of the If node.POSThttps://app.rapiwa.com/api/send-messagenumber: ={{ $json.data.phone }}message_type: textmessage: Hi {{ $('Cleane Number').item.json.name }},
Thanks! Your form has been submitted successfully.
This sends a confirmation message via WhatsApp to the verified number.
Add a Google Sheets node under the TRUE branch (after the message is sent).
Set:
AppendSheet1)Column Mapping:
Business Name: ={{ $('Cleane Number').item.json.business_name }}Location: ={{ $('Cleane Number').item.json.location }}WhatsApp Number: ={{ $('Cleane Number').item.json.whatsapp }}Email : ={{ $('Cleane Number').item.json.email }}Name: ={{ $('Cleane Number').item.json.name }}Date: ={{ $('Cleane Number').item.json.submitted_date }}validity: verifiedUse OAuth2 Google Sheets credentials for access.
Note: Make sure the sheet has matching column headers.
Google Sheets node under the FALSE branch of the If node.validity: unverifiedThis stores entries with unverified WhatsApp numbers in the same Google Sheet.
Wait node after both Google Sheets nodes.This delay prevents API throttling and adds buffer time before processing the next item in the batch.
A Google Sheet formatted like this ➤ Sample Sheet
| Business Name | Location | WhatsApp Number | Name | validity | Date | |
|---|---|---|---|---|---|---|
| SpaGreen Creative | Dhaka, Bangladesh | 8801322827799 | [email protected] | Abdul Mannan | unverified | 2025-09-14 |
| SpaGreen Creative | Bagladesh | 8801322827799 | [email protected] | Abdul Mannan | verified | 2025-09-14 |
> Note: The Email column includes a trailing space. Ensure your column headers match exactly to prevent data misalignment.
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.
| Workflow | WhatsApp number verify & confirmation system with Rapiwa API and Google Sheets |
|---|---|
| Complexity | advanced |
| Nodes | 17 |
| Categories | Lead Generation |
| Author | SpaGreen Creative |
| Published | 14 Sept 2025 |
Use the JSON export at /data/workflows/8576/8576.json as the source template for this automation.
Open n8n, import the downloaded JSON, and review each node before activating the workflow.
Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.
Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.
Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.
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.
WhatsApp Number Verify & Confirmation System with Rapiwa API and Google Sheets Who is this for? This n8n workflow makes it easy to verify WhatsApp numbers submitted through a form. When someone fil...
Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.
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 Generation use case.