Validate email deliverability via webhook using Google and Cloudflare DNS
Ready for 3.0What this workflow does
This workflow has 12 nodes and runs when an HTTP GET request hits its webhook URL. It uses only n8n's built-in nodes. It also calls dns.google and cloudflare-dns.com over HTTP.
How it runs
Trigger: When an HTTP GET request hits its webhook URL.
- Extract email and domain (Edit Fields (Set)): sets 2 fields: email, domain
- Check email syntax (If): checks a condition and branches into true / false
- Google DoH — MX lookup (HTTP Request): calls dns.google
- Respond 400 — invalid syntax (Respond to Webhook): sends the response back to the webhook caller
- Has MX records? (Google) (If): checks a condition and branches into true / false
- Cloudflare DoH — MX lookup (fallback) (HTTP Request): calls cloudflare-dns.com
- Respond 200 — deliverable (Google) (Respond to Webhook): sends the response back to the webhook caller
- Respond 200 — no MX (Google) (Respond to Webhook): sends the response back to the webhook caller
- Has MX records? (Cloudflare) (If): checks a condition and branches into true / false
- Respond 200 — deliverable (Cloudflare) (Respond to Webhook): sends the response back to the webhook caller
…plus 1 more step. See the full node list below.
HTTP calls to: dns.google, cloudflare-dns.com
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (5)
- Webhook
n8n-nodes-base.webhook - Edit Fields (Set)
n8n-nodes-base.set - If
n8n-nodes-base.if - HTTP Request
n8n-nodes-base.httpRequest - Respond to Webhook
n8n-nodes-base.respondToWebhook
From the author
Quick Overview This workflow exposes a webhook that validates an email’s deliverability by checking whether its domain has DNS MX records, using Google DNS-over-HTTPS with an automatic fallback to Cloudflare, and returns a JSON verdict with the reason and…