Skip to content
Official verified n8n node v0.1.0

Verify emails, phones and WhatsApp inside n8n.

Install n8n-nodes-proweblook to clean inbound leads, filter unreachable numbers before WhatsApp outreach, and check product credit pools in any n8n workflow.

npm package name n8n-nodes-proweblook

Uses your existing ProWebLook API key and product credit pools. Saving credentials runs a free balance check.

Install and connect in four steps

Works on n8n Cloud (verified community nodes enabled) and self-hosted n8n instances.

  1. Install n8n-nodes-proweblook

    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.

  2. Copy your ProWebLook API key

    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 account
  3. Save your ProWebLook API credential

    Add 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.

  4. Map fields and branch on verdict

    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.

Four operations in one native 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.

1 email credit per completed check

Verify Email

Checks syntax, domain MX records, and mailbox deliverability. Returns deliverable, undeliverable, or unknown (including catch-all domains) plus billing_status.

Up to 1 phone credit per check

Validate Phone

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.

Up to 1 WhatsApp credit per check

Validate WhatsApp

Checks whether an international + phone number is registered on WhatsApp or WhatsApp Business in real time without sending any message or OTP.

Free (0 credits)

Get Balances

Reads your current email, phone, and whatsapp product credit pools so scheduled workflows can alert your team before a high-volume campaign runs low.

Ready-to-paste n8n workflow JSON

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.

Inbound lead gate: Email + WhatsApp check

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"
    }
}

Phone carrier & VoIP filter

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"
    }
}

Credit balance monitor

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"
    }
}

Frequently asked questions

Does saving my ProWebLook API credential in n8n consume credits?

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.

How should I format phone numbers in n8n expressions?

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.

Do invalid emails or non-WhatsApp numbers cause the n8n node to fail?

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.

Should I enable Retry On Fail on paid ProWebLook nodes?

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.

What usage data does ProWebLook store for n8n requests?

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.

Build cleaner automations in n8n

Create a free ProWebLook account for 50 signup credits across email, phone, and WhatsApp verification, then install n8n-nodes-proweblook in your workspace.