This workflow follows the Form Trigger → HTTP Request recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"nodes": [
{
"id": "d7ba34e4-5f98-4a32-abe7-1ed1a3d30410",
"name": "n8n Form Trigger",
"type": "n8n-nodes-base.formTrigger",
"position": [
-800,
840
],
"parameters": {
"path": "0bf8840f-1cc4-46a9-86af-a3fa8da80608",
"options": {},
"formTitle": "Contact us",
"formFields": {
"values": [
{
"fieldLabel": "What's your business email?"
}
]
},
"formDescription": "We'll get back to you soon"
},
"typeVersion": 2
},
{
"id": "4e91bf1d-ff5b-4a5c-805e-08c930e8dbe9",
"name": "Check if the email is valid",
"type": "n8n-nodes-base.if",
"position": [
-380,
840
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "54d84c8a-63ee-40ed-8fb2-301fff0194ba",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "valid"
}
]
}
},
"typeVersion": 2
},
{
"id": "d27ef50a-a80d-4f27-bd94-0c354f71fad1",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-800,
620
],
"parameters": {
"color": 5,
"width": 545.9804141018467,
"height": 183.48964745383324,
"content": "### \ud83d\udc68\u200d\ud83c\udfa4 Setup\n1. Add you **MadKudu**, **Hunter**, and **Telegram** credentials \n2. Set the chat id in Telegram\n3. Click the Test Workflow button, enter your email and check your Telegram chat\n4. Activate the workflow and use the form trigger production URL to collect your leads in a smart way "
},
"typeVersion": 1
},
{
"id": "ba0f2f9f-c95f-43a2-9f79-1f6b15f3cd5f",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-800,
980
],
"parameters": {
"color": 7,
"width": 162,
"height": 139,
"content": "\ud83d\udc46 You can exchange this with any form you like (*e.g. Typeform, Google forms, Survey Monkey...*)"
},
"typeVersion": 1
},
{
"id": "e74306a7-f430-4d00-80e1-3dd13ccd456a",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
180,
900
],
"parameters": {
"color": 7,
"width": 162,
"height": 84,
"content": "\ud83d\udc46 Adjust the fit as you see necessary"
},
"typeVersion": 1
},
{
"id": "a1c972d5-1455-48d8-9f6d-053147db5db2",
"name": "Email is not valid, do nothing",
"type": "n8n-nodes-base.noOp",
"position": [
-40,
980
],
"parameters": {},
"typeVersion": 1
},
{
"id": "84f0521d-38e8-4ef4-b590-5ef6d06ebfa2",
"name": "Score lead with MadKudu",
"type": "n8n-nodes-base.httpRequest",
"position": [
-40,
740
],
"parameters": {
"url": "=https://api.madkudu.com/v1/persons?email={{ $json.email }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"typeVersion": 4.1
},
{
"id": "f9553935-ca49-43d5-b3a5-d469edac5e83",
"name": "Verify email with Hunter",
"type": "n8n-nodes-base.hunter",
"position": [
-580,
840
],
"parameters": {
"email": "={{ $json['What\\'s your business email?'] }}",
"operation": "emailVerifier"
},
"typeVersion": 1
},
{
"id": "4f3de033-8936-44f0-9a07-e21f98f6811b",
"name": "Not interesting enough",
"type": "n8n-nodes-base.noOp",
"position": [
520,
880
],
"parameters": {},
"typeVersion": 1
},
{
"id": "f6b6829a-7bc7-4145-8933-db1ce965c1c9",
"name": "if customer fit score > 60",
"type": "n8n-nodes-base.if",
"position": [
200,
740
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "c23d7b34-a4ae-421f-bd7a-6a3ebb05aafe",
"operator": {
"type": "number",
"operation": "gt"
},
"leftValue": "={{ $json.properties.customer_fit.score }}",
"rightValue": 60
}
]
}
},
"typeVersion": 2
},
{
"id": "7e739bf6-1786-49b4-80d3-eeef406d7a6e",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
460,
460
],
"parameters": {
"color": 7,
"width": 162,
"height": 84,
"content": "\ud83d\udc47\ud83c\udffd Update the chat id to send to"
},
"typeVersion": 1
},
{
"id": "fd0e1600-b1d9-4829-a86b-2cccc6a565f2",
"name": "Telegram",
"type": "n8n-nodes-base.telegram",
"position": [
500,
560
],
"parameters": {
"text": "=\u2b50 New hot lead: {{ $json.email }}... \n\n{{ $json.properties.customer_fit.top_signals_formatted }}",
"chatId": "1688282582",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.1
}
],
"connections": {
"n8n Form Trigger": {
"main": [
[
{
"node": "Verify email with Hunter",
"type": "main",
"index": 0
}
]
]
},
"Score lead with MadKudu": {
"main": [
[
{
"node": "if customer fit score > 60",
"type": "main",
"index": 0
}
]
]
},
"Verify email with Hunter": {
"main": [
[
{
"node": "Check if the email is valid",
"type": "main",
"index": 0
}
]
]
},
"if customer fit score > 60": {
"main": [
[
{
"node": "Telegram",
"type": "main",
"index": 0
}
],
[
{
"node": "Not interesting enough",
"type": "main",
"index": 0
}
]
]
},
"Check if the email is valid": {
"main": [
[
{
"node": "Score lead with MadKudu",
"type": "main",
"index": 0
}
],
[
{
"node": "Email is not valid, do nothing",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
telegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
How this works
This workflow empowers sales and marketing teams to effortlessly verify and enrich leads by checking email validity directly from Telegram messages, saving hours of manual outreach to dead ends. It processes incoming leads via a form trigger, automatically validates the email using Hunter's verification service, and scores the lead's potential with MadKudu to prioritise high-value prospects. The key step hinges on the Hunter integration, which confirms email deliverability before any further actions, ensuring your team focuses on genuine opportunities.
Use this workflow when handling Telegram-sourced leads in real-time, such as during live events or chat campaigns, to maintain a clean pipeline without overwhelming your CRM. Avoid it for bulk imports exceeding thousands of emails, where dedicated batch tools like Hunter's API dashboard perform better. Common variations include adding a Slack notification for high-scoring leads or integrating with Google Sheets to log verified contacts automatically.
About this workflow
Telegram Hunter. Uses formTrigger, stickyNote, noOp, httpRequest. Event-driven trigger; 12 nodes.
Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Automatically transform any website URL into a complete portfolio entry with professional screenshots and AI-generated Upwork project descriptions. Freelancers building their Upwork/portfolio from pas
This n8n workflow enables a Virtual Try-On experience where users upload a dress image and the system: Combines it with a fashion model image Generates a realistic try-on image* Generates a fashion wa
Generate cinematic AI videos for social media, marketing campaigns, product demos, or creative projects. The workflow handles both text-to-video and image-to-video generation with automatic status pol
Who’s it for? 👥
An automated n8n workflow that scrapes financial data from Yahoo Finance using Bright Data, processes market cap information, generates visual charts, and sends comprehensive financial insights direct