What will you build?
You will build a workflow that:- Reads email list from Google Sheets or CSV
- Verifies each email using Enrow
- Categorizes results (valid, invalid, risky)
- Exports clean list ready for campaigns
When should you use this workflow?
Use this workflow whenever email deliverability matters to a downstream process. Common use cases:- Clean email lists before marketing campaigns
- Verify form submissions in real-time
- Maintain database hygiene
- Reduce bounce rates
What do you need before you start?
Before building the workflow, make sure you have the following: The Enrow API key authenticates every request through thex-api-key header. See Authentication for how to retrieve and pass the API key, and Credits & billing to understand how verification credits are consumed.
How do you set up the Google Sheet?
Create a sheet with email addresses and empty columns for the results:| Status | Deliverable | Risk Factors | |
|---|---|---|---|
| john@example.com | |||
| invalid@fake.com | |||
| temp@tempmail.com |
How do you build the workflow in 5 minutes?
The fastest path is to import a ready-made workflow, configure your credentials, and run it.Step 1: Import Workflow
Copy and import this workflow into n8n:Step 2: Configure
- Replace
YOUR_SHEET_IDwith your Google Sheet ID - Add your Enrow API key to Header Auth credential
- Test with a few emails first
Step 3: Run
- Click “Execute Workflow”
- Wait for verification to complete
- Check your Google Sheet for results
How do you build the workflow step by step?
If you prefer to build the workflow node by node, follow the detailed guide below.Step 1: Read Email List
Google Sheets:- Add “Google Sheets” node
- Operation: Read
- Select your spreadsheet
- Range:
Sheet1!A:A(email column only)
- Add “Read Binary Files” node
- Add “CSV to JSON” node
- Map the email field
Step 2: Create Batches
For better performance, process emails in batches:- Add “Split In Batches” node
- Batch Size: 100 (or less for faster results)
Step 3: Verify with Enrow Bulk API
- Add “HTTP Request” node
- Configure:
batch_id immediately. See Verify Bulk Emails for the full request and response reference.
Step 4: Wait for Results
Add “Wait” node with 10-15 seconds delay. For large batches, wait longer. For event-driven retrieval instead of polling, pass a webhook URL in the request — see How webhooks work.Step 5: Fetch Results
- Add “HTTP Request” node
- Configure:
Step 6: Process Results
Add “Function” node to categorize emails:Step 7: Update Google Sheet
- Add “Google Sheets” node
- Operation: Update
- Map results back to original rows
- Valid Emails → Sheet “Valid”
- Invalid Emails → Sheet “Invalid”
- Risky Emails → Sheet “Risky”
How do you verify emails from a form in real time?
To verify emails as users submit forms, trigger the workflow with a webhook and verify each address individually:Workflow:
- Webhook Trigger: Receives form submissions
- Extract Email: Get email from form data
- Verify: Call Enrow
/email/verify/single - Decision:
- Valid → Save to CRM (Salesforce, HubSpot, etc.)
- Invalid → Send error response or flag for review
How do you export the clean list?
Once results are categorized, you can export the clean list in whichever format your stack needs.Option 1: Google Sheets
Already done! Results are in your sheet.Option 2: CSV Export
- Add “Move Binary Data” node
- Add “Write Binary File” node
- Save to disk or send via email
Option 3: Send to Email Platform
- Add “HTTP Request” node for your email platform API
- Examples:
- Mailchimp: Add to audience
- SendGrid: Update contacts
- Customer.io: Sync attributes
How do you track verification metrics?
Add a summary node to compute deliverability metrics for each run:- Slack: Post summary in channel
- Email: Daily/weekly reports
- Database: Track over time
How do you reduce credit usage?
Verification consumes credits per email, so trim the work before each run. Three tactics keep costs down.Deduplicate Before Verifying
Cache Results
Store verification results for 30-90 days:Skip Already Verified
Only verify emails with empty status:Best Practices
Verify Before Campaigns
Verify Before Campaigns
Always verify your list 24-48 hours before sending. Email validity can change.
Handle Risky Emails
Handle Risky Emails
Decide based on use case:
- B2B: Role emails (info@, support@) might be OK
- B2C: Reject disposable emails
- Cold outreach: Only use high-confidence emails
Monitor Deliverability
Monitor Deliverability
Track bounce rates after sending. If high, re-verify your list.
Regular Cleaning
Regular Cleaning
Verify your entire list every 3-6 months to remove invalid emails.
Troubleshooting
Verification taking too long?- Reduce batch size to 50-100 emails
- Increase wait time between batches
- Check
metadata.is_disposable- might be temporary emails - Review
metadata.is_catch_all- accept-all servers
- Add delays between batches
- Reduce batch size
- Upgrade your Enrow plan
429 handling, see Rate limits. For status codes and error formats, see Error handling.
FAQ
How many emails can I verify in one batch?
How many emails can I verify in one batch?
Use the Batch Emails node to process emails in groups (the example uses a batch size of 100). For very large lists, split the work into smaller batches and add a longer wait between requests to avoid being rate limited. See Rate limits for the request ceilings.
What do the valid, invalid, and risky statuses mean?
What do the valid, invalid, and risky statuses mean?
valid means the address is deliverable, invalid means it would bounce, and risky covers catch-all, disposable, or role-based addresses where deliverability is uncertain. Use the metadata fields (is_disposable, is_role, is_catch_all, is_free) to decide how to treat risky results for your use case.Should I verify a single email or use bulk?
Should I verify a single email or use bulk?
Use Verify Bulk Emails for lists and scheduled cleaning, and Verify Single Email for real-time checks such as form submissions.
How do I avoid wasting credits?
How do I avoid wasting credits?
Deduplicate addresses before verifying, cache results for 30-90 days, and skip rows that already have a status. See Credits & billing for per-endpoint costs.
Next steps
Email Enrichment
Find emails for your contacts with an n8n workflow.
Verify Bulk Emails
Explore the bulk verification endpoint reference.
Authentication
How to pass your API key in the x-api-key header.
Webhooks
Get notified automatically when a batch completes.

