Skip to main content

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.

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.

Reduce No-Shows

Automated reminders significantly reduce no-show rates. Phone calls get higher engagement than texts or emails.

Save Staff Time

Automate thousands of reminder calls. Your team can focus on in-person work.

Better Experience

Personalized phone calls feel more professional than generic SMS blasts.

Handle Rescheduling

AI agents handle rescheduling requests automatically, updating your calendar in real-time.

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

{
  "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",
  "request_data": {
    "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

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

Quickstart

Make your first appointment reminder call.

Campaign Management

Scale to thousands of reminders with campaigns.