RepairPluginDocs

SMS & WhatsApp via Twilio

Connect Twilio to RepairPlugin to send booking updates and reminders to your customers by SMS or WhatsApp, with a test tool and message logs.

smswhatsapptwilionotificationstemplatesreminderslogs

What can you do with this?

  • Reach customers on their phone -- send booking updates by SMS or WhatsApp, with Twilio as the sender.
  • Pick the messages you want to send -- turn each notification on or off, like Booking Pending, Booking Canceled, or Reminder.
  • Write your own short texts -- edit the message for every notification and every language, with dynamic variables like the customer's name.
  • Start with SMS in minutes -- SMS works as soon as you save your Twilio details. There are no templates and nothing to sync.
  • Let RepairPlugin handle WhatsApp templates -- WhatsApp requires an approved template for every message. RepairPlugin creates and updates them in Twilio for you.
  • Test and track delivery -- send a test message and check the log of every message RepairPlugin sent.

Example: A customer books a screen repair for tomorrow at 2 PM. They get a WhatsApp message from your shop that confirms the booking. Two hours before the appointment, they get a reminder on their phone.

Where to find it

  1. In your WordPress admin, click RepairPlugin.
  2. Click Settings.
  3. In the settings sidebar, click SMS Settings & Logs.
  4. Use the Settings, SMS Test, and SMS Logs tabs at the top of the page.
https://www.repairplugin.com/wp-admin/admin.php?page=wp_repair_settings&section=sms_settings
The SMS Settings & Logs page before setup, with the Enable SMS Notifications switch, the three Twilio fields, and the Message Delivery Channel set to SMS

You edit the messages themselves on another page: RepairPlugin > Settings > Notifications & Quotes, in the SMS Notifications section.

How to set it up

Choose SMS or WhatsApp first

Both channels use the same Twilio account and the same settings page. The big difference is the setup:

SMSWhatsApp
Ready to useRight after you save your Twilio detailsAfter WhatsApp approves your templates
TemplatesNot neededRequired by WhatsApp. RepairPlugin creates them for you
Sync with TwilioNoneRepairPlugin syncs your templates with Twilio
Template overview on the settings pageNot shownShown at the top of the page
Rules for your message textNone from WhatsAppWhatsApp reviews every text
Extra step in TwilioNoneRegister your number as a WhatsApp sender
Approve Link and conditional sections in your textAvailableNot available

Using SMS? Follow the steps under Set up SMS below. You can skip everything under Extra steps for WhatsApp. You won't see any template messages, and nothing syncs with Twilio.

Using WhatsApp? Follow the steps under Set up SMS first, then continue with Extra steps for WhatsApp.

Before you start

Make sure you have:

  • RepairPlugin version 3.4.0 or higher, with an active license key.
  • A Twilio account. You can create one for free at twilio.com.
  • A Twilio phone number that can send SMS.
  • Enough Twilio balance for your messages and the monthly fee of your number.

Set up SMS

1. Create a Twilio account and log in

  1. Go to twilio.com and click Create an account for free.
  2. Already have an account? Enter your email address, click Continue, and log in with your password. Twilio also asks for a verification code.
https://www.twilio.com/login
The Twilio login screen with the Email address field, the Continue button, and the Create an account for free link

After you log in, you land in the Twilio Console. That's the dashboard of your account.

https://console.twilio.com/
The Twilio Console home page showing the Account SID and Auth Token fields and the available balance at the top right

2. Get a phone number with SMS

  1. In the Twilio menu on the left, go to Communications > Numbers & senders.
  2. Click Set up a new phone number and pick a number.
  3. Make sure SMS is on under Capabilities.

Your number now shows under My Inventory. Check that Traffic Status says Messaging enabled before you continue.

https://console.twilio.com/
The Numbers & Senders page in Twilio showing a phone number under My Inventory with SMS under Capabilities and Messaging enabled under Traffic Status

3. Check your Twilio balance

Twilio charges per message and per month for your phone number. When your balance runs out, Twilio stops sending your messages.

  1. Find your balance at the top right of the Twilio Console, next to Available balance.
  2. Top up through Billing in the menu on the left.

4. Connect Twilio to RepairPlugin

You need three things from Twilio: your Account SID, your Auth Token, and your phone number. You find the Account SID and Auth Token on the home page of the Twilio Console, below your account name.

https://console.twilio.com/
The Account SID and Auth Token fields in the Twilio Console, each with a copy icon
  1. In WordPress, go to RepairPlugin > Settings > SMS Settings & Logs.
  2. Turn on Enable SMS Notifications.
  3. Paste your Account SID into Twilio Account SID.
  4. Paste your Auth Token into Twilio Auth Token.
  5. Enter your Twilio number in Twilio From Number, in international format (for example +31 6 12345678).
  6. Leave Message Delivery Channel on SMS.
  7. Click Save Settings.

After saving, you'll see Active next to the page title. That's it: SMS works right away. There are no templates to wait for.

Do you see "There was an error while saving the settings"? Check your Account SID, Auth Token, and phone number, and save again.

From now on, customers have to enter their phone number in international format when they book, like +31 6 12345678.

5. Write your messages

Every notification starts with a placeholder text, like "This is SMS template for Booking Pending Notification." Replace these texts with your own before you go live. Otherwise your customers get the placeholder.

  1. Go to RepairPlugin > Settings > Notifications & Quotes and scroll to SMS Notifications.
  2. Use the switch next to a notification to turn its message on or off.
  3. Click + to open a notification.
  4. Click the globe icon in the SMS Message field to open Update Translations.
  5. Write the text for each language. Use the Dynamic Variables menu to add things like the customer's name or the appointment date.
  6. Turn off Send Duplicate if you don't want the location's phone number to get a copy.
  7. Click Save Settings.

You can write a message for these notifications:

  • Booking Pending
  • Booking Approved -- one for each service method: Come by our store, Send device, Pickup Service, and Repair on Location
  • Booking Canceled
  • Price On Request
  • PDF Quote
  • Reminder and Aftersales
  • Completed
  • Repair Notes -- only when you use the Repairs Workflow
  • Portal Register and Portal Forgot Password -- only when you use the Customer Portal

Good to know about the text:

  • Plain text only. An SMS message has no bold text, colors, or images.
  • No order summary. The Order Summary variable isn't available. Use Order Total instead.
  • Short links. Use Cancel Link and Reschedule Link to add a link. RepairPlugin shortens these links for you.

Do you use the Repairs Workflow? Each workflow status has its own Status sms template field. You find it under RepairPlugin > Settings > Repairs Workflow. See Repairs Workflow.

RepairPlugin uses these same messages for SMS and for WhatsApp.

https://www.repairplugin.com/wp-admin/admin.php?page=wp_repair_settings&section=notification_offer
The SMS Notifications list with a switch per notification and the Booking Approved notification opened, showing the SMS Message field and the Send Duplicate switch
https://www.repairplugin.com/wp-admin/admin.php?page=wp_repair_settings&section=notification_offer
The Update Translations popup showing the SMS text per language with a Dynamic Variables menu above each text

6. Set the timing for reminders and aftersales

  1. Open the Reminder notification and fill in Send it X hours before the appointment time.
  2. Open the Aftersales notification and fill in Send it X hours after the appointment time.
  3. Click Save Settings.

Reminder and aftersales messages need a cron job. The command is at the bottom of the Notifications & Quotes page. See Setting Up Cronjobs for the steps.

7. Send a test message

  1. In SMS Settings & Logs, open the SMS Test tab.
  2. Enter your own mobile number in Send To, in international format (for example +31 6 12345678).
  3. Click Send Test SMS.

The test goes through the channel you chose under Message Delivery Channel. RepairPlugin adds the test to the queue. Check the SMS Logs tab to see what happened to it.

https://www.repairplugin.com/wp-admin/admin.php?page=wp_repair_settings&section=sms_settings&tab=sms_test
The SMS Test tab with the Send To field and the Send Test SMS button

8. Check the logs

  1. In SMS Settings & Logs, open the SMS Logs tab.
  2. Look at To Phone, Message, Status, and Sent At for each message. The status is queued, success, or failed.
  3. Click View to read a message, or click the trash icon to delete it.
  4. Click Delete All SMS Logs to clear the whole log.
https://www.repairplugin.com/wp-admin/admin.php?page=wp_repair_settings&section=sms_settings&tab=sms_logs
The SMS Logs tab with the columns To Phone, Message, Status, Sent At, and Actions

Extra steps for WhatsApp

Everything in this part is for WhatsApp only. If your channel is SMS, you can stop here.

Why WhatsApp needs templates

WhatsApp only lets a business start a conversation with a template that WhatsApp approved first. Every notification needs its own template, in every language you use. That quickly adds up to hundreds of templates.

Keeping all of those up to date by hand in Twilio isn't doable. So RepairPlugin does it for you: it creates the templates in Twilio and updates them every time you change a message. That's the sync you see on the settings page.

1. Register your number as a WhatsApp sender

  1. In Twilio, go to Communications > Numbers & senders and open the WhatsApp tab.
  2. Click Create new sender and register the same number as a WhatsApp sender.
  3. Click Edit Sender next to your number and fill in your business profile.
  4. Click Update WhatsApp Sender to save.

Your customers see this profile in WhatsApp when they get a message from you:

  • Profile photo -- your logo as a JPG or PNG, square, at least 640 x 640 pixels.
  • Profile about -- a short line about your business, up to 139 characters. This field is required.
  • Business description, address, website, and email -- optional, but a good idea.
  • Business display name -- the name customers see as the sender. You can't change it here. To change it, send a support ticket to Twilio.
https://console.twilio.com/
The Business profile information form in Twilio with the profile photo, business website, business email, business description, and Profile about fields

When Twilio approves the sender, Sender status shows Online.

https://console.twilio.com/
The WhatsApp Senders tab in Twilio showing the number with Sender status Online, the Quality rating, and the Edit Sender link

2. Switch the channel to WhatsApp

  1. In WordPress, go to RepairPlugin > Settings > SMS Settings & Logs.
  2. Set Message Delivery Channel to WhatsApp.
  3. Click Save Settings.

RepairPlugin now starts creating your templates in Twilio. An overview of your WhatsApp templates appears at the top of the page. You only see this overview when your channel is WhatsApp.

https://www.repairplugin.com/wp-admin/admin.php?page=wp_repair_settings&section=sms_settings
The SMS Settings & Logs page with WhatsApp as the channel, showing the Active label and the WhatsApp template status overview above the settings

3. Wait for your templates to be approved

The overview shows how many templates have each status:

  • Queued For Creation -- new templates that still need to be created in Twilio.
  • Queued For Update -- templates you changed that still need to go to Twilio.
  • Pending -- templates WhatsApp is reviewing. This usually takes a few minutes, but it can take up to 48 hours.
  • Approved -- templates WhatsApp approved. RepairPlugin can send these notifications by WhatsApp.
  • Rejected -- templates WhatsApp rejected. RepairPlugin can't send these notifications by WhatsApp until you fix the text.
  • Total Templates -- the total number of templates.
https://www.repairplugin.com/wp-admin/admin.php?page=wp_repair_settings&section=sms_settings
The WhatsApp template status overview listing the number of Approved, Queued For Update, Queued For Creation, and Pending templates and the total

RepairPlugin sends the queue to Twilio every 5 minutes, so give it a moment. In Twilio, you'll find the templates under Messaging > Templates. The end of each template name shows the language code, like _pl for Polish.

https://console.twilio.com/
The Messaging Templates page in Twilio listing templates with their name, language, content type, channel eligibility, and last updated time

To test WhatsApp, open the SMS Test tab and use a number that has WhatsApp. RepairPlugin sends the test with one of your templates.

4. Follow the WhatsApp rules when you change a message

When you change an SMS message, its template moves to Queued For Update. Within 5 minutes, RepairPlugin removes the old template in Twilio and creates a new one with a version number at the end of the name (_v2, _v3, and so on). WhatsApp reviews the new template again, so it shows as Pending for a while. This also happens when the old template was already approved.

With WhatsApp as your channel, the Dynamic Variables menu is a bit shorter. The Approve Link and the conditional sections, like Admin Only Section, aren't available.

WhatsApp checks every template. Follow these rules to get your templates approved:

  • Don't start or end with a variable. Always put text before the first variable, like $CustomerName$, and after the last one.
  • Don't put two variables right next to each other. Put at least one word between them.
  • Say what the message is about. A text like Hi $CustomerName$, thanks is too general.
  • Keep the message on one line. Don't use line breaks, tabs, or more than 4 spaces in a row. This is one of the most common reasons for rejection.
  • Use 10 emojis or fewer per message.
  • Leave out WhatsApp links, like wa.me links. Write out a phone number instead.
  • Write each message in its own language. The German version has to be in German.
  • Avoid words about lotteries or prizes, like "win". WhatsApp also rejects texts that look like spam.
  • Stick to service messages. Messages about a booking or repair fall under the Utility category. If you add advertising, the template falls under Marketing, with other rules and rates.

5. Fix rejected templates

When the overview in RepairPlugin shows a number next to Rejected, WhatsApp rejected those templates.

https://www.repairplugin.com/wp-admin/admin.php?page=wp_repair_settings&section=sms_settings
The WhatsApp template status overview in RepairPlugin showing a number of Rejected templates
  1. In Twilio, go to Messaging > Templates.
  2. Click Add filters and choose Channel eligibility: Rejected.
  3. Look at the template name to see which notification and language it is. For example, repairs_workflow_status_..._en is a status message in English.
  4. Change that message in RepairPlugin so it follows the rules above.
https://console.twilio.com/
The Messaging Templates page in Twilio filtered on Channel eligibility: Rejected, with WhatsApp business initiated shown in red for each template

Within 5 minutes, RepairPlugin creates a new template with a new version in its name and sends it to WhatsApp again. You don't have to do anything in Twilio.

WhatsApp can also pause or turn off an approved template when customers often block your messages or report them as spam. You'll see this in Twilio as Paused or Disabled. Read more in Twilio's guide: WhatsApp template approvals & statuses.


Solve common problems

SMS and WhatsApp

  • No messages go out -- check your Twilio balance and make sure Enable SMS Notifications is on.
  • Reminders and aftersales messages don't arrive -- set up the cron job. See Setting Up Cronjobs.
  • A customer can't finish a booking because of the phone number -- ask them to enter it in international format, like +31 6 12345678.
  • You see an error about invalid phone numbers -- enter your company and location phone numbers in international format. Otherwise RepairPlugin can't send duplicate messages to that location.

WhatsApp only

  • Templates stay on Queued -- wait at least 5 minutes. RepairPlugin sends new and changed templates to Twilio every 5 minutes.
  • The WhatsApp test doesn't arrive -- check that your WhatsApp sender shows Online in Twilio and that the test number has WhatsApp.

Settings reference

SMS Settings

SettingDescriptionDefaultCustomers see
Enable SMS NotificationsTurns all SMS and WhatsApp notifications on or off. When it's on, the switch of each notification decides what RepairPlugin sends.offWhen it's on, they get your notifications on their phone. They also have to enter their phone number in international format when they book.
Twilio Account SIDThe Account SID of your Twilio account.empty—
Twilio Auth TokenThe Auth Token of your Twilio account. After you save, RepairPlugin hides part of the token and locks the field. Tip: Use the clear button in the field to enter a new token.empty—
Twilio From NumberThe Twilio phone number that sends your messages. Enter it in international format, like +31 6 12345678.empty—
Message Delivery ChannelSets how RepairPlugin sends your notifications: SMS or WhatsApp. With SMS, there are no templates and nothing syncs with Twilio. With WhatsApp, RepairPlugin creates and syncs your templates, and shows a template overview at the top of the page. Tip: Register your number as a WhatsApp sender in Twilio before you choose WhatsApp.SMSThey get your messages as a text message or as a WhatsApp message.

SMS Notifications

You find these settings under RepairPlugin > Settings > Notifications & Quotes.

SettingDescriptionDefaultCustomers see
Notification switchTurns the SMS or WhatsApp message for one notification on or off. Tip: Turn off the notifications you haven't written a text for yet.onThey only get the notifications you leave on.
SMS MessageThe text of the message, in plain text. Click the globe icon to edit it per language and to add dynamic variables. Tip: Replace the placeholder text before you go live. Keep the text on one line if you use WhatsApp.A placeholder text per notification, like "This is SMS template for Reminder Notification."They get this text, with their own booking details filled in.
Send DuplicateSends a copy of the message to the phone number of the location. If a location has no phone number of its own, RepairPlugin uses your company phone number. Not available for the two Customer Portal notifications.onNothing changes for customers.
Send it X hours before the appointment timeSets how many hours before the appointment RepairPlugin sends the Reminder message. Needs a cron job.2They get the reminder around that time before their appointment.
Send it X hours after the appointment timeSets how many hours after the appointment RepairPlugin sends the Aftersales message. Needs a cron job.2They get the follow-up message around that time after their appointment.

Frequently asked questions

Can I use SMS without WhatsApp?

Yes. Leave Message Delivery Channel on SMS and skip the extra steps for WhatsApp. SMS works right after you save your Twilio details. You don't need templates, you won't see the template overview, and nothing syncs with Twilio.

Why does RepairPlugin sync templates with Twilio?

Only for WhatsApp. WhatsApp requires an approved template for every notification in every language, which quickly adds up to hundreds of templates. RepairPlugin creates them in Twilio and updates them when you change a message, so you don't have to keep them up to date by hand.

Why didn't my customer get a WhatsApp message?

Check the template overview at the top of SMS Settings & Logs. RepairPlugin can only send a notification by WhatsApp when its template is Approved. Then check the SMS Logs tab for the status of the message.

Command Palette

Search for a command to run...