Skip to main content

Appointment Reminders

Appointment reminder agents call customers before their bookings to confirm attendance, reschedule no-shows, and reduce your missed appointment rate.

Why This Matters

  • No-show rates for appointments in India average 25–35%.
  • A reminder call 24 hours before reduces this by up to 60%.
  • SMS and WhatsApp reminders are ignored; voice calls get answered.

Common Use Cases

  • Dental / Medical clinics — confirm patient appointments
  • Home services — remind customers of scheduled service visits
  • Coaching / Education — confirm session attendance
  • Financial services — remind clients of document submission deadlines
  • Events — confirm registrations for webinars or workshops

Agent Configuration

Prompt Template

[IDENTITY]
You are a scheduling assistant for {{clinic_name}}.

[GOAL]
You are calling {{patient_name}} to confirm their appointment on {{appointment_date}} at {{appointment_time}}.

Your tasks:
1. Confirm the patient will attend ("Can you confirm you'll be coming in?")
2. If YES: confirm the address/location, end the call
3. If NO or uncertain: offer to reschedule. Collect their preferred day and time.
4. If no answer: leave a voicemail with the appointment details and callback number

[STYLE]
- Be warm and brief. This should take under 90 seconds.
- Speak Hindi or Odia based on the patient's language.
- If they confirm, end the call within 2 turns — don't over-chat.

[GUARDRAILS]
- Don't discuss medical conditions or treatments.
- Don't take payments over the phone.
- If they want to cancel entirely, note it and end politely.
SettingValue
LLMGemini 1.5 Flash (speed, short conversations)
VoiceSarvam AI Hindi Female (familiar, warm)
Max duration3 minutes
Timing24 hours before appointment (use schedule_at)

Scheduling the Calls

Use the API to schedule reminder calls when appointments are booked:
from movoice import MovoiceClient
from datetime import datetime, timedelta

client = MovoiceClient(api_key=os.environ["MOVOICE_API_KEY"])

def schedule_reminder(appointment):
    reminder_time = appointment.datetime - timedelta(hours=24)

    client.calls.create(
        agent_id=os.environ["REMINDER_AGENT_ID"],
        recipient_phone=appointment.patient_phone,
        schedule_at=int(reminder_time.timestamp()),
        variables={
            "patient_name": appointment.patient_name,
            "clinic_name": "Sharma Dental Clinic",
            "appointment_date": appointment.date_str,   # "Friday, April 25"
            "appointment_time": appointment.time_str,   # "3:00 PM"
        }
    )

Handling Rescheduling

When a patient says they need to reschedule, the agent collects their preference and you handle it via webhook:
{
  "event_type": "call.completed",
  "outcome": "RESCHEDULE_REQUESTED",
  "summary": "Patient Rahul Sharma confirmed he cannot make Friday 3 PM. Prefers Saturday morning.",
  "extracted_data": {
    "preferred_day": "Saturday",
    "preferred_time": "morning"
  }
}
Parse the extracted_data in your webhook handler and update the appointment in your booking system.

Setup Checklist

  • Write prompt with your clinic/business name and appointment details
  • Set up outbound API call trigger when appointments are created
  • Use schedule_at to time calls 24 hours before the appointment
  • Configure call.completed webhook to capture reschedule requests
  • Test with 5 dummy appointments before going live
  • Monitor no-show rate before and after to measure impact