Validate bulk email addresses in Google Sheets with Verify Email

Go to Workflow
0 views
Built by Alex Alex
Created on June 11, 2026

Description

📧 Google Sheets Bulk Email Validator

Automatically validate email addresses in Google Sheets using Verify Email

This workflow scans your Google Sheets weekly (configurable), finds unverified email addresses, and validates them through the Verify Email API. Results are automatically added back to your spreadsheet

📋 How It Works

Reads all email addresses from your Google Sheets
Validates email addresses that haven't been verified yet (Status column is empty)
Writes results — Valid or Block with the reason for blocking

🔧 Required Google Sheets Setup

Your Google Sheet MUST have these column headers in Row 1:

| Column | Header | Content |
|--------|--------|---------|
| A | Email | Email addresses to validate |
| B | Status | Validation result: Valid or Block |
| C | Reason | Block reason: Invalid, Blacklisted, Disposable |

Example table:

| | A | B | C |
|-----|---|---|---|
| 1 | Email | Status | Reason |
| 2 | [email protected] | (empty) | (empty) |
| 3 | [email protected] | (empty) | (empty) |

🚀 Setup Instructions

Step 1: Google Cloud Console Setup (One-time)

Go to Google Cloud Console
Create a new project (or select existing one)
Enable APIs:
Search for "Google Sheets API" → Click Enable
Search for "Google Drive API" → Click Enable
Create OAuth 2.0 credentials:
Go to Credentials → Create Credentials → OAuth 2.0 Client ID
Select Web application
Add authorized redirect URI
Copy your Client ID and Client Secret
Save these for the next step
Log in to your Google account. Select your Google account and grant permissions
Verify the connection shows "Account connected"

Step 2: Prepare Your Google Sheet

Open your Google Sheets file
In Row 1, add these exact headers:
Cell A1: Email
Cell B1: Status
Cell C1: Reason
Starting from Row 2, add your email addresses in Column A only
Leave Column B (Status) empty — workflow will fill it with validation results
Leave Column C (Reason) empty — workflow will fill it with block reasons

Step 3: Configure Workflow with Your Sheet Details

Find your Sheet ID (it's in your Google Sheets URL):
docs.google.com/spreadsheets/d/YOUR_SHEET_ID_HERE/edit
Update in workflow:
Document ID → Paste your Sheet ID
Sheet Name → Tab name (default: "Sheet1")

Step 4: Get Verify Email API Key

Visit verify-email.app
Sign up for a free account (50 verifications/month)
Go to Dashboard → API Keys
Copy your API Key
Add it as credential in n8n:
Click on "Verify API (Batch)" node in workflow
Create new credential: "Verify Email API Key"
Paste your API key
Save
Step 5: Choose Your Trigger

The workflow has 3 different triggers:

Trigger 1: Scheduled (Weekly)
Runs automatically every Monday at 8:00 AM
Click "Publish" to enable
Edit the Schedule Trigger to change timing

Trigger 2: Manual (Execute)
Click "Execute workflow" button to run on demand
Use this to test or validate emails immediately
No scheduling needed

Trigger 3: Webhook
Trigger validation from external services or apps
Send a POST request to the webhook URL
Useful for automated integrations

To activate: Click "Publish" to enable scheduled runs, then choose additional triggers as needed

✅ How to Use

Add email addresses only to Column A (starting Row 2)
Leave Column B (Status) and Column C (Reason) empty
Workflow runs automatically on schedule or manually
Results will appear in Column B (Valid/Block) and Column C (block reason)
Already-verified emails are skipped on next runs

Nodes Used (3)

Code
n8n-nodes-base.code
Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest