Tired of lead pollution in your CRM? I built this ‘Gatekeeper’ workflow to stop fake and undeliverable emails at the source.
How it works:
-
Verification: Uses NeverBounce to check every email submitted via an n8n Form.
-
Validation Loop: If the email is invalid, it prompts the user to re-enter a valid one in real-time.
-
Clean Sync: Only 100% verified leads are pushed to your CRM (HubSpot/Salesforce).
Setup: Just swap the No-Op node for your preferred CRM node!
Json
{
“nodes”: [
{
"parameters": {
"formTitle": "Verify",
"formFields": {
"values": \[
{
"fieldLabel": "Email"
}
\]
},
"options": {}
},
"type": "n8n-nodes-base.formTrigger",
"typeVersion": 2.5,
"position": \[
0,
0
\],
"id": "bd74b608-3e8f-4681-9486-bfae15ed8f99",
"name": "On form submission",
"webhookId": "c7c72480-7be5-4a1c-b7ac-1e3af815b757"
},
{
"parameters": {
"emailField": "=Email",
"additionalFields": {}
},
"type": "n8n-nodes-neverbounce-email-verification.nbEmailVerification",
"typeVersion": 1,
"position": \[
208,
0
\],
"id": "ce2a949e-55b0-49f6-8e0f-78cb9e34b6a0",
"name": "Verify an email address",
"credentials": {
"neverBounceApi": {
"id": "ju7366kCMJpZdqY5",
"name": "NeverBounce account"
}
}
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 3
},
"conditions": \[
{
"id": "cbb5abf5-9734-4345-8087-39adbb4f666b",
"leftValue": "={{ $json.verification_result.status }}",
"rightValue": "valid",
"operator": {
"type": "string",
"operation": "equals",
"name": "filter.operator.equals"
}
}
\],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.3,
"position": \[
416,
0
\],
"id": "9e82e251-21fa-4330-a1e7-adefe6da39ac",
"name": "If"
},
{
"parameters": {
"operation": "completion",
"completionTitle": "Form submitted successfully",
"completionMessage": "Thank you for your submission",
"options": {}
},
"type": "n8n-nodes-base.form",
"typeVersion": 2.5,
"position": \[
800,
-64
\],
"id": "9586ad65-74a1-486f-9f05-d286a4f17c6e",
"name": "Form",
"webhookId": "92540d6e-ed8e-4ce8-8eaf-7a3754af3855"
},
{
"parameters": {},
"type": "n8n-nodes-base.noOp",
"typeVersion": 1,
"position": \[
624,
-64
\],
"id": "70c75bb5-ff74-4d94-8755-1c682df7af33",
"name": "Create Lead in CRM"
},
{
"parameters": {
"formFields": {
"values": \[
{
"fieldLabel": "⚠️ Invalid email. Please check for typos and try again.",
"fieldName": "Email"
}
\]
},
"options": {}
},
"type": "n8n-nodes-base.form",
"typeVersion": 2.5,
"position": \[
624,
96
\],
"id": "22889c9b-1602-4f0f-a39b-73b78cf1ed9c",
"name": "Form - Invalid email submit again",
"webhookId": "61665336-4f6b-4082-b7a4-40f827d81907",
"onError": "continueRegularOutput",
"notes": "Invalid email. Please enter a valid email"
}
],
“connections”: {
"On form submission": {
"main": \[
\[
{
"node": "Verify an email address",
"type": "main",
"index": 0
}
\]
\]
},
"Verify an email address": {
"main": \[
\[
{
"node": "If",
"type": "main",
"index": 0
}
\]
\]
},
"If": {
"main": \[
\[
{
"node": "Create Lead in CRM",
"type": "main",
"index": 0
}
\],
\[
{
"node": "Form - Invalid email submit again",
"type": "main",
"index": 0
}
\]
\]
},
"Form": {
"main": \[
\[\]
\]
},
"Create Lead in CRM": {
"main": \[
\[
{
"node": "Form",
"type": "main",
"index": 0
}
\]
\]
},
"Form - Invalid email submit again": {
"main": \[
\[
{
"node": "Verify an email address",
"type": "main",
"index": 0
}
\]
\]
}
},
“pinData”: {},
“meta”: {
"templateCredsSetupCompleted": true,
"instanceId": "2220d92941497956cf87b2f3e973d41cbc7ee702408b7a5f004d5f4966c92f23"
}
}
