Skip to main content

What you’ll build

A workflow that takes new leads and enriches them with company information, AI-generated insights, and scoring — all automatically saved to your CRM. Time to build: 20 minutes Nodes used: HubSpot, Web Scraper, LLM, HubSpot Update

The problem

Raw leads lack context for effective outreach:
  • Only have email and name
  • Don’t know company size, industry, or role
  • Can’t prioritize leads effectively
  • Sales team wastes time on research
This workflow enriches every lead automatically.

Workflow overview

Step-by-step guide

Step 1: Set up the trigger

This workflow can be triggered by:
  • Manual: Run with a list of leads
  • Webhook: Trigger on new CRM entry
  • Scheduled: Process new leads daily
For this guide, we’ll use a Google Sheet of new leads.

Step 2: Create the workflow

  1. Click New Workflow
  2. Name it “Lead Enrichment”

Step 3: Fetch new leads

1

Add Google Sheets Reader

Configure:
  • Spreadsheet ID: Your leads sheet
  • Range: NewLeads!A:C
Columns: Name, Email, Company (optional)

Step 4: Loop and extract company domain

1

Add Loop node

Configure:
  • Items: {{data}}
2

Extract domain from email

Add an LLM node to extract the company domain:
Extract the company website from this email: {{Loop_0.currentItem.email}}

Rules:
- If email is [email protected], website is https://acme.com
- If it's a personal email (gmail, yahoo, etc.), return "personal"

Return only the URL or "personal".

Step 5: Scrape company website

1

Add Conditional node

Skip personal emails:
  • Condition: {{response}} does not equal “personal”
2

Add Web Scraper node

Configure:
  • URL: {{response}}
  • Content Type: Article
This extracts:
  • Company description
  • Products/services
  • About page content
  • Recent news/blog posts

Step 6: Analyze and enrich with AI

1

Add LLM node for analysis

Configure:
  • Model: GPT or Claude
  • Instructions:
Analyze this company and enrich the lead profile.

Lead:
- Name: {{name}}
- Email: {{email}}

Company Website Content:
{{content}}

Extract and analyze:
1. Company Name
2. Industry
3. Company Size (estimate from website)
4. Main Products/Services
5. Recent News or Updates
6. Potential Pain Points (based on their industry)
7. Personalization Hooks (specific things to mention in outreach)
8. Lead Score (1-100) based on fit with B2B SaaS companies

Output as JSON:
{
  "company_name": "",
  "industry": "",
  "estimated_size": "",
  "products": "",
  "recent_news": "",
  "pain_points": [],
  "personalization_hooks": [],
  "lead_score": 0,
  "score_reasoning": ""
}

Step 7: Update CRM

1

Add HubSpot Update Company

Configure:
  • Company ID: Find or create by domain
  • Properties:
{
  "industry": "{{industry}}",
  "numberofemployees": "{{estimated_size}}",
  "description": "{{products}}",
  "lead_score": "{{lead_score}}",
  "personalization_notes": "{{personalization_hooks}}"
}

Sample output

Before enrichment

NameEmailCompany
John Smith[email protected]-

After enrichment

FieldValue
NameJohn Smith
Email[email protected]
CompanyAcme Technologies
IndustryB2B SaaS
Size50-100 employees
ProductsProject management software
Lead Score85/100
Personalization”Recently launched new AI features; Growing team in EMEA”

Advanced options

Add LinkedIn enrichment

Enhance with LinkedIn data:

Trigger from CRM webhook

Process leads in real-time:
  1. Set up HubSpot webhook on new contact
  2. Workflow triggers automatically
  3. Lead enriched within seconds of form submission

Route high-value leads

Add automatic routing based on score:
Conditional:
  If lead_score >= 80
    → Notify sales team immediately
    → Create task in CRM
  Else if lead_score >= 50
    → Add to nurture sequence
  Else
    → Mark as low priority

Enrich existing database

Run a batch enrichment on your current CRM:
  1. Export all contacts without enrichment
  2. Process in batches (100 at a time)
  3. Update CRM with enriched data
  4. Flag contacts that need review

Data sources for enrichment

SourceData Available
Company websiteProducts, about, news
LinkedInRole, tenure, connections
CrunchbaseFunding, investors, size
News APIsRecent mentions, PR

Best practices

Handle edge cases

  • Personal emails: Skip or flag for manual review
  • New companies: Less data available, lower confidence
  • International: Adjust for non-English websites

Verify critical data

AI extraction isn’t perfect. For high-value leads:
Conditional:
  If lead_score >= 90 AND estimated_value >= $10,000
    → Flag for human verification

Keep data fresh

Re-enrich periodically:
  • Active opportunities: Weekly
  • Pipeline: Monthly
  • All contacts: Quarterly

Respect rate limits

When enriching large lists:
  • Add delays between API calls
  • Process in batches
  • Run during off-peak hours

Results you can expect

MetricManualWith Draft & Goal
Leads enriched/hour5-10100+
Data completeness40%90%+
Time to first touch24-48 hours< 1 hour
Sales team efficiencyBaseline+30-50%

Next steps