> ## Documentation Index
> Fetch the complete documentation index at: https://docs.topcalls.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Lead Qualification & Follow-ups

> Qualify inbound and warm leads with AI agents that schedule follow-ups and route qualified prospects to your sales team. For consented contacts only.

## Overview

TopCalls automates lead qualification and follow-up calls for consented contacts. AI agents handle initial conversations, qualify interest, and route qualified prospects to your sales team.

<CardGroup cols={2}>
  <Card title="Qualify Leads Faster" icon="filter">
    Automatically qualify inbound and warm leads before they reach your sales team. Focus on high-intent prospects.
  </Card>

  <Card title="Book Meetings" icon="calendar">
    AI agents book meetings directly into your calendar. No back-and-forth emails.
  </Card>

  <Card title="Scale Without Hiring" icon="arrow-up-right">
    Handle more qualification calls without adding headcount.
  </Card>

  <Card title="Compliance Built In" icon="shield-check">
    Compliance tooling to help honor local calling laws (TCPA/TSR/DNC). For consented contacts only.
  </Card>
</CardGroup>

## How It Works

<Steps>
  <Step title="1. Consented Lead List">
    Upload your lead list with contact info and consent verification. All contacts must have opted in or have an existing business relationship where required.
  </Step>

  <Step title="2. AI Qualification Calls">
    Your AI agent calls each lead, introduces your product, and qualifies interest while respecting opt-out requests.
  </Step>

  <Step title="3. Qualification">
    AI asks qualifying questions and determines fit.
  </Step>

  <Step title="4. Next Steps">
    Qualified leads: Book a demo or schedule a follow-up.
    Not interested: Thank them and end gracefully.
    Opt-out requested: Immediately honor the request.
  </Step>

  <Step title="5. CRM Integration">
    All interactions are logged with call recordings and transcripts via webhooks.
  </Step>
</Steps>

## Example Implementation

<Warning>
  **Compliance Notice**: This use case is for consented contacts only. Ensure all contacts have opted in or have an existing business relationship. Always honor opt-out requests immediately. Customers are responsible for compliance with local calling laws.
</Warning>

### Create a Qualification Call

```json theme={null}
{
  "phone_number": "+14155551234",
  "instructions": "You are Alex, a sales development representative. Your goal is to qualify {{company_name}} as a potential customer and book a demo if they're interested. Be friendly, professional, and consultative. Ask about their current solution and pain points. If not interested, thank them and end gracefully. If they request to be removed from the call list, immediately honor that request.",
  "first_sentence": "Hi {{name}}, this is Alex from our team. I'm reaching out because {{company_name}} might benefit from our platform.",
  "voice": "alloy",
  "mode": "realtime",
  "temperature": 0.8,
  "lead_context": {
    "name": "John Smith",
    "company_name": "Acme Corp",
    "title": "VP of Operations"
  },
  "webhook_url": "https://your-app.com/webhooks/sales"
}
```

### Handle Webhooks

```javascript theme={null}
app.post('/webhooks/sales', async (req, res) => {
  res.status(200).json({ received: true });

  const call = req.body;

  await crm.updateLead(call.metadata.lead_id, {
    lastCallDate: call.end_at,
    callDuration: call.duration,
    callOutcome: call.call_summary,
    recordingUrl: call.recording_url,
    transcript: call.transcript
  });

  const isQualified = call.call_summary.includes('interested') ||
                     call.call_summary.includes('demo scheduled');

  if (isQualified) {
    await crm.updateLeadStatus(call.metadata.lead_id, 'qualified');
    await notifySalesTeam(call);
  }
});
```

## Best Practices

### Do This

* **Verify consent**: Only call contacts who have opted in where required
* **Honor opt-outs**: Immediately remove contacts who request it
* **Personalize**: Use company name, contact name, and relevant context
* **Be consultative**: Focus on solving problems, not hard selling
* **Book meetings**: Make it easy to schedule next steps
* **Document compliance**: Maintain records of consent and opt-out requests

### Avoid This

* **Call without consent**: Never call contacts who haven't opted in where required
* **Ignore opt-outs**: Always honor do-not-call requests immediately
* **Be pushy**: Don't pressure uninterested leads
* **Skip qualification**: Always qualify before booking meetings

## Next Steps

<CardGroup cols={2}>
  <Card title="Campaign Management" icon="bullhorn" href="/concepts/campaigns">
    Scale your outreach with campaigns.
  </Card>

  <Card title="Function Calling" icon="screwdriver-wrench" href="/guides/function-calling">
    Integrate with your CRM and calendar systems.
  </Card>
</CardGroup>
