Hunter + Gmail: only qualified leads hit your inbox
Your contact form is supposed to create opportunities. Instead, it creates noise. Fake emails, students “researching,” vendors pitching you, and a few real buyers buried in the middle.
This hits marketing managers running campaigns hardest. But founders and revenue teams feel it too, because Hunter lead scoring doesn’t exist in most inboxes by default. You end up checking every lead manually, and you still miss the good ones when things get busy.
This n8n workflow filters the junk automatically, scores the rest, and only then pings you in Gmail. You’ll see how it works, what you need, and where teams usually tweak the thresholds.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Hunter + Gmail: only qualified leads hit your inbox
flowchart LR
subgraph sg0["n8n Form Flow"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/form.svg' width='40' height='40' /></div><br/>n8n Form Trigger"]
n1@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check if the email is valid", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Email is not valid, do nothing", pos: "b", h: 48 }
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Score lead with MadKudu"]
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/hunter.png' width='40' height='40' /></div><br/>Verify email with Hunter"]
n5@{ icon: "mdi:cog", form: "rounded", label: "Not interesting enough", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-horizontal", form: "rounded", label: "if customer fit score 60", pos: "b", h: 48 }
n7@{ icon: "mdi:message-outline", form: "rounded", label: "Gmail", pos: "b", h: 48 }
n0 --> n4
n3 --> n6
n4 --> n1
n6 --> n7
n6 --> n5
n1 --> n3
n1 --> n2
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n1,n6 decision
class n3 api
classDef customIcon fill:none,stroke:none
class n0,n3,n4 customIcon
The Problem: Your Inbox Can’t Tell a Buyer From Spam
When leads come in from a form, everything looks “real” at first glance. A name, an email, maybe a company. But then you click through and it’s a disposable address, a typo, or someone who will never buy from you. The worst part is the mental tax: you have to context-switch, evaluate, and decide… over and over. Miss one high-intent lead because you were busy deleting junk, and you don’t just lose time. You lose momentum and, frankly, money.
It adds up fast. Here’s where it usually breaks down:
- You spend about 5 minutes per lead just figuring out if it’s even valid.
- Bad emails get into your CRM and sequences, so deliverability starts sliding.
- “Looks decent” leads distract you from the few that actually match your ICP.
- Response time suffers because you can’t spot the best leads quickly.
The Solution: Verify, Score, Then Email Only the Winners
This workflow turns your form into a simple qualification pipeline. A new submission triggers n8n, which first checks the email with Hunter so obvious fakes and invalid addresses don’t go any further. If the email passes, n8n sends the lead details to MadKudu for fit scoring (things like company profile and whether the lead matches the kind of customer you want). Then a threshold check decides what happens next. High-fit leads trigger a Gmail alert so you can respond while intent is fresh, and low-fit or invalid leads are quietly discarded so they don’t steal attention.
The workflow starts with an inbound form trigger. Hunter validates the email, MadKudu returns a score, and an “If” gate decides if the lead is worth a human’s time. Finally, Gmail sends you the alert with the key details so you can act immediately.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say your site gets 12 form leads on a typical day. Manually, you might spend about 5 minutes checking each email and another 5 minutes scanning the company, which is roughly 2 hours daily. With this workflow, you submit the form as usual (zero extra work), n8n runs the checks in the background, and only the 2–3 “worth it” leads hit your Gmail. You read a short alert and reply. That’s closer to 10 minutes of attention instead of an afternoon leak.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Hunter for email verification on every lead.
- MadKudu to score lead fit against your ICP.
- Gmail to send the qualified-lead alert.
Skill level: Beginner. You’ll paste API keys, map a few form fields, and set a scoring threshold.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A form submission triggers the workflow. n8n provides a production-ready URL for your form, so every new lead becomes a new workflow run.
Email verification happens immediately. Hunter checks the submitted email and returns a validity signal, which means you can stop bad data before it spreads.
Lead scoring decides if it’s worth your time. When the email is valid, MadKudu scoring runs via an HTTP request. Then an “If” condition compares the score to your fit threshold.
Qualified leads get surfaced in Gmail. If the lead clears the threshold, n8n sends a Gmail message to the address you choose. If it doesn’t, the workflow quietly does nothing, so your day stays focused.
You can easily modify the fit threshold to be stricter or more forgiving based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Form Trigger
This workflow starts when a lead submits your embedded n8n form.
- Add and open Inbound Form Trigger.
- Set Path to
0bf8840f-1cc4-46a9-86af-a3fa8da80608. - Set Form Title to
Contact usand Form Description toWe'll get back to you soon. - Under Form Fields, add a field labeled
What's your business email?to match the downstream expression usage.
Step 2: Connect Hunter for Email Validation
This step verifies the submitted email and branches based on validity.
- Open Validate Email via Hunter and set Operation to
emailVerifier. - Set Email to
={{ $json['What\'s your business email?'] }}. - Credential Required: Connect your hunterApi credentials.
- Open Email Validity Check and configure the condition: Left Value
={{ $json.status }}, Operatorequals, Right Valuevalid. - Confirm the routing: Email Validity Check outputs to both MadKudu Lead Scoring (true) and Ignore Invalid Email (false).
What's your business email?, the Hunter validation expression will fail.Step 3: Set Up Lead Scoring and Fit Logic
Valid emails are scored by MadKudu and filtered by customer fit.
- Open MadKudu Lead Scoring and set URL to
=https://api.madkudu.com/v1/persons?email={{ $json.email }}. - Set Authentication to
genericCredentialTypeand Generic Auth Type tohttpHeaderAuth. - Credential Required: Connect your httpHeaderAuth credentials.
- Open Assess Fit Threshold and set the condition: Left Value
={{ $json.properties.customer_fit.score }}, Operatorgt, Right Value60. - Confirm the routing: Assess Fit Threshold outputs to both Dispatch Lead Alert (true) and Discard Low Fit Lead (false).
Step 4: Configure Lead Alerts and Drop Paths
High-fit leads trigger an email alert, while low-fit and invalid leads are safely ignored.
- Open Dispatch Lead Alert and set Send To to
[YOUR_EMAIL]. - Set Subject to
=⭐ Hot lead alert: {{ $json.properties.first_name }} {{ $json.properties.last_name }}. - Set Message to
=Got a hot lead for you {{ $json.properties.first_name }} {{ $json.properties.last_name }} from {{ $json.company.properties.name }} ({{ $json.company.properties.domain }}) based out of {{ $json.company.properties.location.state }}, {{ $json.company.properties.location.country }}. {{ $('MadKudu Lead Scoring').item.json.properties.customer_fit.top_signals_formatted }}. - Set Email Type to
text. - Credential Required: Connect your gmailOAuth2 credentials.
- Leave Ignore Invalid Email and Discard Low Fit Lead as-is; they are intentional no-op endpoints for safe termination.
Step 5: Test and Activate Your Workflow
Verify the end-to-end flow before enabling it in production.
- Click Test Workflow in n8n and submit a form entry using a real business email.
- Confirm Validate Email via Hunter returns
validand that Email Validity Check routes to MadKudu Lead Scoring. - Verify Assess Fit Threshold routes high scores to Dispatch Lead Alert and low scores to Discard Low Fit Lead.
- Check your inbox for the formatted alert from Dispatch Lead Alert containing the MadKudu signals.
- When successful, switch the workflow to Active to accept live submissions.
Common Gotchas
- Hunter credentials can expire or be missing permissions. If validation suddenly stops, check your Hunter API key status in your Hunter dashboard first.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- MadKudu scoring depends on the fields you send. If you don’t pass company domain (or it’s messy), your scores can look “off,” so verify the mapped fields in the HTTP Request node.
Frequently Asked Questions
About 30 minutes if your Hunter, MadKudu, and Gmail accounts are ready.
No. You’ll connect accounts and map a few fields from your form. The “If” checks are point-and-click.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Hunter and MadKudu subscription/API costs.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, and it’s the main thing people change. Update the fit threshold in the Assess Fit Threshold “If” node, and (if you want) tighten the rules by checking a MadKudu field like employee count or segment. You can also adjust what gets sent in the Gmail alert by editing the mapped fields before the Dispatch Lead Alert node.
Usually it’s an expired or replaced API key in Hunter. Regenerate the key in Hunter, then update the credential in n8n and re-test the workflow. If it still fails, check if your Hunter plan allows the verification endpoint you’re calling, and watch for rate limits if you’re processing lots of leads in a short burst.
A lot.
Often, yes, if your qualification logic is more than “if field exists, send email.” n8n makes it easy to chain multiple checks (Hunter validity, MadKudu score, extra conditions) without paying extra for every branch. Self-hosting also removes execution caps, which is nice once volume grows. Zapier or Make can be faster to set up for simple two-step alerts, though. If you’re torn, Talk to an automation expert and you’ll get a straight recommendation based on your lead flow.
Once this is live, your inbox becomes a queue of real opportunities, not a dumping ground. Set it up once, tune the threshold, and get back to the work that actually moves revenue.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.