> ## 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.

# Customer Support

> Handle common support inquiries around the clock with AI agents. Escalate complex issues to human agents when needed.

## Overview

TopCalls enables customer support with AI agents that handle common inquiries, troubleshoot issues, and escalate complex problems to human agents when needed.

<CardGroup cols={2}>
  <Card title="Always Available" icon="clock">
    Support customers anytime. No more "business hours only" limitations.
  </Card>

  <Card title="Instant Response" icon="bolt">
    Customers get immediate answers. No waiting on hold or for email responses.
  </Card>

  <Card title="Scalable" icon="arrow-up-right">
    Handle more inquiries simultaneously without growing your support team.
  </Card>

  <Card title="Smart Escalation" icon="arrow-up">
    AI handles common issues, humans handle complex problems. Clean handoffs every time.
  </Card>
</CardGroup>

## How It Works

<Steps>
  <Step title="1. Customer Calls">
    Customer calls your support number. AI agent answers immediately.
  </Step>

  <Step title="2. Identify Issue">
    AI listens to the customer's problem and identifies the issue type.
  </Step>

  <Step title="3. Provide Solution">
    AI provides solutions from its knowledge base or troubleshoots step-by-step.
  </Step>

  <Step title="4. Escalate if Needed">
    If the issue is too complex, AI transfers to a human agent with full context.
  </Step>

  <Step title="5. Follow Up">
    After resolution, AI can follow up to confirm the issue is resolved.
  </Step>
</Steps>

## Example Implementation

### Create a Support Agent

```json theme={null}
{
  "phone_number": "+14155551234",
  "instructions": "You are a customer support agent. Your goal is to help customers with their questions and issues. Be friendly, patient, and solution-oriented. Use the knowledge base to answer questions accurately. If you can't solve the issue, let the customer know you'll escalate to a specialist. Always confirm the issue is resolved before ending the call.",
  "first_sentence": "Hi, thanks for calling. How can I help you today?",
  "voice": "alloy",
  "mode": "realtime",
  "campaign_id": "0c4f4b9e-8b0a-4f57-9d3e-2f1a7c9d1234",
  "webhook_url": "https://your-app.com/webhooks/support"
}
```

<Note>
  Knowledge bases attach to campaigns in the dashboard. Pass `campaign_id` on the call and the agent gets that campaign's knowledge base as context. See the [Knowledge Bases guide](/guides/knowledge-bases).
</Note>

### Handle Support Webhooks

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

  const call = req.body;

  await supportSystem.logInteraction({
    customerPhone: call.phone_number,
    issue: call.call_summary,
    resolved: call.call_summary.includes('resolved'),
    duration: call.duration,
    transcript: call.transcript,
    recordingUrl: call.recording_url
  });

  if (!call.call_summary.includes('resolved')) {
    await sendFollowUpEmail(call.phone_number, call.call_summary);
  }
});
```

## Common Support Scenarios

### Account Issues

* Password resets
* Account access problems
* Billing questions
* Subscription changes

### Product Questions

* Feature usage
* Troubleshooting
* Setup assistance

### Order Support

* Order status
* Shipping questions
* Returns and refunds

## Best Practices

### Do This

* **Build a knowledge base**: Cover all common issues in your knowledge base
* **Define escalation criteria**: Set clear rules for when to transfer to humans
* **Friendly tone**: Be patient and empathetic
* **Confirm resolution**: Always verify the issue is solved before ending the call
* **Follow up**: Send email summaries for complex issues
* **Track metrics**: Monitor resolution rates and escalation rates

### Avoid This

* **Over-promise**: Don't promise things you can't deliver
* **Skip escalation**: Transfer complex issues to humans
* **Rush**: Take time to understand the problem fully
* **Ignore context**: Use customer account data when available

## Next Steps

<CardGroup cols={2}>
  <Card title="Knowledge Bases" icon="book" href="/guides/knowledge-bases">
    Create knowledge bases for your support agents.
  </Card>

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