🔓 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 to Icypeas, cleaner lead lists fast

Lisa Granqvist Partner Workflow Automation Expert

Your lead sheet looks “fine” until your campaign starts bouncing, replies dry up, and your deliverability takes a hit. Then you’re stuck doing the same painful routine: export a list, run checks somewhere else, re-import, and hope you didn’t miss a row.

This is the kind of mess that slows down marketers before a launch. A sales ops person trying to protect sender reputation feels it too. And if you run an agency, you’re probably tired of clients blaming “email performance” when the real problem was list quality. This Google Sheets Icypeas automation gets you back to one trusted sheet.

Below you’ll see exactly how the workflow verifies domains in bulk, what results you can expect, and what you need to connect it in n8n.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Sheets to Icypeas, cleaner lead lists fast

The Problem: Dirty domains quietly wreck campaigns

Most teams don’t “choose” to send to bad domains. It happens because lists get stitched together from forms, scrapes, events, old CRM exports, and partner spreadsheets. A few broken domains slip in. A few more are catch-all traps. Someone fat-fingers a company website. The next thing you know, you’re looking at bounces and thinking it’s your copy, your offer, or your sending tool. Meanwhile the real cost is time (manual checks), stress (second-guessing every send), and lost opportunity (pausing outreach right when you should be scaling).

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

  • People run verification “when they remember,” so the same list gets reused long after it’s gone stale.
  • Manual spot-checking misses patterns, like one bad source feeding dozens of sketchy domains.
  • Exports and re-imports create version chaos, which means nobody trusts the “final” sheet.
  • Teams end up sending smaller campaigns out of caution, because they’re not confident in the data.

The Solution: Verify domains from Google Sheets in Icypeas

This n8n workflow pulls company or domain fields directly from a formatted Google Sheet, then sends that data to Icypeas to run a bulk scan using an HTTP request. You start it with a manual click in n8n, which is perfect for list prep before a campaign or as a quick “clean-up pass” after importing new leads. Inside the workflow, a small code step handles your Icypeas authentication details (API Key, API Secret, and User ID) so every scan request is properly signed. Once the request runs, you have a consistent verification action you can repeat whenever the sheet changes, without juggling exports or one-off checks.

The workflow starts when you execute it in n8n. It reads your Google Sheet rows, prepares the Icypeas credentials, and submits the domains/companies to Icypeas for bulk scanning. From there, you can use the results to keep one clean “source of truth” sheet for every campaign.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you’re prepping a 500-row outbound list in Google Sheets for next week’s campaign. Manually, you might spend about 1 minute per row between copying domains into a verifier, running batches, downloading results, and stitching them back into your sheet. That’s roughly 8 hours of tedious work. With this workflow, you click execute, wait for the scan to run, and review the output in one place. Realistically, you’re spending about 10 minutes setting it up and checking results, not a whole day.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for storing company/domain rows
  • Icypeas to run bulk domain verification
  • Icypeas API credentials (get API Key, Secret, User ID in Icypeas)

Skill level: Beginner. You’ll connect Google Sheets, paste API credentials, and map the right column.

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

How It Works

Manual run when you’re ready. You click “Execute” in n8n to kick things off, which is handy for list cleanups right before a campaign or after a fresh import.

Google Sheets rows are pulled in. The workflow reads your sheet and grabs the contact fields you’ve formatted (typically a company name or domain column). If your sheet is messy, fix the column names once and you’re done.

Icypeas authentication is prepared. A code step uses your Icypeas API Key, API Secret, and User ID so the next request is authorized and repeatable.

Domains are submitted for bulk scanning. The HTTP request sends your list to Icypeas to scan domains/companies in one go, instead of checking them one-by-one by hand.

You can easily modify the sheet columns you pull to match your lead format 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 control when the domain scan runs.

  1. Add and open Manual Launch Trigger.
  2. Leave the default settings as-is to enable manual executions from the editor.
  3. Confirm the execution flow begins with Manual Launch Trigger and connects to Fetch Sheet Contact Fields.

Step 2: Connect Google Sheets

Pull company domain data from your spreadsheet before generating the API payload.

  1. Open Fetch Sheet Contact Fields.
  2. Select the spreadsheet by setting Document and Sheet to your target Google Sheet (these are blank by default).
  3. Credential Required: Connect your Google Sheets credentials.

⚠️ Common Pitfall: If Document and Sheet are left empty, the node will return no rows and downstream API requests will fail.

Step 3: Set Up the API Signature Builder

This step constructs the request body and authentication signature for Icypeas.

  1. Open Icypeas Auth Setup.
  2. Replace the placeholder values in jsCode for API_KEY, API_SECRET, and USER_ID.
  3. Confirm the script maps your sheet data with $input.all().map((x) => [ x.json.company]) so the input includes a company field.
  4. Ensure Fetch Sheet Contact Fields outputs the company field used in the code.

Tip: If your sheet column name is not company, update the mapping in Icypeas Auth Setup to match your column.

Step 4: Configure the Domain Scan Request

This node sends the authenticated bulk domain scan request to Icypeas.

  1. Open Execute Domain Bulk Scan.
  2. Set URL to the expression ={{ $json.api.url }}.
  3. Set Method to POST and enable Send Body and Send Headers.
  4. Under Body Parameters, confirm the values: task = domain-search, name = dernierT, user = ={{ $json.api.userId }}, data = ={{ $json.data }}.
  5. Under Header Parameters, set X-ROCK-TIMESTAMP to ={{ $json.api.timestamp }}.
  6. Credential Required: Connect your HTTP Header Auth credentials (generic httpHeaderAuth) in Execute Domain Bulk Scan.

⚠️ Common Pitfall: If your HTTP Header Auth credentials don’t include the required Icypeas headers (e.g., API key/signature), the request will be rejected.

Step 5: Test and Activate Your Workflow

Validate the end-to-end flow from the sheet to the Icypeas API.

  1. Click Execute Workflow and manually run Manual Launch Trigger.
  2. Verify Fetch Sheet Contact Fields outputs rows with a company field.
  3. Check Icypeas Auth Setup for a populated api object and data array.
  4. Confirm Execute Domain Bulk Scan returns a successful response from Icypeas.
  5. When ready for production, switch the workflow to Active.
🔒

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 n8n Google Sheets connection and sharing access to the sheet 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.
  • Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.

Frequently Asked Questions

How long does it take to set up this Google Sheets Icypeas automation?

About 30 minutes if your sheet and Icypeas account are ready.

Do I need coding skills to automate Google Sheets Icypeas verification?

No. You’ll mostly connect accounts and map the domain/company column from your sheet. The “code” step is already part of the template, so you’re just pasting credentials and testing.

Is n8n free to use for this Google Sheets Icypeas 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 subscription and API usage based on your 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 Google Sheets Icypeas workflow for scanning different fields?

Yes, and it’s one of the easiest tweaks. You typically change which Google Sheets columns are selected in “Fetch Sheet Contact Fields,” then adjust the payload built before “Execute Domain Bulk Scan.” Common customizations include scanning a “Website” column instead of “Domain,” filtering out blank rows, adding a campaign tag to each scan, or splitting scans into smaller batches when you’re working with very large sheets.

Why is my Icypeas connection failing in this workflow?

Most of the time it’s an API Key/API Secret/User ID mismatch, or an expired credential that needs to be regenerated in Icypeas. Double-check what’s stored in the n8n credential fields used by the “Icypeas Auth Setup” step, then re-run with a tiny test list (like 5 rows) to confirm the request format. If the request is correct but still fails, you may be hitting plan limits or rate limits on the Icypeas side. Honestly, logging the raw HTTP response in n8n usually tells you what’s wrong in a few seconds.

How many domains can this Google Sheets Icypeas automation handle?

A lot, but the real limit is your Icypeas plan and how big your sheet is. On n8n Cloud, the Starter plan supports a monthly execution cap, while higher plans handle more; self-hosting removes execution limits but your server still needs enough memory for big runs. In practice, many teams scan hundreds or thousands of rows per run and simply split the list if the API starts timing out.

Is this Google Sheets Icypeas automation better than using Zapier or Make?

Often, yes, because this kind of verification flow benefits from flexible request building and handling edge cases. n8n is also easier to self-host, which matters when you want unlimited runs without watching task counts. Zapier or Make can still work if you’re doing a very simple “send row, get response” pattern and your volume is low. If you’re unsure, Talk to an automation expert and get a quick recommendation for your setup.

Clean domains aren’t glamorous, but they keep campaigns alive. Run the workflow, trust your sheet again, and move on to the work that actually grows revenue.

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