Clinics and diagnostics · Salons and spas · Service centres
AI appointment reminder calls that confirm or reschedule
From ₹1 a minute at volume (₹1,00,000/month commitment), or ₹5 pay as you go, no commitment
₹1 is the T1 voice rate. On T1, Mirai phone calling (₹0.30/min) and call insights (₹0.20/min) are optional; T5 includes both. All prices exclude GST.
From ₹1 a minute on the volume plan (₹5 a minute pay as you go), an agent calls each patient or client the day before, confirms tomorrow's appointment, and moves it when they can't make it, reading and booking open slots in your calendar through an on-call tool. By the evening you know who is coming and who has moved. A second list the next day calls the no-shows and offers them a new time.
No sign-up to look around.
On T1, per connected call
₹1.17for a 70-second call at ₹1/min
T1 has a ₹1,00,000 monthly commitment. Pay as you go on T5, the same call is ₹5.84.
- Calls
- Outbound calls
- Languages
- Hindi, English, Hinglish
- Industries
- Clinics and diagnostics, Salons and spas, Service centres
- Call length
- 70 seconds, an assumption
Sample conversation
How a call goes
A written example of the script, not a recording. Your agent says what your prompt tells it to, in your customer's language.
- Agent
नमस्ते, मैं Acme Dental Clinic की AI assistant बोल रही हूँ। कल सुबह साढ़े ग्यारह बजे Dr. Kulkarni के साथ Aarav का appointment है, उसे confirm करने के लिए call किया।
Hello, I'm Acme Dental Clinic's AI assistant. Aarav has an appointment with Dr. Kulkarni tomorrow at 11:30 in the morning, and I'm calling to confirm it.
- Caller
अरे, कल तो उसका school में test है। कोई और time मिल सकता है?
Oh, he has a test at school tomorrow. Can we get another time?
- Agent
एक second, मैं देखती हूँ।
One second, let me check.
- Agent
कल शाम पाँच बजे या शुक्रवार सुबह दस बजे खाली है। कौनसा ठीक रहेगा?
Tomorrow at 5 in the evening or Friday at 10 in the morning is free. Which works?
- Caller
शुक्रवार सुबह दस बजे।
Friday, 10 in the morning.
- Agent
शुक्रवार सुबह दस बजे, Dr. Kulkarni के साथ। सही है?
Friday at 10 in the morning, with Dr. Kulkarni. Is that right?
- Caller
हाँ, ठीक है।
Yes, that's fine.
- Agent
Appointment शुक्रवार सुबह दस बजे कर दिया है। Clinic का address वही है। धन्यवाद, आपका दिन शुभ हो।
The appointment is now Friday at 10 in the morning. The clinic address is the same. Thank you, have a good day.
What you send
One row per person you call
Upload a CSV to a campaign, or send the same fields as call variables from your own system. The phone number comes first; the other columns are what the agent reads out or decides on.
| Column | Example | What goes in it |
|---|---|---|
phoneRequired | +91… | The number to call, with the country code (+91…). A ten-digit Indian mobile gets +91 added. In Excel, format this column as Text first so the number is not changed. |
patient_nameOptional | Aarav | — |
appointment_timeOptional | tomorrow, 11:30 am | — |
practitionerOptional | Dr. Kulkarni | — |
branch_addressOptional | 2nd floor, Sai Plaza, Aundh, Pune | — |
booking_idOptional | BK-60231 | Passed to the reschedule tool and returned in every webhook. Don't put diagnoses or treatment details in any column. |
What comes back
The result of every call
Each call ends with one webhook event that carries the transcript and the result, and the campaign report has a row for every contact. These are the result fields an agent for this job fills in.
| Field | Example | What it means |
|---|---|---|
analysis.data.appointment_status | rescheduled | A field you define: confirmed, rescheduled, cancelled or no_decision. |
analysis.data.new_slot | 2026-10-23T10:00:00+05:30 | Yours to define. Filled when the booking moved. |
tool_runs | check_slots · ok, reschedule_booking · ok | Receipts for the requests the agent made to your calendar during the call, from GET /v2/calls/{id}/tool_runs. Check these before you trust a reschedule. |
analysis.data.spoke_with | parent | Who answered: the patient, a parent, another family member. |
metadata.booking_id | BK-60231 | Your booking reference, unchanged. |
status | completed | How the call ended. A call nobody answered is free and retried while attempts remain. |
Cost
What a 70-second call costs
Worked out from our price list. 70 seconds is our assumption for a typical connected call of this kind, not a measurement from your calls. Put your own volumes into the AI calling cost calculator.
| Tier | Rate | Per connected call | Per 1,000 connected calls | Monthly minimum |
|---|---|---|---|---|
| T1 | ₹1 / min | ₹1.17 | ₹1,170 | ₹1,00,000 a month |
| T3 | ₹3 / min | ₹3.50 | ₹3,500 | ₹50,000 a month |
| T5 | ₹5 / min | ₹5.84 | ₹5,840 | None |
- T5 and T3 include Mirai phone calling and call insights. On T1 they are optional: phone calling at ₹0.30/min and insights at ₹0.20/min. With both on, this call comes to about ₹1.75 on T1. Mirai phone calling is metered on the carrier's billing block, so treat that figure as an estimate.
- T1's ₹1,00,000 monthly minimum pays for 85,470 calls of this length; T3's ₹50,000 monthly minimum pays for 14,285 calls of this length. Monthly commitments are credited to your wallet. Unused credit never expires. Paid usage counts towards the minimum, and only a shortfall is settled at month end.
- Calls that ring out, are busy or fail to connect are not billed. A voicemail is billed like a connected call.
In detail
AI appointment reminder calls that confirm or reschedule: in detail
Why use an agent for appointment reminders?
A reminder SMS tells the patient about the slot, and if they can’t come, they ignore it. The chair sits empty and someone who wanted that slot never got it. A call is a two-way reminder. The person says they can’t make it and the slot moves while you’re still on the line, so tomorrow’s list is accurate by the evening.
The day-before list is also the most repetitive call your front desk makes: the same opening, the same confirmation, a reschedule now and then, between walk-ins and phone queries. An agent can run the whole list in the afternoon. Your staff take over only when a call needs judgement.
The example here is a dental clinic, where a parent answers for a child. Salons, diagnostic labs, physiotherapy clinics and vehicle or appliance service centres run the same call with different words.
How do you set it up?
- Write the prompt with the appointment details as variables:
{{patient_name}},{{appointment_time}},{{practitioner}},{{branch_address}}. Have it say it’s an AI assistant in the first line, and that the clinic records calls if you keep recordings. - Expose two endpoints on your booking system and add them as on-call HTTP tools:
check_slots, which returns open times for a day, andreschedule_booking, which moves{{booking_id}}to the slot the caller picked. Let the agent wait for the result, and give the lookup aspeak_whileline like “एक second, मैं देखती हूँ” so the caller isn’t left in silence. - Tell the agent to offer two slots at a time and read the chosen one back before booking it.
- Turn on analysis with
appointment_status,new_slotandspoke_with. - Test it in the browser: a confirmation, a reschedule, a cancellation and a caller who asks about fees.
- Each afternoon, upload tomorrow’s list as a campaign with a calling window that fits your patients, one retry an hour or two later, and a budget. Or add bookings through the API to an always-on campaign once a day.
- The next morning, filter the previous day’s no-shows and press New campaign from these, with a rebooking agent.
Check the tool receipts in the first weeks. If reschedule_booking failed on a call, the agent should have told the caller it couldn’t confirm the change, and someone at the clinic needs to call back.
What should the front desk still handle?
Clinical questions, cost estimates beyond your fixed fee list, complaints, and anyone who sounds unwell or upset. Same-day emergencies should never wait for a reminder call. The agent can’t transfer a live call today, so for these it takes a message and promises a callback.
What should you check before calling patients?
TRAI’s Third Amendment to the TCCCPR, notified on 18 September 2026, describes a service call as one that gives customers information about a product or service they’ve taken, and says such calls aren’t promotional and don’t need explicit consent. A reminder about an appointment the person booked reads that way; a call that also promotes a whitening package doesn’t. The amendment asks senders to declare software-placed and artificial-voice calls to their originating telecom provider in advance with the numbers they’ll use, and treats undeclared ones as unsolicited. It comes into force in stages.
Health information needs care. Keep variables to what the call needs: name, time, practitioner, address. Leave diagnoses and treatment notes out entirely, because the variables go into the prompt and metadata travels on every webhook. Recordings and transcripts are kept for 90 days, and you can turn recording off per call or for the workspace. For calling hours, check TRAI’s current rules and your consent records.
What does a reminder call cost?
On T1 a connected minute costs ₹1 with a ₹1,00,000 monthly commitment, plus ₹0.30 for Mirai phone calling and ₹0.20 for call insights if you switch them on. On T5 it’s ₹5 a minute, pay as you go, with both included. Prices exclude GST. Answered calls are billed and unanswered ones aren’t. The cost block assumes about 70 seconds connected, an estimate for a confirmation with an occasional reschedule; a plain “हाँ, आएँगे” is quicker. Set that against what an empty slot costs you. Pricing lists the plans, and the cost calculator takes your daily appointment count.
By Mirai Minds · Published
Questions
Can the agent see our appointment calendar?
Only through tools you give it. Expose two endpoints on your side, one that lists open slots for a day and one that moves a booking, and add them as on-call HTTP tools. The agent never gets broader access than those requests.
Will it answer medical questions?
It shouldn't, and the prompt should say so. Give it the practical facts (address, parking, what to bring) and have it pass anything clinical to the clinic. If a caller describes an emergency, the prompt should tell the agent to direct them to emergency help instead of booking anything.
Can we stop calls from being recorded?
Yes. A call created with recording_enabled set to false stores no audio, and we can turn recording off for your whole workspace. Transcripts and recordings that are kept are deleted after 90 days.
What about people who didn't show up?
Run a second list the next day. In the console, filter the contacts you want, press New campaign from these, and use an agent whose prompt offers a new appointment without making the person feel told off.
How can an appointment reminder cost ₹1 a minute?
₹1 a minute is the T1 voice rate, for teams that commit ₹1,00,000 a month, and the commitment is credited to your wallet. We can price it there because we run our own speech recognition, language model and voice on our own GPUs in India; owning the stack is how we keep a minute cheap at volume. On T1, Mirai phone calling adds ₹0.30 a minute (nothing from us if you bring your own Plivo number) and call insights add ₹0.20 a minute if you turn them on. Wallet credit never expires, though the commitment is a minimum monthly spend. A single clinic can start on T5 at ₹5 a minute, pay as you go, with phone calling and insights included. T3 is ₹3 a minute with a ₹50,000 commitment. Prices exclude GST.
Put your own script in an agent.
Open the sandbox, paste your prompt and listen to it. Nobody asks for an email until you test a call.