🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Google Sheets + WhatsApp, verify leads before outreach

Lisa Granqvist Partner Workflow Automation Expert

Your WhatsApp outreach shouldn’t feel like gambling. But if you’re working off a scraped list or old CRM exports, you already know the pain: dead numbers, wasted sends, and a spreadsheet full of “maybe” contacts.

This is where WhatsApp lead verification saves you. Marketers trying to hit weekly targets feel it first. A small business owner following up on inbound leads feels it too. Even support teams doing proactive check-ins get burned by bad data.

This workflow connects Google Sheets and WhatsApp verification, automatically labeling each number as verified or unverified before you message anyone. You’ll see how it works, what you need, and what results to expect.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Sheets + WhatsApp, verify leads before outreach

The Problem: Messaging Leads That Can’t Reply

Outreach usually starts in a spreadsheet. Someone exported leads, someone else enriched them, and now you’re staring at a “WhatsApp No” column hoping it’s usable. Then the real mess begins. Numbers come in with spaces, plus signs, brackets, or random text. Some are landlines. Others are simply not on WhatsApp. You only discover that after you’ve spent time personalizing a message, sending it, and then wondering why replies are ice-cold. It’s not just the time. It’s the doubt that creeps in every time a campaign underperforms.

It adds up fast. Here’s where it breaks down in day-to-day operations.

  • You end up writing messages for contacts that were never reachable on WhatsApp in the first place.
  • Phone numbers aren’t in a consistent format, so even “good” leads fail because the number is malformed.
  • No one trusts the sheet, so people double-check rows manually, which slows outreach to a crawl.
  • Campaign reporting becomes a guess because “sent” doesn’t mean “deliverable,” and the sheet doesn’t tell the truth.

The Solution: Verify WhatsApp Numbers Inside Google Sheets

This n8n workflow turns your Google Sheet into a self-cleaning outreach queue. On a schedule (commonly every 10 minutes), it looks for rows where the Status column is set to pending. Each number gets sanitized first, which means it strips out non-digits so the API call doesn’t fail on formatting. Then n8n checks WhatsApp registration using the Rapiwa verification endpoint. If the number is verified, the workflow marks it clearly in your sheet and can optionally send a message. If the number is not verified, it skips outreach and updates the row so your team doesn’t touch it again. Batch processing and short waits are built in, so you can run it continuously without hammering the API.

The workflow starts with a scheduled trigger and pulls your pending contacts from Google Sheets. It verifies one contact at a time in controlled batches using an HTTP request to Rapiwa, then writes the result back to the same row. After that, it pauses briefly and continues until it hits your run limit.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you import 500 new leads each week into a Google Sheet. Manually checking WhatsApp registration is slow and annoying, even if you spend only about 1 minute per lead, that’s roughly 8 hours of pure verification work. With this workflow, you set Status = pending and let it run every 10 minutes, processing up to 200 rows per cycle with a short 3-second pause between checks. Your “work” becomes a quick review of the Verification column, which usually takes a few minutes.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for the lead list and status columns.
  • Rapiwa API to verify WhatsApp registration via HTTP.
  • Rapiwa Bearer token (get it from your Rapiwa dashboard).

Skill level: Beginner. You’ll connect Google Sheets, paste an API key, and match a few column names.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

A scheduled check kicks it off. Every 5–10 minutes (10 is common), n8n wakes up and looks for new work, so you don’t need to remember to “run” anything.

Pending leads are pulled from Google Sheets. The workflow reads rows where your Status column is pending, then caps how many it will touch in one run, which keeps things stable when you add a big list.

Numbers get cleaned and verified. Each row is processed in a batch loop. n8n sanitizes the WhatsApp number (digits only), sends it to Rapiwa using an HTTP Request, then routes the result through an If condition so verified and unverified leads get treated differently.

Your sheet becomes the source of truth. n8n writes back to Google Sheets, updating Verification (verified/unverified) and Status (sent/not sent). A short wait between items reduces the chances of throttling or temporary blocks.

You can easily modify the schedule frequency to match your inbound volume based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Scheduled Trigger

This workflow runs every 10 minutes to fetch and validate WhatsApp numbers on a schedule.

  1. Add the Scheduled 10-Min Trigger node as your workflow trigger.
  2. Set the schedule rule to run every 10 minutes (field: minutes, interval: 10).
  3. Connect Scheduled 10-Min Trigger to Retrieve Pending Contacts.

Step 2: Connect Google Sheets

This step pulls rows where WhatsApp numbers are pending validation.

  1. Open Retrieve Pending Contacts and select your Google Sheets Document and Sheet (e.g., Contacts File and Contacts Sheet).
  2. In Filters, set lookupColumn to WA Checked to target unprocessed rows.
  3. Credential Required: Connect your googleSheetsOAuth2Api credentials in Retrieve Pending Contacts.
  4. Connect Retrieve Pending Contacts to Cap Item Count.

Step 3: Set Up Batch Processing and Throttling

This controls how many rows are processed and ensures the workflow iterates in manageable batches.

  1. In Cap Item Count, set Max Items to 200.
  2. Connect Cap Item Count to Batch Iterator to split rows into batches.
  3. Ensure Pause Interval has Amount set to 3 to pause between batch cycles.
  4. Connect Update Sheet Status to Pause Interval, and Pause Interval back to Batch Iterator to continue processing.

If your API has stricter rate limits, increase Pause Interval to reduce request frequency.

Step 4: Set Up WhatsApp Number Sanitization and Verification Call

This step cleans the WhatsApp number and calls the verification API.

  1. Connect the second output of Batch Iterator to Sanitize WA Number.
  2. Confirm Sanitize WA Number uses the provided JavaScript to strip non-digits from WhatsApp No.
  3. Open Rapiwa Verification Call and set URL to =https://app.rapiwa.com/api/verify-whatsapp and Method to POST.
  4. Enable Send Query and set query parameter number to {{ $json['WhatsApp No'] }}.
  5. Credential Required: Connect your httpBearerAuth credentials in Rapiwa Verification Call.
  6. Connect Sanitize WA Number to Rapiwa Verification Call.

⚠️ Common Pitfall: If WhatsApp No contains spaces or special characters, the API may reject it. Ensure Sanitize WA Number runs before the request.

Step 5: Configure Verification Routing and Sheet Updates

The response is evaluated and the sheet is updated with Verified or Unverified status.

  1. In Verification Branch, keep the condition set to {{ $json.data.exists }} equals true.
  2. Connect Rapiwa Verification Call to Verification Branch.
  3. Connect the true output to Mark Verified Flag, and the false output to Mark Unverified Flag.
  4. Verify Mark Verified Flag returns return { txt: "Verified" }; and Mark Unverified Flag returns return { txt: "Unverified" };.
  5. In Update Sheet Status, set Operation to update and map:
  6. Set row_number to {{ $('Batch Iterator').item.json.row_number }}, WhatsApp No to {{ $('Sanitize WA Number').item.json['WhatsApp No'] }}, and Verified/Unverified to {{ $json.txt }}.
  7. Set WA Checked to Checked.
  8. Connect both Mark Verified Flag and Mark Unverified Flag to Update Sheet Status.

Credential Required: Update Sheet Status needs Google Sheets credentials but none are configured. Add googleSheetsOAuth2Api credentials before running.

Step 6: Test and Activate Your Workflow

Run a manual test to confirm rows are updated and status values are written correctly.

  1. Click Execute Workflow to run a manual test from Scheduled 10-Min Trigger.
  2. Verify that Retrieve Pending Contacts returns rows with empty or unchecked WA Checked.
  3. Confirm that Rapiwa Verification Call returns a response containing data.exists and that Verification Branch routes correctly.
  4. Check your Google Sheet to ensure WA Checked is updated to Checked and Verified/Unverified reflects Verified or Unverified.
  5. Toggle the workflow to Active for scheduled 10-minute processing in production.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets credentials can expire or need specific permissions. If things break, check the Google connection in n8n’s Credentials section first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Rapiwa can rate-limit you if you verify too aggressively. If verifications start failing, reduce your max items per run and increase the delay between checks.

Frequently Asked Questions

How long does it take to set up this WhatsApp lead verification automation?

About 30 minutes if your Google Sheet is already formatted.

Do I need coding skills to automate WhatsApp lead verification?

No. You’ll mostly connect accounts and paste your Rapiwa token into n8n credentials.

Is n8n free to use for this WhatsApp lead verification workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Rapiwa API usage costs from your provider plan.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this WhatsApp lead verification workflow for sending messages only to verified leads?

Yes, and it’s a common tweak. After the verification check, add (or enable) a send-message HTTP Request on the verified path, then leave the unverified path as “skip + update sheet.” Most teams also customize the Status values (pending, sent, not sent) and adjust the Wait time to be more conservative when sending.

Why is my Rapiwa connection failing in this workflow?

Usually it’s an invalid or expired Bearer token in n8n credentials, so regenerate it in Rapiwa and update the credential. It can also fail if the request body isn’t sending the exact column you think it is (double-check the “WhatsApp No” header). If you’re verifying too many rows too quickly, rate limits can show up as intermittent errors, so slow the batch down.

How many leads can this WhatsApp lead verification automation handle?

Practically, hundreds per hour on a small setup, because the workflow intentionally pauses a few seconds between checks.

Is this WhatsApp lead verification automation better than using Zapier or Make?

For this use case, n8n is usually the better fit because you can do batching, delays, and branching logic without fighting plan limits. You also get a self-hosting option, which matters if you’re running verification every 10 minutes all day. Zapier or Make can work, but multi-step looping often gets expensive and a bit awkward. Frankly, the biggest reason teams switch is control: you can cap items, tune pacing, and write back to the same sheet cleanly. If you want help choosing, Talk to an automation expert.

Your sheet stays clean, your outreach stays focused, and you stop spending good effort on bad numbers. Set it once, then let verification run quietly in the background.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal