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

# Appointment Management

> Automate appointment confirmations, rescheduling, and reminders with AI-powered phone calls.

## Overview

Appointment reminders are one of the most common use cases for AI voice agents. TopCalls automates confirmations, rescheduling, and follow-ups across any industry that books appointments.

<CardGroup cols={2}>
  <Card title="Reduce No-Shows" icon="chart-line-up">
    Automated reminders significantly reduce no-show rates. Phone calls get higher engagement than texts or emails.
  </Card>

  <Card title="Save Staff Time" icon="clock">
    Automate thousands of reminder calls. Your team can focus on in-person work.
  </Card>

  <Card title="Better Experience" icon="user-check">
    Personalized phone calls feel more professional than generic SMS blasts.
  </Card>

  <Card title="Handle Rescheduling" icon="calendar-check">
    AI agents handle rescheduling requests automatically, updating your calendar in real-time.
  </Card>
</CardGroup>

## Works For Any Industry

* **Healthcare**: Medical, dental, therapy, specialist appointments
* **Beauty & Wellness**: Salons, spas, fitness sessions
* **Professional Services**: Legal consultations, financial planning, real estate viewings
* **Automotive**: Service appointments, test drives, inspections
* **Education**: Tutoring sessions, parent-teacher conferences, admissions meetings
* **Home Services**: Plumbing, HVAC, cleaning, pest control

## Example Implementation

### Step 1: Create the Call

```json theme={null}
{
  "phone_number": "+14155551234",
  "from_number": "+18005551234",
  "instructions": "You are Rachel, a friendly appointment coordinator. Your goal is to confirm {{client_name}}'s appointment scheduled for {{appointment_date}} at {{appointment_time}}. Be warm, professional, and concise. If they want to reschedule, ask for their preferred date/time.",
  "first_sentence": "Hi {{client_name}}, this is Rachel calling about your appointment tomorrow at {{appointment_time}}.",
  "voice": "alloy",
  "mode": "realtime",
  "lead_context": {
    "client_name": "John Smith",
    "appointment_date": "2025-12-24",
    "appointment_time": "3:00 PM"
  },
  "webhook_url": "https://your-app.com/webhooks/appointment-reminder"
}
```

### Step 2: Handle the Webhook

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

  const call = req.body;

  if (call.call_summary.includes('confirmed')) {
    await updateAppointmentStatus(call.metadata.appointment_id, 'confirmed');
  } else if (call.call_summary.includes('rescheduled')) {
    // call.analysis is structured data extracted from the transcript when you
    // set analysis_schema on call creation (see /guides/making-calls).
    const newDateTime = call.analysis?.next_appointment_time;
    await rescheduleAppointment(call.metadata.appointment_id, newDateTime);
  } else if (call.call_summary.includes('cancelled')) {
    await cancelAppointment(call.metadata.appointment_id);
  }

  if (call.answered_by === 'voicemail') {
    await sendSMS(call.phone_number, 'We left you a voicemail about your appointment...');
  }
});
```

## Campaign Setup

For high-volume reminders, create a campaign through the TopCalls dashboard with your contact list and schedule. The system processes contacts automatically, respecting timezones and retry logic.

## Best Practices

### Do This

* **Call 24-48 hours before**: Best window for reminders
* **Respect timezones**: Only call during business hours
* **Handle voicemail**: Leave clear messages or send SMS follow-up
* **Enable rescheduling**: Let people reschedule easily
* **Track outcomes**: Monitor confirmation rates and adjust

### Avoid This

* **Call too early**: More than 48 hours in advance is too soon
* **Call too late**: Same-day reminders are too late to reschedule
* **Ignore timezones**: Always respect local business hours
* **No rescheduling option**: Always offer to reschedule

## Next Steps

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Make your first appointment reminder call.
  </Card>

  <Card title="Campaign Management" icon="bullhorn" href="/concepts/campaigns">
    Scale to thousands of reminders with campaigns.
  </Card>
</CardGroup>
