This Lead Qualification and Nurturing Agent automatically processes incoming leads through a sophisticated qualification pipeline, enriching their data and routing them to appropriate follow-up workflows. The agent captures leads via webhook, validates their information using Hunter.io email verification and Abstract API company enrichment, scores them based on custom logic, and intelligently segments them into qualified or nurture tracks within HubSpot—all while logging activity to Google Sheets and alerting your team via Slack.
Key benefits and time savings:
Target use cases:
This agent is ideal for sales and marketing teams who want to:
You'll benefit most if you're currently manually reviewing leads, using spreadsheets to track qualification status, or losing qualified leads due to slow response times.
Why it's needed: HubSpot serves as your central CRM repository, storing qualified and nurture contacts with their enriched data and scoring information for downstream sales and marketing workflows.
Setup steps:
TaskAGI Lead Agent
crm.objects.contacts.read
crm.objects.contacts.write
Configuration in TaskAGI: Store your HubSpot Private App Token as {{HUBSPOT_API_KEY}} in your workflow environment variables.
Why it's needed: Hunter.io verifies email addresses in real-time, ensuring you're only creating contacts with valid, deliverable email addresses and reducing bounce rates.
Setup steps:
https://api.hunter.io/v2
domain={{lead_domain}}&email={{lead_email}}&domain_search=true
Configuration in TaskAGI: Store your Hunter.io API key as {{HUNTER_API_KEY}}. The "Verify Email" node will use this to validate each lead's email address before proceeding.
Why it's needed: Abstract API enriches company information (industry, employee count, location) automatically, giving your sales team context without manual research.
Setup steps:
https://companyenrich.abstractapi.com/v1
api_key={{ABSTRACT_API_KEY}}&domain={{company_domain}}
Configuration in TaskAGI: Store your Abstract API key as {{ABSTRACT_API_KEY}}. The "Enrich Company" node will use this to pull company details for lead scoring context.
Why it's needed: Slack notifications alert your sales team immediately when qualified leads enter the pipeline, enabling faster response times and competitive advantage.
Setup steps:
TaskAGI Alerts
chat:write
chat:write.public
#sales-leads)Configuration in TaskAGI: Store your Slack Bot Token as {{SLACK_BOT_TOKEN}} and set your channel as {{SLACK_CHANNEL}}.
Why it's needed: Google Sheets provides a searchable, shareable audit log of all lead processing activity for compliance, analysis, and team transparency.
Setup steps:
Timestamp, Lead Name, Email, Company, Lead Score, Status, Notes
{{GOOGLE_SHEET_URL}}
Configuration in TaskAGI: Store your sheet URL as {{GOOGLE_SHEET_URL}} in environment variables. The "Log to Google Sheets" node will append a row after each lead is processed.
The workflow starts with a Webhook Trigger that receives incoming lead data.
Configuration:
{
"first_name": "John",
"last_name": "Doe",
"email": "john@acmecorp.com",
"company_name": "Acme Corp",
"company_domain": "acmecorp.com",
"phone": "555-0123"
}
The Extract Lead Data function normalizes incoming webhook data.
Configuration:
{{lead_first_name}} ← first_name
{{lead_email}} ← email
{{lead_company}} ← company_name
{{lead_domain}} ← company_domain
The Verify Email HTTP request validates email deliverability.
Configuration:
GET
https://api.hunter.io/v2/email-verifier?domain={{lead_domain}}&email={{lead_email}}&api_key={{HUNTER_API_KEY}}
{{hunter_result}}
result field: valid, invalid, or unknown
The Enrich Company HTTP request pulls company intelligence.
Configuration:
GET
https://companyenrich.abstractapi.com/v1?domain={{lead_domain}}&api_key={{ABSTRACT_API_KEY}}
{{company_data}}
industry, employees, founded_year, location
The Lead Scoring Logic function calculates a qualification score (0-100).
Scoring criteria example:
Configuration:
{{hunter_result}}, {{company_data}}, and lead fields{{lead_score}} (numeric value 0-100)The Check Lead Score if-condition routes leads based on their score.
Configuration:
{{lead_score}} >= 70
Both HubSpot contact creation nodes use the same structure with different properties.
Qualified Contact configuration:
{{lead_email}}
{{lead_first_name}}
{{lead_last_name}}
{{lead_company}}
{{lead_phone}}
Qualified
{{lead_score}}
{{company_data.industry}}
Nurture Contact configuration:
Nurture
The Wait for Follow-up node pauses for 7 days, then Recheck HubSpot Nurture Leads queries for leads ready for re-engagement.
Configuration:
7 days
Send Slack Alert and Log to Google Sheets execute in parallel after processing.
Slack message example:
🎯 New Qualified Lead!
Name: John Doe
Company: Acme Corp
Score: 85/100
Email: john@acmecorp.com
Google Sheets appends: timestamp, lead name, email, company, score, status, and any notes.
Send a test webhook request:
curl -X POST https://your-webhook-url \
-H "Content-Type: application/json" \
-d '{"first_name":"Jane","last_name":"Smith","email":"jane@testcorp.com","company_name":"Test Corp","company_domain":"testcorp.com","phone":"555-9999"}'
Monitor execution:
Qualified lead (score ≥70):
Nurture lead (score <70):
Success indicators:
Your lead qualification agent is now ready to scale your sales pipeline! 🚀