Opening Problem Statement
Meet Lisa, a sales manager at a growing SaaS company. Every day, Lisa gets dozens of “Contact Us” form submissions from potential clients. But most are low quality or invalid emails, wasting her team’s precious hours. Sometimes, bad email data leads to lost opportunities or wasted outreach resources. Lisa wants a way to quickly identify and prioritize only the most promising leads and notify her team instantly when a high-value contact appears.
This used to mean manually checking each submitted email for validity and doing deep lead qualification research—tedious, error-prone, and time-consuming work costing her team at least 4 hours a day. If only there were an automated system that could validate, score, and route these leads immediately.
What This Automation Does
Using this n8n workflow, once a user submits an email through a web form, the workflow automatically:
- Validates the email address using the Hunter API to ensure it’s real and deliverable.
- Scores the lead with MadKudu based on firmographic and behavioral data for sales prioritization.
- Filters out low-quality or invalid leads early to save unnecessary work.
- Sends a Telegram notification instantly for leads scoring above 60, highlighting the key signals that make the lead valuable.
- Handles invalid or low-score leads gracefully by doing nothing or marking them as not interesting, preventing noise in communications.
This workflow can save Lisa and her team hours each day, letting them focus exclusively on the leads that matter most and respond instantly to high-potential clients.
Prerequisites ⚙️
- n8n account (cloud or self-hosted) 🔌
- Hunter API credentials for email verification 🔐
- MadKudu API credentials for lead scoring 🔐
- Telegram bot token and chat ID for notifications 💬
- A web form to collect emails; can be n8n Form Trigger or any form service integrated with webhooks 📧
If you want to self-host n8n for full control and privacy, platforms like Hostinger offer straightforward deployment options.
Step-by-Step Guide
Step 1: Create the Form Trigger Node
In n8n, click + Add node → search for Form Trigger → add it to your workflow.
Set the path parameter to a unique string (e.g., 0bf8840f-1cc4-46a9-86af-a3fa8da80608) so your webhook URL is unique.
Add a form field labeled What's your business email? and a description like “We’ll get back to you soon”.
Save and activate the node, then copy its webhook URL. This is the URL your web form will submit to.
Common mistake: Forgetting to set a unique path causes webhook conflicts.
Step 2: Add the Hunter Email Verification Node
Add an Hunter node and connect it to the form trigger’s output.
In the node settings, map the email parameter to {{ $json['What's your business email?'] }}.
This node will verify if the email is deliverable, has valid MX records, and is not disposable.
Expected output: JSON data with the email’s validation status.
Common mistake: Not entering correct Hunter credentials or API limits exceeded.
Step 3: Add an IF Node to Check Email Validity
Add an IF node after Hunter to check if the status field equals valid.
If the email is invalid, route to the NoOp node to do nothing.
Valid emails proceed to the MadKudu lead scoring.
Step 4: Add MadKudu HTTP Request Node for Lead Scoring
Add an HTTP Request node next, set method to GET, and set the URL to https://api.madkudu.com/v1/persons?email={{ $json.email }}.
Set the authentication to HTTP Header Auth and supply your MadKudu API token in the headers.
This node pulls firmographic and lead scoring data based on the email.
Common mistake: Forgetting to authenticate or misformatting the URL.
Step 5: Add an IF Node to Filter by Lead Quality
Add another IF node to check if properties.customer_fit.score is greater than 60.
Leads scoring above this threshold continue to notification; others go to NoOp (“Not interesting enough”).
Step 6: Add Telegram Node to Send Notification
Add a Telegram node connected to the IF node’s true path.
Fill in the chat ID and compose a message like: ⭐ New hot lead: {{ $json.email }}... {{ $json.properties.customer_fit.top_signals_formatted }}.
This allows your team to instantly see valuable lead info in Telegram.
Step 7: Add NoOp Nodes to Handle Non-qualifying Leads
Add NoOp nodes for the false branches where emails are invalid or leads don’t meet scoring criteria.
This keeps the workflow clean and prevents unnecessary notifications.
Customizations ✏️
- Replace Form Trigger with another form tool: Switch to Typeform or Google Forms by replacing the Form Trigger node with a webhook listener for those services.
- Adjust the lead score threshold: In the second IF node, change the number 60 to any value that fits your lead qualification criteria.
- Modify Telegram message content: Customize the message template in the Telegram node to include additional lead info or format it differently.
- Add more fields to the form: Expand the form trigger fields to collect company size or industry and use MadKudu’s deeper scoring signals accordingly.
- Log leads to a Google Sheet: Add a Google Sheets node to record all qualified leads automatically for tracking and CRM import.
Troubleshooting 🔧
Problem: “Status is not valid” from the IF Node
Cause: The Hunter API returned a different status, possibly due to a temporary service error or invalid email format.
Solution: Check your API key, ensure the email field is passed correctly, and test with real email addresses.
Problem: “HTTP Request failed with 401 Unauthorized” for MadKudu
Cause: Wrong or expired MadKudu API token.
Solution: Update credentials under your n8n HTTP Request node with a valid MadKudu API key.
Problem: Telegram notifications not arriving
Cause: Incorrect chat ID or bot token in the Telegram node.
Solution: Verify you’ve copied the Telegram chat ID correctly and that your bot token has permission to send messages to that chat.
Pre-Production Checklist ✅
- Test form submission with both valid and invalid emails.
- Verify Hunter API returns “valid” status for correct emails.
- Confirm MadKudu returns lead scoring data with expected fields.
- Check Telegram messages appear in the correct chat.
- Backup credentials and workflow before activating production.
Deployment Guide
Activate the workflow by toggling it on in the n8n editor top-right corner.
Use the provided Form Trigger webhook URL in your live contact form.
Monitor runs via n8n’s execution logs to catch any errors or connection failures.
FAQs
Can I use another email verification service instead of Hunter?
Yes, you can replace the Hunter node with any other email verification API by using an HTTP Request node to call that service.
Does this workflow consume API credits for Hunter and MadKudu?
Yes, each email verification and lead scoring call counts as an API request—plan accordingly based on your form submission volume.
Is my lead data secure?
Data is processed within your n8n environment using API credentials you control. Consider self-hosting for added security.
Can this workflow handle bulk lead submissions?
This workflow is designed for one lead at a time via form submissions. For bulk leads, consider batch processing and rate limits of the APIs.
Conclusion
By following this guide, you’ve built an automated lead qualification system with n8n that validates emails, scores leads using MadKudu, and notifies your team through Telegram only when a lead is truly promising. This cuts down wasted effort dramatically—potentially saving your sales team hours each week.
From here, you can expand this system by integrating CRM updates, adding richer lead data points, or customizing notifications to multiple channels.
With automation like this, Lisa’s team can focus on closing deals instead of chasing unqualified leads—making smarter contacts faster.
Thanks for reading and happy automating!