Verify Email
Checks syntax, domain MX records, and mailbox deliverability. Returns deliverable, undeliverable, or unknown (including catch-all domains) plus billing_status.
Install n8n-nodes-proweblook to clean inbound leads, filter unreachable numbers before WhatsApp outreach, and check product credit pools in any n8n workflow.
n8n-nodes-proweblook
Uses your existing ProWebLook API key and product credit pools. Saving credentials runs a free balance check.
Works on n8n Cloud (verified community nodes enabled) and self-hosted n8n instances.
In n8n Cloud, search ProWebLook directly in the node panel and click Install. On self-hosted n8n, open Settings, select Community Nodes, click Install, and enter n8n-nodes-proweblook.
Sign in to your ProWebLook dashboard or create a free account to receive 50 one-time signup credits across email, phone, and WhatsApp verification.
Create free ProWebLook accountAdd a ProWebLook node to your canvas, create a new ProWebLook API credential, and paste your API key into the encrypted password field. Saving runs a free balance check.
Map upstream fields like {{ $json.email }} or {{ $json.phone }} as strings, keep Retry On Fail disabled on paid checks, and route clean leads with an IF or Switch node.
Every request posts JSON over HTTPS with Bearer authentication to https://proweblook.com/api/v1/n8n. Negative or catch-all verdicts return structured data rather than crashing your workflow.
Checks syntax, domain MX records, and mailbox deliverability. Returns deliverable, undeliverable, or unknown (including catch-all domains) plus billing_status.
Validates E.164 international numbers or national numbers paired with a two-letter ISO Country Code (such as US, IN, or GB). Returns carrier, line type (Mobile, VoIP, Fixed Line), and formatting.
Checks whether an international + phone number is registered on WhatsApp or WhatsApp Business in real time without sending any message or OTP.
Reads your current email, phone, and whatsapp product credit pools so scheduled workflows can alert your team before a high-volume campaign runs low.
Click Copy workflow JSON, open any n8n canvas, and press Cmd+V (macOS) or Ctrl+V (Windows/Linux) to drop the nodes onto your board. All templates start inactive with no embedded credentials.
Verifies an inbound form email first, then checks WhatsApp registration only when the email is deliverable, routing qualified contacts forward.
{
"name": "ProWebLook Lead Gate: Verify Email & WhatsApp",
"nodes": [
{
"parameters": {},
"id": "pwl-trigger-1",
"name": "Manual Trigger",
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
0,
0
]
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "a1",
"name": "email",
"value": "person+tag@example.com",
"type": "string"
},
{
"id": "a2",
"name": "phone",
"value": "+12025550123",
"type": "string"
}
]
}
},
"id": "pwl-sample-1",
"name": "Sample Lead Input",
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
220,
0
]
},
{
"parameters": {
"operation": "verify_email",
"email": "={{ $json.email }}"
},
"id": "pwl-email-1",
"name": "ProWebLook Verify Email",
"type": "n8n-nodes-proweblook.proWebLook",
"typeVersion": 1,
"position": [
460,
0
],
"retryOnFail": false,
"onError": "stopWorkflow"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"typeValidation": "strict"
},
"conditions": [
{
"id": "c1",
"leftValue": "={{ $json.verdict }}",
"rightValue": "deliverable",
"operator": {
"type": "string",
"operation": "equals"
}
}
],
"combinator": "and"
}
},
"id": "pwl-if-1",
"name": "If Email Deliverable",
"type": "n8n-nodes-base.if",
"typeVersion": 2,
"position": [
700,
0
]
},
{
"parameters": {
"operation": "check_whatsapp",
"phoneNumber": "={{ $(\"Sample Lead Input\").item.json.phone }}"
},
"id": "pwl-wa-1",
"name": "ProWebLook Validate WhatsApp",
"type": "n8n-nodes-proweblook.proWebLook",
"typeVersion": 1,
"position": [
940,
-60
],
"retryOnFail": false,
"onError": "stopWorkflow"
}
],
"connections": {
"Manual Trigger": {
"main": [
[
{
"node": "Sample Lead Input",
"type": "main",
"index": 0
}
]
]
},
"Sample Lead Input": {
"main": [
[
{
"node": "ProWebLook Verify Email",
"type": "main",
"index": 0
}
]
]
},
"ProWebLook Verify Email": {
"main": [
[
{
"node": "If Email Deliverable",
"type": "main",
"index": 0
}
]
]
},
"If Email Deliverable": {
"main": [
[
{
"node": "ProWebLook Validate WhatsApp",
"type": "main",
"index": 0
}
],
[]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
}
}
Normalizes national or E.164 phone numbers with Validate Phone and separates confirmed mobile lines from invalid or virtual VoIP numbers.
{
"name": "ProWebLook Phone Carrier & VoIP Filter",
"nodes": [
{
"parameters": {},
"id": "pwl-trigger-2",
"name": "Manual Trigger",
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
0,
0
]
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "p1",
"name": "phone",
"value": "2025550123",
"type": "string"
},
{
"id": "p2",
"name": "country_code",
"value": "US",
"type": "string"
}
]
}
},
"id": "pwl-sample-2",
"name": "Phone Input",
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
220,
0
]
},
{
"parameters": {
"operation": "validate_phone",
"phoneNumber": "={{ $json.phone }}",
"countryCode": "={{ $json.country_code }}"
},
"id": "pwl-phone-2",
"name": "ProWebLook Validate Phone",
"type": "n8n-nodes-proweblook.proWebLook",
"typeVersion": 1,
"position": [
460,
0
],
"retryOnFail": false,
"onError": "stopWorkflow"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"typeValidation": "strict"
},
"conditions": [
{
"id": "c2",
"leftValue": "={{ $json.verdict }}",
"rightValue": "valid",
"operator": {
"type": "string",
"operation": "equals"
}
},
{
"id": "c3",
"leftValue": "={{ $json.details.linetype }}",
"rightValue": "VoIP",
"operator": {
"type": "string",
"operation": "notEquals"
}
}
],
"combinator": "and"
}
},
"id": "pwl-if-2",
"name": "If Valid Non-VoIP Line",
"type": "n8n-nodes-base.if",
"typeVersion": 2,
"position": [
700,
0
]
}
],
"connections": {
"Manual Trigger": {
"main": [
[
{
"node": "Phone Input",
"type": "main",
"index": 0
}
]
]
},
"Phone Input": {
"main": [
[
{
"node": "ProWebLook Validate Phone",
"type": "main",
"index": 0
}
]
]
},
"ProWebLook Validate Phone": {
"main": [
[
{
"node": "If Valid Non-VoIP Line",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
}
}
Runs the free Get Balances operation and checks whether email, phone, or WhatsApp credits have dipped below your threshold.
{
"name": "ProWebLook Credit Pool Balance Monitor",
"nodes": [
{
"parameters": {},
"id": "pwl-trigger-3",
"name": "Manual Trigger",
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
0,
0
]
},
{
"parameters": {
"operation": "get_balance"
},
"id": "pwl-bal-3",
"name": "ProWebLook Get Balances",
"type": "n8n-nodes-proweblook.proWebLook",
"typeVersion": 1,
"position": [
240,
0
],
"retryOnFail": false,
"onError": "stopWorkflow"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"typeValidation": "strict"
},
"conditions": [
{
"id": "b1",
"leftValue": "={{ $json.email.amount }}",
"rightValue": 25,
"operator": {
"type": "number",
"operation": "lt"
}
},
{
"id": "b2",
"leftValue": "={{ $json.phone.amount }}",
"rightValue": 25,
"operator": {
"type": "number",
"operation": "lt"
}
},
{
"id": "b3",
"leftValue": "={{ $json.whatsapp.amount }}",
"rightValue": 25,
"operator": {
"type": "number",
"operation": "lt"
}
}
],
"combinator": "or"
}
},
"id": "pwl-if-3",
"name": "If Any Pool Below 25",
"type": "n8n-nodes-base.if",
"typeVersion": 2,
"position": [
480,
0
]
}
],
"connections": {
"Manual Trigger": {
"main": [
[
{
"node": "ProWebLook Get Balances",
"type": "main",
"index": 0
}
]
]
},
"ProWebLook Get Balances": {
"main": [
[
{
"node": "If Any Pool Below 25",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
}
}
No. The credential test calls POST /api/v1/n8n/get_balance, which is free and reads your email, phone, and WhatsApp credit balances without running a paid lookup.
Keep phone numbers as strings so leading plus signs and digits are preserved. Validate WhatsApp requires full international E.164 format starting with + (for example, +14155552671). Validate Phone accepts either international + format or a national number paired with a two-letter ISO Country Code such as IN or US.
No. Completed negative or catch-all checks return normal output items (such as verdict: undeliverable, invalid, unknown, or not_on_whatsapp) so you can branch cleanly with an IF or Switch node. Node errors are reserved for invalid credentials, malformed inputs, rate limits (60 requests/minute), or insufficient credits.
Keep Retry On Fail disabled by default on Verify Email, Validate Phone, and Validate WhatsApp. Because a network timeout cannot prove a provider check did not run, automatic retries or manual reruns may consume another credit. Check Get Balances first if a run is interrupted.
The n8n package has zero third-party runtime dependencies or telemetry scripts. On the server side, ProWebLook records minimal 90-day service metadata (account ID, operation name, outcome category, latency, and timestamp) excluding API keys, workflow IDs, and checked contact payloads.
Create a free ProWebLook account for 50 signup credits across email, phone, and WhatsApp verification, then install n8n-nodes-proweblook in your workspace.