Dental Appointment Reminder SMS Templates That Actually Arrive in the Philippines
Take this confirmation text. It is 144 characters and it sends as one message.
Sundial Dental: Booked po, Ms Reyes. Teeth cleaning, Sat 20 Sept, 2:30 PM, PHP 1,500. Move or cancel: https://yourclinic.ph/manage/8KD2
Now write the price the way any Filipino would write it, as ₱1,500. The message gets three characters shorter. It bills as three messages instead of one.
Nothing about the wording changed. The peso sign, ₱, is not in the character set that SMS uses by default, and one character from outside that set converts the whole message to a different encoding with less than half the room. Send that confirmation to 300 patients a month and you have paid for 900.
That is the sort of thing missing from every reminder template list you can find, because those lists were written for clinics in Texas that bill in dollars and whose patients can text back. Below are eighteen templates written for the rules that apply on Globe, Smart and DITO, each one counted, each one marked with what it can and cannot do here.
The four you probably came for
If you only paste four things today, paste these. Every one fits in a single message.
When the booking is made
Sundial Dental: Booked po, Ms Reyes. Teeth cleaning, Sat 20 Sept, 2:30 PM, PHP 1,500. Reply here or call 0917 123 4567 to move it.
Three days before
Sundial Dental: Ms Reyes, your teeth cleaning is this Sat, 20 Sept, 2:30 PM. Reply Y to confirm, or N if you need another day.
The day before
Sundial Dental: Reminder lang po, cleaning bukas, Sat 20 Sept, 2:30 PM. Kung di po kayo aabot, reply lang po dito para mailipat namin.
After a no-show
Sundial Dental: Hi po Ms Reyes, di po kayo nakaabot kanina. Ok lang po. Kailan po kayo pwede? Reply lang po ng araw at oras.
Two reminders beat one. In a three-armed randomised trial of 54,066 patients across 25 primary care clinics, people who got a reminder both three days and one day ahead missed 4.4% of appointments, against 5.8% for a three-day reminder alone and 5.3% for a one-day reminder alone (Steiner et al, American Journal of Managed Care, 2018). That was American primary care rather than Philippine dentistry, so treat it as a reason to send two rather than as a number your clinic will reproduce.
The choice you have to make before you paste anything
Business SMS in the Philippines goes out on one of two lanes, and each lane can do something the other cannot. This is what breaks American templates when you paste them in here.
A registered alphanumeric sender ID is the one that shows up as SUNDIALDNTL instead of a number. Since 7 April 2025 it has been mandatory: Twilio's Philippine guidelines state that messages with unregistered sender IDs are blocked. It is also the only lane that can carry a link, and even then only a registered one. Twilio's wording: "If your message content includes a URL, it can only be delivered if the URL is registered and the message is sent using a registered Alphanumeric Sender ID."
What it cannot do is receive a reply. An alphanumeric sender ID is not a phone number, so the network has nowhere to route the answer. Most phones will show the patient something like "Can't reply to this shortcode". This is how the infrastructure works, not a setting your provider forgot to switch on.
A domestic long code is an ordinary mobile number, and patients can text it back. But the same Twilio guidance says URLs cannot be sent via domestic long codes, and Globe does not accept long codes for business traffic at all.
So the two instructions that appear side by side in every template list on the internet are mutually exclusive here:
| You want the message to | Send it from | Can it carry a link? | Can the patient reply? |
|---|---|---|---|
| Give the patient a page to cancel or move the appointment | Registered alphanumeric sender ID | Yes, if the URL is registered too | No |
| Get an answer back from the patient | Domestic long code | No | Yes, but not on Globe |
Most clinics end up wanting both, which means two lanes and a decision per message. Before you paste a template, ask which one this particular message is riding on. A "reply Y to confirm" sent from an alphanumeric sender ID is a dead instruction, and the patient who tries to obey it gets an error from their phone.
The way around the split is to put a number in the body. A patient who cannot reply can still tap a phone number and call, and that works on both lanes. Several of the templates below are written that way on purpose.
Two characters that quietly multiply your bill
SMS still runs on a 7-bit alphabet defined in 3GPP TS 23.038, which most people know as GSM-7. It holds 160 characters in one message. Include a single character that is not in that alphabet and the whole message switches to UCS-2, which holds 70. Split messages get worse: 153 characters per part on GSM-7, 67 on UCS-2.
Two characters catch Philippine clinics constantly.
The peso sign. ₱ is not in GSM-7 or its extension table. Write PHP 1,500 or 1,500 pesos instead. This is the pair from the top of the article, counted:
| Same message, one character different | Characters | Messages billed |
|---|---|---|
| ...2:30 PM, PHP 1,500. Move or cancel: https://yourclinic.ph/manage/8KD2 | 135 | 1 |
| ...2:30 PM, ₱1,500. Move or cancel: https://yourclinic.ph/manage/8KD2 | 132 | 2 |
The curly apostrophe. Write your templates in Word, Google Docs or Notes and "can't" is silently autocorrected to "can’t" with a curved apostrophe. That character is not in GSM-7 either, and it looks identical in the box you paste it into.
| Same message, one character different | Characters | Messages billed |
|---|---|---|
| If you can't make it, reply here. (straight apostrophe) | 116 | 1 |
| If you can’t make it, reply here. (curly apostrophe) | 116 | 2 |
Same length. Twice the bill. If you write templates anywhere other than a plain text editor, this one will get you eventually, and there is nothing on screen to warn you.
One emoji does the same thing. A cheerful smiley on the end of a 90 character message makes it two.
Filipino surnames are safe, which surprises people. Ñ and ñ are both in the basic GSM-7 set, so Ms Nuñez costs no more than Ms Reyes. It is the currency symbol and the smart quotes that cost money, not the local spelling.
Leave yourself twenty characters of headroom
Every template below sits between 106 and 143 characters when filled with a normal name and service. That is deliberate. Aim at 140, not 160, because the blanks are not all the same size:
Sundial Dental: Booked po, Ms Ma. Cristina Villanueva-Sandoval. Oral prophylaxis with fluoride, Sat 20 Sept, 2:30 PM, PHP 1,500. Move or cancel: https://yourclinic.ph/manage/8KD2
That is the same confirmation template with a long name and the full service name from the price list. 178 characters, two messages, and nobody noticed until the bill arrived. Count your longest patient name and your longest service, not your shortest.
The full template library
Every template is one message when filled with a name of normal length. Replace {braces} with your fields, and replace Sundial Dental with your clinic name. Keep the clinic name in the body: Philippine operators expect the registered sender name to appear in the text, and a patient who cannot see who is texting treats it as spam.
The counts below assume a 33 character link. Yours will differ, so count your own.
1. Confirmation, sent the moment the booking is made
This is the one message most clinics skip, and it does more work than any of the reminders. It is the patient's receipt, and it is the first chance for them to say the day is wrong.
Link lane, English (135 characters)
Sundial Dental: Booked po, {first name}. {Service}, {Day} {Date}, {Time}, PHP {price}. Move or cancel: {link}
Reply lane, English (130 characters)
Sundial Dental: Booked po, {first name}. {Service}, {Day} {Date}, {Time}, PHP {price}. Reply here or call {number} to move it.
Reply lane, Taglish (129 characters)
Sundial Dental: Booked na po kayo, {first name}. {Service}, {Day} {Date}, {Time}, PHP {price}. Reply lang po dito kung kailangan ilipat.
2. Three days before
Far enough out that the patient can still rearrange their week, which is the whole point of sending it this early.
Link lane, English (126 characters)
Sundial Dental: {First name}, your {service} is this {Day}, {Date}, {Time}. Change it here: {link}
Reply lane, English (126 characters)
Sundial Dental: {First name}, your {service} is this {Day}, {Date}, {Time}. Reply Y to confirm, or N if you need another day.
Reply lane, Taglish (112 characters)
Sundial Dental: Hi po {first name}, {service} niyo po sa {Day}, {Date}, {Time}. Reply Y kung ok, N kung gusto ilipat.
3. The day before
Link lane, English (133 characters)
Sundial Dental: Reminder po, {first name}, {service} bukas, {Day} {Date}, {Time}. Need to move it? {link}
Reply lane, Taglish (134 characters)
Sundial Dental: Reminder lang po, {service} bukas, {Day} {Date}, {Time}. Kung di po kayo aabot, reply lang po dito para mailipat namin.
Reply lane, Bisaya (123 characters)
Sundial Dental: Reminder po, {first name}, {service} ninyo ugma, {Day} {Date}, {Time}. Kung dili mo kaabot, reply lang po dinhi.
If your patients in Cebu wrote to you in Bisaya, answer in Bisaya. If you are not sure a line reads naturally, send the English one rather than guessing, because a clumsy translation reads worse than a plain English text.
4. The morning of, or an hour ahead
By this point rescheduling is not really on the table, so stop asking. Give directions instead, and make it easy to warn you about traffic.
Either lane, English (132 characters)
Sundial Dental: See you at {time} today, {first name}. We are at {address}. Call {number} if you are running late.
Either lane, Taglish (128 characters)
Sundial Dental: See you po mamaya, {time}. Nasa {address} kami. Tawag lang po sa {number} kung ma-late.
5. First visit only, sent the day before
New patients arrive without their x-rays, then the appointment runs long and the next one starts late. One extra text fixes it.
Either lane, English (134 characters)
Sundial Dental: {First name}, for {Day} {time} please bring a valid ID and any past x-rays. {Address}. Parking at the back.
6. After the visit
Reply lane, English (133 characters)
Sundial Dental: Thank you po for coming in today, {first name}. Some soreness for the next 2 days is normal. Reply here if it gets worse.
Adjust the aftercare line to the actual procedure, and keep it to what your dentist would say at the door. A text message is not the place to answer a clinical question, and a patient who is genuinely worried should be told to call.
7. After a no-show
Send it the same day. The patient already feels awkward, and the longer you leave it the more awkward it gets.
Link lane, English (112 characters)
Sundial Dental: We missed you today, {first name}. No problem po. Pick a new time: {link}
Reply lane, Taglish (124 characters)
Sundial Dental: Hi po {first name}, di po kayo nakaabot kanina. Ok lang po. Kailan po kayo pwede? Reply lang po ng araw at oras.
Do not mention the fee and do not say "you missed your appointment". You are trying to get them back in the chair, and a patient who ghosted you once will ghost you permanently if the follow-up reads like a telling off. Our guide to reducing dental no-shows covers what an empty slot actually costs you and how to refill it.
8. Recall, six months later
Reply lane, English (127 characters)
Sundial Dental: {First name}, 6 months na po since your last cleaning. Want to book? Reply with a day that works and we will check.
9. When the clinic has to move the appointment
The dentist gets sick, the compressor dies, and somebody has to text eleven people. Have this one written before you need it.
Reply lane, Taglish and English (143 characters)
Sundial Dental: Pasensya po, {first name}, kailangan po naming ilipat ang {Day} {time} niyo. Pwede po {new day}, {new time}? Reply Y or send a better day.
10. Outstanding balance
Either lane, English (106 characters)
Sundial Dental: {First name}, reminder po for your {Day} {time}. Balance is PHP {amount}, cash or GCash po. See you.
Before you send any of these to a patient
A phone number attached to a dental appointment is personal information under the Data Privacy Act. So you need a lawful basis for texting a patient, the patient should know at the point you collect their number that you will use it for reminders, and you should be able to show that you told them. Treat promotional texts as a separate question needing their own consent, because a reminder about an appointment the patient booked is not the same thing as an offer for whitening. Our reminder setup guide goes through what RA 10173 asks of a clinic in more detail. If you want to see how we handle it on our side, our privacy policy is public.
How to edit a template without breaking it
Run through this before anything goes live. It takes about ten minutes and catches almost everything.
- Paste it into Notepad first. Not Word, not Docs. If an apostrophe changes shape on the way in, you just found a curly quote.
- Search your templates for ₱. Every one you find is doubling or tripling that message.
- Fill it with your longest patient name and your longest service name. If that version goes over 160 characters, shorten the template, not the name.
- Send the empty version to yourself. Leave every field blank except the mobile number and let it run. Whatever arrives is what your worst patient record will send. "Hi , reminder po for your on at" is a scam text as far as the patient is concerned.
- Check the lane matches the instruction. If the message says "reply", make sure it is going out on something a patient can actually reply to.
- Test on Globe, Smart and DITO separately. They fail differently, and they fail silently. A delivery receipt is network reported and is not evidence that anyone read anything.
Where clinics get this wrong
Writing "Reply YES to confirm" on a one-way sender. The most common fault in templates copied from American sites, and the reason for the lane table above.
Using a link shortener. Smart blocks bit.ly and the rest, and the NTC's 2023 memorandum told operators to block messages containing shortener links and QR codes. Write the full address even though it costs you characters.
Sending reminders with nobody watching the replies. A reminder invites an answer. If those answers land in a phone nobody picks up after 6pm, you have built something that irritates patients on a schedule. Name the person who reads them, per shift.
Sending four reminders. Two is supported by the evidence. Beyond that you are training the patient to ignore your clinic's name on their lock screen.
Copying the tone as well as the words. "We look forward to seeing you!" is fine in Ohio. Most Philippine clinics text more like a person and less like a brand, and "po" is doing real work in these templates. Keep it.
Where OtterFlow fits
Everything above assumes somebody sends the message. That is fine for a clinic doing eight appointments a day, and honestly a spreadsheet and a phone will get you a long way.
It stops working at the joins. The confirmation has to fire the moment the booking exists. The three-day reminder has to know the appointment was already moved on Tuesday. The no-show text has to know the patient never arrived, which means something has to notice that they did not.
OtterFlow watches those joins for you. A patient asks about a cleaning on Messenger or your website, the assistant answers from what you have told it, offers a time that is genuinely open, and books it. The confirmation goes out straight away with a link to cancel or move the appointment. The reminders follow, one the day before and one an hour ahead. If the patient does not turn up, the rebooking link goes out on its own. It replies in whatever language the patient wrote in, so the Taglish and Bisaya versions above are not extra work for your staff.
If you would rather see that running against your own services and hours than keep editing templates, we can walk you through it in fifteen minutes.
Questions clinics ask
How many characters should a reminder be?
Under 160 including the clinic name and the link, and aim for about 140 so that a long patient name does not push it over. Anything above 160 is billed as two messages, and the split happens at 153 characters per part rather than 160.
Can I use emoji in a reminder?
You can, but one emoji converts the message to UCS-2 and drops the limit from 160 characters to 70, so a normal reminder becomes two or three messages. If you want warmth, get it from the words.
Should reminders be in English or Taglish?
Match whatever the patient used when they wrote to you. A patient who messaged you in Taglish and gets a formal English broadcast reads it as a mass text, and people ignore mass texts. If your tool cannot switch, keep two templates and let the receptionist pick.
Do I need to include the clinic name if my sender ID already shows it?
Yes. Philippine operators expect the registered sender name to appear in the message body as well, and it costs you about fifteen characters to remove any doubt about who is texting.
Is a reminder enough on its own?
No. If the patient already knows they cannot come, telling them again changes nothing. What helps is giving them a way to move the appointment, and then refilling the slot they hand back. The no-show guide covers that second half.
What about WhatsApp or Messenger instead of SMS?
Messenger has its own rules about what you may send outside a 24 hour window, and appointment reminders sit awkwardly inside them. We wrote about what Messenger automation can and cannot close separately. SMS remains the reliable one for reminders in the Philippines because it does not depend on the patient having the app open.
The one thing to take away
The words matter less than most template lists imply. A plain reminder that arrives beats a warm one that a carrier dropped, and the difference between them is usually a peso sign, a curved apostrophe, or an instruction to reply to a number that cannot take replies.
So take the four templates at the top, paste them into Notepad, fill them with your longest patient's name, and text them to your own phone on all three networks before Monday. If they arrive as one message each, you are done. If you would rather have the whole cycle running without anyone at the front desk remembering to send it, that is worth a fifteen minute conversation.