Skip to main content

Overview

Appointment reminders are one of the most common use cases for AI voice agents. TopCalls makes it easy to automate confirmations, rescheduling, and follow-ups.

Reduce No-Shows

Studies show automated reminders reduce no-shows by 30-40%. TopCalls makes it effortless.

Save Time

Automate thousands of reminder calls. Your staff can focus on in-person appointments.

Better Experience

Patients prefer phone calls over texts or emails. More personal, higher engagement.

Handle Rescheduling

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

Use Cases

  • Healthcare: Dental, medical, therapy appointments
  • Beauty: Hair salons, spas, nail appointments
  • Professional Services: Legal consultations, financial planning
  • Automotive: Service appointments, test drives
  • Education: Tutoring sessions, parent-teacher conferences

Example Implementation

Step 1: Create the Call

{
  "phone_number": "+14155551234",
  "from_number": "+18005551234",
  "instructions": "You are Sarah, a friendly appointment coordinator at TopView Dental. Your goal is to confirm {{patient_name}}'s appointment scheduled for {{appointment_date}} at {{appointment_time}}. Be warm, professional, and concise. If they want to reschedule, use the 'check_availability' tool to find available slots and the 'book_appointment' tool to confirm the new time.",
  "first_sentence": "Hi {{patient_name}}, this is Sarah from TopView Dental. I'm calling to confirm your appointment tomorrow at {{appointment_time}}.",
  "voice": "alloy",
  "mode": "realtime",
  "request_data": {
    "patient_name": "John Smith",
    "appointment_date": "2025-12-24",
    "appointment_time": "3:00 PM"
  },
  "tools": [
    {
      "name": "check_availability",
      "description": "Check available appointment slots for a given date",
      "parameters": {
        "date": { "type": "string" }
      }
    },
    {
      "name": "book_appointment",
      "description": "Book or reschedule an appointment",
      "parameters": {
        "patient_id": { "type": "string" },
        "date": { "type": "string" },
        "time": { "type": "string" }
      }
    }
  ],
  "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;
  
  // Update appointment status
  if (call.call_summary.includes('confirmed')) {
    await updateAppointmentStatus(call.metadata.appointment_id, 'confirmed');
  } else if (call.call_summary.includes('rescheduled')) {
    // Extract new date/time from transcript
    const newDateTime = extractDateTime(call.transcript);
    await rescheduleAppointment(call.metadata.appointment_id, newDateTime);
  } else if (call.call_summary.includes('cancelled')) {
    await cancelAppointment(call.metadata.appointment_id);
  }
  
  // Send confirmation SMS if needed
  if (call.answered_by === 'voicemail') {
    await sendSMS(call.phone_number, 'We left you a voicemail about your appointment...');
  }
});

Campaign Setup

For high-volume reminders, use campaigns:
{
  "name": "Daily Appointment Reminders",
  "instructions": "You are Sarah, a friendly appointment coordinator...",
  "voice": "alloy",
  "mode": "realtime",
  "timezone": "America/New_York",
  "dispatch_hours": {
    "start": "09:00",
    "end": "17:00"
  },
  "max_parallel_calls": 10,
  "leads": [
    {
      "phone_number": "+14155551234",
      "patient_name": "John Smith",
      "appointment_date": "2025-12-24",
      "appointment_time": "3:00 PM",
      "appointment_id": "apt_123"
    }
  ]
}

Best Practices

✅ Do This

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

❌ Don’t Do This

  • Call too early: Don’t call more than 48 hours in advance
  • Call too late: Don’t call the day of (too late to reschedule)
  • Ignore timezones: Always respect local business hours
  • No rescheduling option: Always offer to reschedule

Operational Impact

Companies using TopCalls for appointment reminders measure the difference within the first month:
  • Reduced no-shows by 30-40% through automated reminders
  • Time savings by replacing manual dialing—scale without hiring additional staff
  • Improved patient experience with personalized phone interactions
  • Better rescheduling efficiency with automated handling
  • Measurable impact from day one—the numbers consistently tell the same story

Next Steps