What is an appointment confirmation text?
An appointment confirmation text is the message a customer gets within a minute or two of booking. It says the booking worked, repeats the date, time and place, and gives a way to change it. A reminder is different: it goes out a day or a few hours before the visit to make sure the person still shows up.
Most businesses send both, and they do different jobs. The confirmation answers "did that go through?" while the customer still has the booking page open. If the date or the address is wrong, this is when they notice it, and it is when a "reply C to confirm" request gets its fastest answer. Our appointment reminder text templates cover the messages that follow it.
What this page adds: 14 confirmation texts and replies counted character by character, the two-way confirm loop and how GoHighLevel handles each reply, Spanish versions written to stay inside one SMS, and what makes a confirmation look like a scam text to the customer and to the carriers. Every count and rule was checked on November 8, 2026.
What should an appointment confirmation text include?
Start with your business name, then the date, the time (with the time zone if the customer could be elsewhere), the place or join link, one way to change the booking, and "Reply STOP to opt out". Leave out prices, promotions and anything private, such as the treatment or the reason for the visit.
| Part | Why it is there | Example |
|---|---|---|
| Business name, first | The customer knows who is texting before they read anything else. Unknown senders are the first sign of a scam text. | Bright Smile Dental: |
| Date and time | The reason the message exists. Use the weekday too, because people misread dates. | Tue Oct 21 at 2:30 PM |
| Time zone | Only for phone or video bookings across time zones. | 2:30 PM PT |
| Place or link | Address for a visit, join link for a call, arrival window for a home visit. | 120 Main St / Join: lee-law.com/m/x7 |
| How to change it | A reschedule link or "reply here". People who can change a booking easily cancel less often without telling you. | Change or cancel: [link] |
| Opt-out | Expected in automated texts. CTIA says senders should let people opt out at any time. | Reply STOP to opt out. |
Keep the confirmation informational. CTIA's Messaging Principles and Best Practices (May 2023) list appointment reminders as informational messages, and they say adding a call to action such as a coupon code "may place the message in the promotional category", which needs written consent. So no "book your next cleaning and save 10%" in a confirmation.
Which appointment confirmation text templates can you copy?
Pick the template for your kind of booking: a plain "you're booked" text, an ask-to-confirm text for bookings you need a yes on, or an industry version for clinics, med spas, home services, real estate, salons and online consultations. All of them fit in one 160-character SMS with sample values.
Characters in each confirmation, against the 160-character limit
We counted each one with sample values filled in: "Maria", "Tue Oct 21", "2:30 PM" and a 25-character link on the business's own domain (brightsmile.com/r/8kq2m4x). Longer business names or links add characters, so count your own version before you save it.
| Booking type | Template | Characters | Segments |
|---|---|---|---|
| Any business, booked online | Bright Smile Dental: you're booked, Maria. Tue Oct 21 at 2:30 PM. Change or cancel: [link] Reply STOP to opt out. | 132 | 1 |
| Ask to confirm | Hi Maria, it's Bright Smile Dental. Please confirm your visit Tue Oct 21 at 2:30 PM: reply C to confirm or R to reschedule. Reply STOP to opt out. | 146 | 1 |
| Medical or dental, minimum detail | Bright Smile Dental: your appointment is set for Oct 21 at 2:30 PM. Questions? Call (415) 555-0134. Reply STOP to opt out. | 122 | 1 |
| Med spa | Glow Med Spa: you're booked for Oct 21 at 2:30 PM. Please arrive 10 min early. Need to change it? [link] Reply STOP to opt out. | 146 | 1 |
| Home service visit | Bay Area HVAC: you're booked for Oct 21, tech arrives 9-11 AM at 120 Main St. Wrong address? Reply here. Reply STOP to opt out. | 127 | 1 |
| Real estate showing | Hi Maria, your showing at 45 Oak Ave is set for Sat Oct 25 at 11 AM with Sam from Bay Homes. Need another time? Reply here. STOP to opt out. | 140 | 1 |
| Online consultation | Hi Maria, your free consult with Lee Law is booked for Oct 21 at 2:30 PM PT. Join: lee-law.com/m/x7 Reply STOP to opt out. | 122 | 1 |
| Salon or studio | Hi Maria, you're booked at Studio Nine with Ana on Oct 21 at 2:30 PM. Change it: [link] Reply STOP to opt out. | 129 | 1 |
| Booked on a phone call or by an AI receptionist | Thanks for calling Bright Smile Dental, Maria. You're booked for Oct 21 at 2:30 PM. Change it: [link] Reply STOP to opt out. | 143 | 1 |
| After a reschedule | Done, Maria. Your Bright Smile Dental visit is now Thu Oct 23 at 10:00 AM. Reply STOP to opt out. | 97 | 1 |
The home service and real estate versions ask the customer to check something (the address, the property) instead of offering a link. On those bookings, a wrong address costs more than a missed reply, so the confirmation is where you want it caught.
The phone-booking version matters if calls are answered by a person or an AI receptionist. A caller has nothing on screen to look back at, so the text becomes their only record of what was agreed.
How do you ask customers to confirm by text, and what happens to each reply?
Send the ask-to-confirm template, then route the reply: "C" (or "yes") marks the appointment confirmed and sends a short thank-you, "R" sends the reschedule link, and anything else goes to a person. If no reply comes within a set time, send one follow-up, then let staff call.
What happens to each reply
Asking for a confirmation is only worth it if something happens when the customer answers. The replies we write for each case, with their counts:
| Customer replies | What the system does | Text sent back | Characters |
|---|---|---|---|
| C, Y, yes, confirm | Sets the appointment status to Confirmed | Thanks Maria, you're confirmed for Oct 21 at 2:30 PM. See you then. | 67 |
| R, reschedule, change | Sends the reschedule link; the old slot stays held until they pick | No problem. Pick a new time here: [link] | 59 |
| Anything else ("can I bring my son?") | Stops the automation and assigns the conversation to staff | Thanks, a team member will reply shortly. To confirm your Oct 21 visit just reply C. | 84 |
| No reply after 24 hours | One nudge, then a task for staff to call | Bright Smile Dental: we still need a yes for Oct 21 at 2:30 PM. Reply C to keep it or R to pick a new time. Reply STOP to opt out. | 130 |
| STOP | Opts the contact out of texts; send nothing else by SMS | (the carrier or platform sends the opt-out notice) | n/a |
Two details trip people up. First, people do not type exactly "C". They write "c", "C.", "yes", "ok see you then" or a thumbs up. Match the common ones and send the rest to a person, because guessing wrong (marking "can't make it" as a yes) is worse than a short wait. Second, send the nudge only once. A second nudge starts to feel like pressure, and in healthcare the FCC exemption limits how many messages a provider may send a week.
How do you set up appointment confirmation texts in GoHighLevel?
For a plain "you're booked" text, use the calendar's own notification: Calendar Settings, pick the calendar, Notifications tab, SMS. For ask-to-confirm, turn auto-confirm off so bookings start unconfirmed, then build a workflow: a Customer Replied trigger filtered on the reply text, and an Update Appointment Status action set to Confirmed.
The steps below use the setting names from HighLevel's help articles as of November 8, 2026.
- Decide if bookings start confirmed. HighLevel's custom statuses article says that with "Auto-confirm new calendar meetings" on, new bookings start in the Active (Confirmed) state; with it off, they start in Pending (Unconfirmed). Both hold the time slot. Leave it on if you only want a "you're booked" text. Turn it off if you want people to reply C.
- Set the calendar notification. Go to Calendar, Calendar Settings, select the calendar, then the Notifications tab. HighLevel's notifications article lists separate types for a booking with unconfirmed status and with confirmed status, each with an SMS tab. Paste the matching template from the table above.
- Use the appointment merge fields. {{contact.first_name}}, {{location.name}}, {{appointment.only_start_date}}, {{appointment.only_start_time}} and {{appointment.reschedule_link}}. Our reminder guide lists them in full. They only fill in when the message comes from an appointment event.
- Build the reply workflow. Trigger: Customer Replied, channel SMS. HighLevel's changelog describes a Message Body filter that can check whether a reply contains, does not contain or exactly matches a phrase, and says older Contains Phrase filters keep working. Add one branch per reply group (C or yes, R).
- Update the status. Add the Update Appointment Status action and pick Confirmed. HighLevel's article on this action (modified May 25, 2026) says that when the workflow did not start from an appointment event, it updates the contact's most recent appointment. A reply trigger is not an appointment event, so this is the behaviour you get. Customers with two upcoming bookings need a person to check which one they meant.
- Send the thank-you, or hand off. After the status update, send the 67-character thank-you. On the "anything else" branch, assign the conversation to a user and end the workflow.
- Add the 24-hour nudge. In the workflow that sends the confirmation, wait 24 hours, check whether the appointment is still unconfirmed, and send the nudge once. HighLevel's custom statuses article says the If/Else appointment filter lists your statuses, so the check can read the status directly.
- Test with a real booking on a test contact: book, reply "c", "yes" and "can I bring my son?", and check the appointment status and the conversation after each one.
If your calendar sends a confirmation and a workflow also sends one, the customer gets two texts. Pick one sender per message. More on how triggers and workflows interact is in GoHighLevel workflows vs triggers vs campaigns.
How do you write appointment confirmation texts in Spanish?
Write them in plain Spanish and check the accents. The SMS character set covers é, ñ, ü, ¿ and ¡, but not á, í, ó or ú. One of those letters switches the whole text to UCS-2, which fits only 70 characters per segment. Our accented confirmation took 3 segments; the plain rewrite took 1.
Same Spanish confirmation, two spellings
The standard SMS alphabet, GSM-7, was built around Western European languages but does not hold every accented letter. Spanish texts are where this costs the most, because "está", "cita médica" and "María" are hard to avoid. The same confirmation, written two ways:
| Version | Template | Characters | Encoding | Segments |
|---|---|---|---|---|
| With accents | Hola María, su cita en Bright Smile Dental está confirmada para el 21 de oct. a las 2:30 PM. Para cambiarla: [link] Responda STOP para cancelar. | 163 | UCS-2 | 3 |
| Rewritten without á, í, ó, ú | Hola Maria, su cita en Bright Smile Dental es el 21 de oct. a las 2:30 PM. Para cambiarla: [link] Responda STOP para no recibir mensajes. | 156 | GSM-7 | 1 |
| Ask to confirm, plain letters | Bright Smile Dental: ¿nos vemos el 21 de oct. a las 2:30 PM? Responda C para confirmar o R para cambiar la cita. STOP para no recibir mensajes. | 143 | GSM-7 | 1 |
The rewrite keeps the sense by choosing words that need no accent: "es el 21" instead of "está confirmada para", "cambiar la cita" instead of a form with an accent. ¿ and ñ are fine, so questions and words like "mañana" stay as they are.
The trap you cannot fix in the template is the customer's name. A clean Spanish ask-to-confirm text of 103 characters goes from 1 segment to 2 when the merge field fills in "Sofía" instead of "Sofia", because the í alone switches the encoding. The same thing happens in English templates. If many of your contacts have accented names, either keep templates under 70 characters or drop the first name from the text.
The segment sizes come from the SMS standard, as Twilio sets out on its character limit page: 160 characters for one GSM-7 segment (153 per part when longer), and 70 for UCS-2 (67 per part). On GoHighLevel's phone system each segment is billed, so a 3-segment text costs three times a 1-segment one. The rates are in our reminder text cost section.
How do you stop an appointment confirmation text looking like a scam?
Put your business name first, text from the same registered number every time, use links on your own domain instead of public shorteners like bit.ly, and never ask for payment details, passwords or codes in a confirmation. Expected, consistent and plain is what makes a text feel real.
"Appointment confirmation text scam" is a common search, because scam texts copy the shape of real ones. They come from unknown numbers, push you to tap a link and create urgency. A real confirmation should look like the opposite:
| Looks like a scam | Do this instead | Why |
|---|---|---|
| A bit.ly or TinyURL link | A link on your own domain, or "reply here" | Twilio's error 30963 says public URL shorteners are not allowed in A2P 10DLC campaigns because they hide where a link goes, and it lists branded short domains you own as generally acceptable. |
| No business name, or a name that changes | Same business name, first, in every text | The customer can tell who it is before opening a link. Use the name they booked with. |
| A new number each time | One registered number per location | Customers save the number, and replies come back to the same conversation. Unregistered numbers also get filtered; see our A2P 10DLC registration guide. |
| "Confirm now or lose your slot" with a payment link | Ask for a reply, never card details by text | If you take deposits, send the payment request from your booking page or invoice system, not a bare link in a confirmation. |
| A confirmation for a booking they did not make | Confirm only bookings that exist, and send from the booking event | A text sent from the appointment event always matches a real booking in your calendar. |
If customers do tell you your texts look suspicious, check the sending number's registration status first, then the link domain. Those two cause most of the filtering we see on new accounts.
Do you need consent to send appointment confirmation texts?
A customer who gives their mobile number to book has usually asked to be contacted about that booking, which CTIA treats as an informational message. Keep the text about the booking only, include STOP, and save the consent on the contact. Marketing texts need separate written consent.
CTIA's guidance puts it plainly: in informational messaging "a Consumer gives their phone number to a Non-Consumer and asks to be contacted in the future", and appointment reminders sit in that category. Its opt-out section says senders should let people opt out at any time and honour every opt-out request. Federal rules on how fast an opt-out must be honoured changed in 2026; our FCC opt-out rules note covers what changed. For healthcare, the FCC exemption and the HHS guidance on what a message may say are in our reminder guide. None of this is legal advice; check state rules for your business.
Questions people ask about appointment confirmation texts
When should you send an appointment confirmation text?
Right after the booking, within a minute or two, while the customer still remembers booking. A confirmation sent hours later is easy to mistake for spam and misses the moment when people check the details. Reminders come later: usually a day before and a few hours before the appointment.
Should the confirmation and the reminder be separate texts?
Yes. The confirmation proves the booking worked and catches wrong details; the reminder stops people forgetting. If a booking is made for the same day, skip the separate confirmation and send one text that does both, so the customer does not get two messages within an hour.
What if a customer never replies to the confirmation?
Send one nudge after about 24 hours, then hand it to staff for a call. Do not cancel the appointment automatically unless your policy says so and the customer was told when they booked. A missing reply only tells you the text went unanswered, so treat it as a reason to call.
Should a confirmation text include the price?
Only when the customer needs it to show up ready, such as a deposit already paid or an amount due at the visit, and only for non-medical services. Keep sales offers out. CTIA says a promotional call to action can move a message into the promotional category, which needs written consent.
Can you send a confirmation text to a landline?
No. Texts to most landline numbers fail, and the customer never knows the booking worked. Ask for a mobile number on the booking form, and send an email confirmation as well, so people who give a landline still get a record of the booking.
Can I use emojis in a confirmation text?
You can, but one emoji switches the whole text to UCS-2, which fits 70 characters per segment instead of 160. A 132-character confirmation with a smiley costs two segments instead of one. If you want a friendly tone, use plain words.
Should the confirmation come from a text or an email?
Send both when you can. A text gets read quickly and can take a one-letter reply; an email can carry the full address, a map, forms and a calendar file. For bookings made by phone, the text matters most, because the caller has nothing on screen to look back at.
Related questions and services
- Appointment booking automation: booking, confirmations and reminders set up for you
- Appointment reminder text templates, with costs and HIPAA rules
- Reduce no-shows: deposits, confirmations and recovery
- Appointment no-show statistics
- What time can businesses text customers?
- Why is my GoHighLevel workflow sending duplicate messages?
- AI receptionist: books the call and sends the confirmation
Sources and further reading
- HighLevel, How to create and manage custom appointment statuses (auto-confirm, Active and Pending, workflow filters; modified October 27, 2026), read November 8, 2026.
- HighLevel, Calendar appointment notifications (notification types, SMS tab, menu path; modified October 14, 2026), read November 8, 2026.
- HighLevel, Workflow action: Update Appointment Status (which appointment it updates; modified May 25, 2026), read November 8, 2026.
- HighLevel changelog, Customer Replied trigger: improved message filters (Message Body filter), read November 8, 2026.
- CTIA, Messaging Principles and Best Practices, May 2023 (Exhibit II message types, section 5.1.3 opt-out), read November 8, 2026.
- Twilio, Error 30963: public URL shortener detected in campaign, read November 8, 2026.
- Twilio, What is the SMS character limit? (GSM-7 and UCS-2 segment sizes).
Character counts are ours, made with the sample values above on November 8, 2026. Settings and rules change; anything marked "as of" should be checked before you rely on it, and none of this is legal advice.