n8n has become the automation backbone for technical GTM engineers, outbound agencies, and AI-native startups. Because self-hosted and cloud n8n workflows charge per workflow execution rather than per individual task step, you can process 100,000 scraped leads through enrichment, AI personalization, and cold email dispatch for a fraction of Zapier’s cost—provided your email verification step doesn’t break your budget or let invalid emails slip through.
If you pipe raw leads from Apollo, Apify, or LinkedIn scrapers directly into OpenAI/Anthropic personalization nodes and cold email sequencers without an inline verification gate, two things happen: you waste 20% to 30% of your LLM token budget writing personalized icebreakers for dead mailboxes, and your sending domains exceed the 2% hard bounce threshold on Google Workspace and Microsoft 365.
In this guide, we show how to build a production-grade n8n Email Verification & Cold Outreach Pipeline using MailVeri’s REST API and MCP Server at $59 per 100,000 credits (down to $0.0002/email at scale).
1. The Optimal n8n Outbound Architecture (Verify Before LLM Personalization)
The golden rule of n8n outbound engineering is Verify Before You Enrich or Personalize. Place your MailVeri verification node immediately after lead ingestion and before your AI Agent / OpenAI node:
| n8n Pipeline Stage | Node Type | Action & Routing Logic |
|---|---|---|
| 1. Lead Ingestion | Webhook / Apify / Postgres | Ingest raw B2B prospect records containing candidate email addresses. |
| 2. MailVeri Gate | HTTP Request / MCP Tool | Call POST /v1/verify-mail/ ($0.0002–$0.00059/check; 0 credits for UNKNOWN). |
| 3. Switch / IF Router | n8n Switch Node | Route VALID → Stage 4; route CATCH_ALL → Low-volume secondary queue; drop INVALID, DISPOSABLE, FULL_INBOX. |
| 4. AI Personalization & Send | OpenAI / Claude + Instantly | Generate personalized icebreakers only for verified VALID leads and push to Instantly / Smartlead. |
2. Step-by-Step n8n HTTP Request Node Configuration
You can import our ready-to-use n8n-mailveri-lead-cleaner.json workflow template directly into your n8n canvas, or configure an HTTP Request node with the following JSON definition:
1{2 "nodes": [3 {4 "name": "MailVeri Verify Email",5 "type": "n8n-nodes-base.httpRequest",6 "typeVersion": 4.2,7 "parameters": {8 "method": "POST",9 "url": "https://api.mailveri.com/v1/verify-mail/",10 "sendHeaders": true,11 "headerParameters": {12 "parameters": [13 {14 "name": "Authorization",15 "value": "Bearer {{ $env.MAILVERI_API_KEY }}"16 }17 ]18 },19 "sendBody": true,20 "specifyBody": "json",21 "jsonBody": "={ \"email\": {{ JSON.stringify($json.email) }} }"22 }23 }24 ]25}To prevent hitting downstream rate limits when iterating over thousands of rows in n8n, pair the HTTP Request node with n8n’s Loop Over Items (Split in Batches) node set to batch size 25, followed by a Code node that filters only confirmed VALID contacts:
1// n8n Code Node: Filter MailVeri verification results before pushing to Instantly / Smartlead2const items = $input.all();3const verifiedLeads = [];4 5for (const item of items) {6 const status = item.json.status;7 // Route only confirmed VALID contacts into your primary cold outreach sequence8 if (status === 'VALID') {9 verifiedLeads.push({10 json: {11 email: item.json.mail || item.json.email,12 firstName: item.json.firstName,13 company: item.json.company,14 verificationStatus: status,15 remainingCredits: item.json.balance,16 },17 });18 }19}20 21return verifiedLeads;3. Connecting MailVeri to n8n AI Agent Nodes via MCP
If you are using n8n’s AI Agent (LangChain) node with an MCP Client Tool, your autonomous prospecting agent can invoke MailVeri’s official MCP server (mailveri_verify_email, mailveri_verify_batch, and mailveri_get_balance) directly during tool-calling loops—ensuring the agent never schedules an outbound email to an unverified or disposable address.
4. Frequently Asked Questions
Should I use single-email HTTP requests or the Bulk File API in n8n?
Use POST /v1/verify-mail/ for real-time webhook triggers and batches under 5,000 rows. For nightly CRM or scraper dumps between 10,000 and 1,000,000 rows, use POST /v1/verify-mails/ to upload the CSV and trigger a separate n8n Webhook node when MailVeri dispatches the HMAC-signed completion callback.
What happens if a recipient mail server times out during an n8n workflow run?
MailVeri returns an UNKNOWN status and automatically refunds 100% of the verification credit. In your n8n Switch node, route UNKNOWN items to a delayed retry queue or suppression table rather than your primary cold email campaign.
