Skip to content
GPLWP Guides

How to send SMS appointment notifications on a WordPress site

Booking & Events Time About 30–60 minutes 6 steps Updated 14 Oct 2026

BOOKING & EVENTS
The short answer

WordPress does not send appointment SMS by itself. You need a booking plugin with SMS support, an account with an SMS gateway, and notification templates for confirmations, cancellations and reminders. The manual code route is possible, but a booking SMS add-on is faster and easier to maintain.

The route
  1. 01Check your booking plugin
  2. 02Choose the manual or plugin route
  3. 03Connect your SMS gateway
  4. 04Collect consent and phone numbers
  5. 05Create the notification templates
  6. 06Test every booking status

What you need

  • A WordPress appointment booking plugin
  • An account with an SMS gateway
  • A phone number that can receive test messages
  • Administrator access to WordPress
  • Customer consent for appointment texts

Check your booking plugin

Confirm that your appointment plugin supports SMS notifications or has an SMS extension. The exact settings depend on the booking system: common options include new booking, approval, cancellation, rescheduling, payment and reminder messages. Some plugins separate instant notifications from scheduled reminders.

Do not assume that email notifications can be converted into SMS automatically. You need a connection to an SMS provider, such as Twilio or another gateway supported by your booking plugin. Documentation for several WordPress booking systems shows that provider credentials and SMS notification settings are configured separately.

Choose the manual or plugin route

The manual route requires custom integration. Your booking plugin must expose a documented event for a new booking or status change, your code must send an authenticated request to an SMS provider, and scheduled reminders need a reliable queue or cron process. There is no universal booking SMS hook that works across WordPress booking plugins, so you must use the documentation for the plugin already handling appointments.

This route is reasonable if you have a developer, need a very specific workflow, or already operate an SMS API integration. It is a poor Friday-afternoon fix for a live booking site: an update can change booking data, a failed API request can be missed, and reminders can arrive late when site cron is unreliable.

Connect your SMS gateway

Open the SMS or notifications settings in your booking plugin and enter the credentials requested by the gateway. Depending on the provider, this may include an account identifier, authentication token, sender number, messaging service identifier or API key. Use the provider's current credentials rather than copying credentials into a theme file.

Store customer phone numbers in international format where the provider requires it. Twilio, for example, requires recipient and sender numbers in E.164 format, such as +14155552671, without spaces, dashes or brackets. Incorrect formatting is a common reason for rejected messages.

Collect consent and phone numbers

Add a required phone field to the booking form and explain what the customer will receive. Keep appointment confirmations and operational reminders separate from marketing messages, and provide an opt-out method where your local rules or provider requirements call for one.

Check that the booking form records the country code, validates the number and does not silently replace a valid number with a local-only format. Also review your privacy notice because appointment details and phone numbers may be sent to a third-party SMS service.

Create the notification templates

Enable the messages you actually need, then edit each template with the booking plugin's available placeholders. Start with confirmation, approval, cancellation and rescheduling messages. Add a reminder only after you have confirmed that scheduled notifications are supported and that your site's cron system runs reliably.

Keep the message short and identify the business immediately. Include the appointment date, time, service and a contact method. Check the customer's time zone before sending scheduled reminders. Booking systems commonly support dynamic placeholders and separate templates for approval, payment, cancellation and reminders.

Test every booking status

Create a test booking with a real mobile number and verify the confirmation message. Then test approval, cancellation, rescheduling, payment and reminder messages separately. Check the booking plugin's logs and the SMS provider's message logs if a text does not arrive; if the provider has no record of the message, the failure is probably in WordPress or the booking workflow.

For the fast route, use the BookingPress SMS Notification Addon if your site already uses BookingPress. It is designed for appointment-status SMS, custom templates and multiple gateways, including 36 predefined gateway options. Choose it when immediate texts matter more than relying on email alerts, but still send test bookings before enabling it for customers. Provider filtering, invalid numbers, missing consent and an unreliable cron process can still prevent delivery.

The fast route

Let BookingPress SMS Notification Addon do it

Appointment-status SMS with customizable templates and 36 gateways; choose it when instant texts matter more than email alerts.

Get BookingPress SMS Notification Addon

Sources

  1. wpbookingsystem.com /documentation/sms-notifications/?utm_source=openai
  2. help.twilio.com /articles/223183008-Formatting-International-Phone-Numbers?u…
  3. webba-booking.com /documentation/sms-notifications/?utm_source=openai
  4. twilio.com /docs/messaging/guides/debugging-common-issues?utm_source=op…
  5. twilio.com /docs/api/errors/60703?utm_source=openai

Questions

Can WordPress send appointment SMS without a plugin?
Not with WordPress core alone. You need an appointment system that knows when a booking is created or changed, plus code that sends the relevant data to an SMS provider. You also need to handle authentication, failed requests, phone-number validation, consent and scheduled reminders. For most sites, extending the existing booking plugin is safer than building the whole notification workflow from scratch.
What SMS messages should an appointment site send?
Start with booking confirmation, approval, cancellation and rescheduling messages. Add payment confirmation if customers pay online, then add a reminder such as 24 hours before the appointment. Avoid sending every possible status by default because duplicate texts annoy customers. Use separate templates for customers and staff, and include the appointment date, time, service and business name in each message.
Why are appointment reminder texts arriving late?
Late reminders usually indicate a scheduling problem rather than an SMS delivery problem. Many WordPress booking plugins use WordPress cron or an internal queue for scheduled notifications, so low-traffic sites, blocked cron requests or server configuration can delay processing. Check the booking plugin's scheduled-task documentation, the WordPress cron status and the SMS provider log. Instant status texts may work while reminders still fail.
Why are SMS messages not being delivered?
Check the customer's number, country code, consent status, gateway credentials and sender configuration first. A provider may reject local-format numbers, unapproved senders or messages blocked by carrier filtering. If the message appears in the provider log as failed or undelivered, use its error code. If there is no provider record, inspect the booking plugin's notification settings and WordPress error logs.
Do I need a separate SMS provider account?
Usually, yes. Booking plugins and SMS add-ons generally connect to an external gateway rather than transmitting texts themselves. You create the provider account, obtain the required credentials and sender details, then enter them in the plugin's SMS settings. Some booking products support several gateways, but the available choices and setup fields vary, so follow the documentation for your specific plugin and destination countries.