🔓 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 + Icypeas: verified leads, fewer bounces

Lisa Granqvist Partner Workflow Automation Expert

Your lead list looks fine… until the bounces start rolling in. Then your domain reputation takes the hit, campaigns get throttled, and you waste hours second-guessing the data instead of sending offers.

This Sheets email verification automation is a lifesaver for marketing ops teams cleaning lists, founders doing their own outreach, and lead gen freelancers who can’t afford a messy send. You pull a list from Google Sheets, verify in bulk with Icypeas, and move forward with way more confidence.

Below you’ll see exactly how the workflow runs, what you’ll need, and what kind of time (and deliverability headaches) it can realistically save you.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Sheets + Icypeas: verified leads, fewer bounces

The Problem: Unverified emails quietly wreck outreach

Email outreach is unforgiving. One scraped list, one outdated export, or one “looks good enough” spreadsheet and you’re suddenly sending to addresses that don’t exist anymore. The worst part is how invisible the cost feels at first. You spend time writing good copy, warming up a domain, setting up tracking, then you burn that effort on avoidable bounces. Now deliverability drops, replies slow down, and you start tweaking the wrong thing because the data problem is hiding in plain sight.

It adds up fast. Here’s where it usually breaks down in real teams.

  • You end up spot-checking emails one-by-one, which is slow and honestly easy to abandon mid-task.
  • CSV exports get “fixed” by different people, so columns drift and verification tools ingest garbage.
  • Bad addresses cause hard bounces, which can hurt deliverability for weeks after a single campaign.
  • List hygiene becomes a recurring fire drill, right when you’re trying to scale outbound.

The Solution: Bulk-verify leads from Google Sheets with Icypeas

This workflow turns your Google Sheet into a repeatable verification pipeline. You start with a formatted sheet (first name, last name, and company or domain). When you run the workflow, n8n pulls the rows from Google Sheets, then generates an Icypeas authentication signature behind the scenes using your account credentials. After that, it submits a bulk email “search/verify” request to Icypeas via HTTP, using the person + domain info to find or validate the right email. The end result is a clean set of verification results you can use before you send anything.

The flow is simple on purpose. Google Sheets provides the input, a code step signs the request for Icypeas, and an HTTP request sends the bulk query. You run it when you’re ready to clean a list, and you get verification outcomes you can act on immediately.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you import 300 new leads each week into a Google Sheet. Manually verifying them (even “quickly”) can take about 1 minute per lead once you factor in copying, pasting, and reformatting, so you’re looking at roughly 5 hours of dull work. With this workflow, you spend maybe 10 minutes making sure the sheet columns are correct, click execute, and let Icypeas do the bulk check. Even if you wait a bit for processing, your active time drops to a few minutes, not half a day.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for your lead list source of truth.
  • Icypeas to verify or find work emails in bulk.
  • Icypeas API Key, API Secret, and User ID (get them from your Icypeas account settings/dashboard).

Skill level: Beginner. You’ll connect accounts, paste credentials, and confirm your sheet columns match what the workflow expects.

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

How It Works

You launch it on demand. This workflow starts with a manual trigger, so you run it when you’ve got a new batch of leads that needs cleaning.

Your sheet becomes the input. n8n reads your Google Sheet and pulls the rows you want to verify (typically first name, last name, and company or domain).

Icypeas authentication is handled for you. A code step generates the required signature using your Icypeas credentials, so the next request is accepted and properly authorized.

A bulk request is submitted. The HTTP request sends the person + domain details to Icypeas to search/verify emails and returns results you can use to filter, enrich, or reject leads.

You can easily modify which sheet tab is read, or which columns map into the Icypeas request, based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Manual Trigger

This workflow starts manually so you can test the bulk email search process on demand.

  1. Add a Manual Launch Trigger node to start the workflow manually.
  2. Keep the default settings, since no fields are required for Manual Launch Trigger.

Step 2: Connect Google Sheets

Pull the contact data (firstname, lastname, company) from a Google Sheet so it can be submitted to Icypeas.

  1. Add the Retrieve Sheet Records node and connect it after Manual Launch Trigger.
  2. Select the spreadsheet by setting Document to your Google Sheet (currently blank in the node).
  3. Select the worksheet by setting Sheet Name to the tab that contains your data (currently blank in the node).
  4. Credential Required: Connect your Google Sheets credentials.

⚠️ Common Pitfall: Make sure your sheet has columns named firstname, lastname, and company, since Generate Icypeas Signature reads these exact fields.

Step 3: Set Up the Signature Generator

This step creates the Icypeas API signature and builds the payload needed for the bulk email search request.

  1. Add the Generate Icypeas Signature node and connect it after Retrieve Sheet Records.
  2. In Generate Icypeas Signature, replace the placeholders in jsCode with your Icypeas credentials: API_KEY, API_SECRET, and USER_ID.
  3. Verify the code builds the data array using $input.all().map((x) => [x.json.firstname, x.json.lastname, x.json.company]).
  4. Keep the API URL and signature logic as-is, since Submit Bulk Email Query references these generated fields.

Tip: The signature is generated with Crypto.createHmac("sha1", secret). Ensure your API secret is correct to avoid authentication failures.

Step 4: Configure the Icypeas API Request

Send the prepared payload to Icypeas using a header-authenticated HTTP request.

  1. Add the Submit Bulk Email Query node and connect it after Generate Icypeas Signature.
  2. Set URL to ={{ $json.api.url }}.
  3. Set Method to POST, and enable Send Body and Send Headers.
  4. In Body Parameters, configure values exactly as follows: task = =email-search, name = Test, user = ={{ $json.api.userId }}, and data = ={{ $json.data }}.
  5. In Header Parameters, set X-ROCK-TIMESTAMP to ={{ $json.api.timestamp }}.
  6. Credential Required: Connect your HTTP Header Auth credentials (used by Submit Bulk Email Query with Authentication set to genericCredentialType and Generic Auth Type set to httpHeaderAuth).

⚠️ Common Pitfall: If your Icypeas account requires specific auth headers, add them to the HTTP Header Auth credential so they are included in every request.

Step 5: Test and Activate Your Workflow

Run the workflow once manually to verify your API credentials and payload formatting.

  1. Click Execute Workflow to run Manual Launch Trigger and pass data through the chain.
  2. Confirm Retrieve Sheet Records outputs rows with firstname, lastname, and company fields.
  3. Check Generate Icypeas Signature output for a populated api.signature and data array.
  4. Verify Submit Bulk Email Query returns a successful response from Icypeas.
  5. When successful, switch the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets access can fail if the connected Google account loses permission to the file. If it breaks, check the n8n credential connection and the sheet sharing settings 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.
  • Icypeas credentials and signatures are picky. If requests suddenly return unauthorized errors, re-check your API Key, API Secret, and User ID, then confirm the signature code matches Icypeas requirements.

Frequently Asked Questions

How long does it take to set up this Sheets email verification automation?

About 30 minutes if your Sheet is already formatted.

Do I need coding skills to automate Sheets email verification?

No. You’ll mostly connect Google Sheets and paste your Icypeas credentials. The code step is already built for you.

Is n8n free to use for this Sheets email 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 Icypeas plan/API usage costs based on how many leads you verify.

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 Sheets email verification workflow for a different sheet format?

Yes, but keep it consistent. Most people just remap the Google Sheets columns in the “Retrieve Sheet Records” step, then adjust the payload sent in “Submit Bulk Email Query” to match the new field names. If you want to change how the Icypeas signature is generated, you’ll edit the “Generate Icypeas Signature” code step. Common tweaks include verifying only a specific tab, skipping rows with missing domains, or limiting runs to “new since last week.”

Why is my Icypeas connection failing in this workflow?

Most of the time it’s a credential mismatch. Re-copy your Icypeas API Key, API Secret, and User ID, then confirm the signature logic is using the same values. Also check for account-level restrictions in Icypeas (like disabled API access) and simple issues like the wrong endpoint in the HTTP request.

How many leads can this Sheets email verification automation handle?

A few hundred leads per run is typical, and you can scale higher as long as your Icypeas plan and n8n execution limits allow it.

Is this Sheets email verification automation better than using Zapier or Make?

Often, yes, if you care about control and cost. n8n makes it easier to handle custom signing (like the Icypeas signature step), manage larger batches, and add conditional logic without paying extra for every branch. Zapier or Make can be faster to click together for very simple “one row in, one action out” setups, but they get awkward when you need authentication quirks. If you’re planning to verify leads weekly and route results into multiple tools, n8n tends to feel sturdier. Talk to an automation expert if you want a quick recommendation based on your volume.

Clean lists make everything else work better. Run this once before you send, keep bounces down, and move on with your day.

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