The average sales rep spends 21% of their day writing emails. Most of those are follow-ups that could be automated—if done intelligently.

This guide shows you how to build an AI-powered follow-up system that:

  • Qualifies leads automatically
  • Personalizes responses based on context
  • Escalates hot leads to humans
  • Handles the 80% that don’t need human attention

The System Architecture

[New Lead] → [AI Qualification] → [Route by Score]

                 ┌──────────────────────┼──────────────────────┐
                 ↓                      ↓                      ↓
         [High Score]           [Medium Score]          [Low Score]
              ↓                      ↓                      ↓
     [Slack Alert +         [Personalized            [Generic
      Calendar Invite]       Email Sequence]          Resources]

Prerequisites

  • n8n instance (cloud or self-hosted)
  • Anthropic API key (for Claude)
  • Email service (Gmail, SMTP, or email platform)
  • CRM or database for leads (optional)

Step 1: Capture Incoming Leads

Start with a webhook to receive lead data:

{
  "name": "Sarah Chen",
  "email": "sarah@techstartup.io",
  "company": "TechStartup Inc",
  "message": "We're looking to automate our customer onboarding. Currently takes 2 hours per customer and we're scaling to 100+ customers/month. Need a solution ASAP.",
  "source": "contact_form"
}

n8n Webhook Node Settings

  • HTTP Method: POST
  • Path: /lead-intake
  • Response Mode: When Last Node Finishes

Step 2: AI Lead Qualification

This is where Claude analyzes the lead and assigns a score.

Anthropic Node Configuration

System Prompt:

You are a lead qualification assistant. Analyze incoming leads and return a JSON response with:
- score (0-100): likelihood of becoming a paying customer
- priority (high/medium/low): urgency level
- reasoning: brief explanation of the score
- suggested_response_tone: formal/casual/technical
- key_points: array of important details to address

Consider:
- Budget signals (mentioning scale, urgency, specific numbers)
- Company size indicators
- Problem clarity (do they know what they need?)
- Timeline urgency
- Fit with automation services

User Message:

Qualify this lead:
Name: {{ $json.name }}
Company: {{ $json.company }}
Message: {{ $json.message }}
Source: {{ $json.source }}

Response Format: JSON

Sample AI Response

{
  "score": 85,
  "priority": "high",
  "reasoning": "Clear problem statement with quantified pain (2 hrs/customer), scaling urgency (100+/month), and explicit timeline need ('ASAP'). Strong buying signals.",
  "suggested_response_tone": "professional but warm",
  "key_points": [
    "acknowledge the onboarding pain point",
    "mention experience with customer onboarding automation",
    "offer specific time savings estimate",
    "suggest a quick call given urgency"
  ]
}

Step 3: Route by Score

Use an IF node to branch based on score:

Branch 1: score >= 70 (High Priority)
Branch 2: score >= 40 AND score < 70 (Medium)
Branch 3: score < 40 (Low Priority)

Step 4: High-Priority Path

For hot leads, we want immediate human involvement plus a personalized touch.

4a: Send Slack Alert

🔥 *High-Value Lead Alert*

*Name:* {{ $json.name }}
*Company:* {{ $json.company }}
*Score:* {{ $('AI Qualification').item.json.score }}/100

*Why they're hot:*
{{ $('AI Qualification').item.json.reasoning }}

*Key points to address:*
{{ $('AI Qualification').item.json.key_points.join('\n• ') }}

<{{ $json.email }}|Send Email> | <calendar_link|Book Call>

4b: Generate Personalized Email Draft

Another Claude call, but for email generation:

System Prompt:

You are writing a follow-up email for an automation consultant. Write warm, helpful emails that:
- Acknowledge their specific situation
- Show relevant experience
- Propose a clear next step
- Keep it under 150 words
- Sound human, not templated

User Message:

Write a follow-up email for:
Name: {{ $json.name }}
Company: {{ $json.company }}
Their message: {{ $json.message }}
Tone: {{ $('AI Qualification').item.json.suggested_response_tone }}
Key points to address: {{ $('AI Qualification').item.json.key_points.join(', ') }}

4c: Save Draft for Review

Don’t auto-send high-value leads. Save as draft for human review:

// Gmail: Create Draft
{
  "to": $json.email,
  "subject": "Re: Automating your customer onboarding",
  "body": $('Generate Email').item.json.email_content
}

Step 5: Medium-Priority Path

These leads get automated sequences with personalization.

5a: Add to Email Sequence

If you use a platform like ConvertKit, Customer.io, or your own system:

// Add to automated sequence
{
  "email": $json.email,
  "sequence_id": "lead_nurture_medium",
  "custom_fields": {
    "first_name": $json.name.split(' ')[0],
    "company": $json.company,
    "pain_point": $('AI Qualification').item.json.key_points[0]
  }
}

5b: Personalized First Email

Send immediately with AI personalization:

Subject: Quick question about {{ $json.company }}

Hi {{ $json.name.split(' ')[0] }},

Thanks for reaching out about {{ $('AI Qualification').item.json.key_points[0] }}.

I work with companies like yours to automate workflows and eliminate manual work. Based on what you shared, there might be a few quick wins we could explore.

Would a 15-minute call this week be helpful? I can share some relevant examples.

Best,
[Your name]

Step 6: Low-Priority Path

Automated but still helpful:

Subject: Resources for your automation journey

Hi {{ $json.name.split(' ')[0] }},

Thanks for your interest in automation.

Here are some resources that might help:
• [Guide to Getting Started with Automation]
• [ROI Calculator for Automation Projects]
• [Common Automation Mistakes to Avoid]

If your needs become more urgent, just reply to this email.

Best,
[Your name]

Step 7: Log Everything

Every lead should be logged for analysis:

// Google Sheets or Database
{
  "timestamp": $now.toISO(),
  "name": $json.name,
  "email": $json.email,
  "company": $json.company,
  "score": $('AI Qualification').item.json.score,
  "priority": $('AI Qualification').item.json.priority,
  "path_taken": "high_priority",
  "response_status": "draft_created"
}

Complete Workflow JSON

Here’s the exportable n8n workflow. Import this directly:

{
  "name": "AI Lead Follow-Up System",
  "nodes": [
    {
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "parameters": {
        "httpMethod": "POST",
        "path": "lead-intake",
        "responseMode": "onReceived"
      }
    },
    {
      "name": "AI Qualification",
      "type": "@n8n/n8n-nodes-langchain.anthropicChat",
      "parameters": {
        "model": "claude-3-5-sonnet-20241022",
        "systemMessage": "[System prompt from above]",
        "messages": "[User message from above]"
      }
    }
  ]
}

Full workflow available in my n8n templates repository.

Measuring Success

Track these metrics weekly:

MetricTarget
Lead response time< 5 min (automated)
High-priority accuracy> 80% become calls
Email open rate> 40%
Time saved per lead15-20 min

Common Issues & Fixes

AI Scoring Too High/Low

Adjust the system prompt with examples:

Example high score (85+): "We need to automate ASAP, budget approved"
Example low score (<30): "Just exploring options for someday"

Emails Sound Robotic

Add more context to the generation prompt. Include:

  • Your typical writing style examples
  • Specific phrases you use
  • Topics to avoid

Too Many Slack Alerts

Raise the high-priority threshold or add cooldown logic.


Want this workflow customized for your business? Book a free consultation.