Reduce No-Show Rates with WhatsApp Reminders

December 09, 2024
Written by
Matthias Damm
Contributor
Opinions expressed by Twilio contributors are their own
Reviewed by

Meet Matthias Damm, a proud Twilio Champion passionate about building innovative solutions using Twilio's powerful communication tools. As part of the Twilio Champions program, he actively shares insights and experiences to inspire and empower fellow developers in the community. Discover how his projects leverage Twilio's capabilities to create impactful applications. Interested in joining the program? Learn more about becoming a Twilio Champion here.
Red Twilio logo and green WhatsApp logo on a dark grid background.

Nothing is more painful for small businesses than having an appointment canceled at the last minute or a customer not showing up at all. Every appointment is potential revenue, so when one doesn't take place, it's not just lost income but also wasted resources—you still have to pay your employees and bear overhead costs.

In today's fast-paced world, reducing no-shows is crucial for improving efficiency and boosting your bottom line. In this tutorial, we'll explore best practices for minimizing no-show rates and demonstrate how to send WhatsApp appointment reminders using Twilio's Messaging API with Node.js.

Why Do No-Shows Happen?

Before diving into the solution, it's essential to understand why customers miss appointments. Nowadays many people are juggling multiple responsibilities, and it's easy for an appointment to slip through the cracks. Clients might forget not only the appointment itself but also to cancel or reschedule it. This forgetfulness isn't necessarily intentional.

Implementing an Effective Reminder Strategy

An effective reminder strategy involves engaging with your customers from the moment they book an appointment until the day it occurs. Here's how you can structure your communication:

  • Immediate Confirmation
  • Send a Confirmation Message: As soon as an appointment is booked, send a confirmation via email or SMS to acknowledge the booking.
  • Mid-Way Reminder
  • Schedule a Reminder a Few Days Before: Remind customers about their upcoming appointment a few days in advance. This gives them time to adjust their schedules if needed.
  • Last-Minute Reminder
  • Send a Reminder on the Day Before or Day Of: A final reminder ensures the appointment is fresh in their minds.

So what is the solution? Finding the right balance is key. Reminding too early might lead to forgetfulness, while reminding too late might not give customers enough time to reschedule if conflicts arise. For email reminders SendGrid is a perfect choice to get your messages delivered. The next chapter shows how you can send reminders with WhatsApp.

Why WhatsApp?

The choice of your channel for a reminder will depend on your audience and even country. For many WhatsApp is now a preferred channel when it comes to direct communication and it is more and more used by businesses. The choice of communication channel significantly impacts the effectiveness of your reminders. Here's why WhatsApp stands out. WhatsApp messages have an impressively high open rate of 98% according to Meta and the platform as a global reach of over 2 billion users.

Twilio has an API you can use to send SMS and WhatsApp messages, this makes it even more easy to use a multi-channel strategy.

Prerequisites

Before you start sending WhatsApp reminders using Twilio, ensure you have the following:

  1. Twilio Account

  2. Meta Business Manager Account

    • Create a verified Meta Business Manager account to connect your WhatsApp Business profile. You’ll need:
      • A legal business name
      • A business email address
      • Supporting documentation
  3. Node.js Installed

    • Install Node.js (latest LTS version recommended) to run the JavaScript examples in this tutorial. Download it from Node.js official site.

Once these are ready, you’re all set to follow along with the tutorial!

Connect WhatsApp with your Meta Business Profile

First you need to connect the Meta account with Twilio. Navigate to Twilio WhatsApp Senders on the Console, and on the landing continue by clicking “Get Started”.

Screenshot of a form configuring a text message for a church service announcement with preview and support channels.

You have two options to pick from, you can use a Twilio phone number to setup your WhatsApp Business Profile or you use an external phone: If you prefer to use a number you already own. Keep in mind that a Twilio number keeps you more flexible for the future, for instance you could instantly offer voice services on that number as well.

You'll be redirected to Facebook to link your account with Twilio. Follow the on-screen instructions to verify your number and complete the setup, this will require a few steps. After all this is done Twilio will create the WhatsApp Business Profile for you and you can easily manage it directly on the Twilio Console.

Create a WhatsApp Message Template

After you completed the basic setup you can start developing notifications. WhatsApp requires pre-approved templates for business-initiated messages. Here's how to create one. First open the Template Builder. Click on “create new” to create a new template. First, you need to select the type of template, for example you can send buttons or media messages. Right now, you just want to send a text message

Terminal displaying Laravel server running at http

Set a template name you will remember later, for example appointment_reminder, and choose a language your template is using. Click create and the editor is opened.

A dashboard interface showing a 'Send Announcement' button and a logged-in user named Steve Popoola.

Templates can contain placeholders you later fill with data. On the bottom left you find an “add variable” button to add the placeholders. It is formatted with double curly brackets in your text, for example {{1}} is your first placeholder. Later when you will send the message you will add a JSON object with the actual values for the placeholders. The final template looks like this.

hey {{1}}, please don’t forget your appointment on {{2}} at {{3}}. We are looking forward to see you

Our example uses three variables, the name, the weekday of the appointment and the time.

When you create a new template, it is not yet approved to use for a message you initiated with your customers (business-initiated conversation). After you are done editing press “Save and submit for WhatsApp approval” , this will start the approval process. If you go back to the list of templates you will see that the approval is still in progress, come back later to see if it was approved.

Setting up a Messaging Service

Next you need a Twilio Messaging Service, this allows to scale and manage your outbound communication, open the Messaging Service overview. Create a new service

User interface for setting up a messaging service with steps

Add a service name and select the “Notify my users” use case.

Twilio Messaging Service setup step 2 screen showing option to add senders and the add senders button.

Now configure the WhatsApp number as the sender, click on “Add Senders” and you get a selection of possible channels.

Dropdown menu in Twilio interface showing options to add different types of senders, including WhatsApp.

Pick WhatsApp Number from the list, press continue and select the phone number you connected with Facebook earlier. Messaging services offer many more features, for example you can receive inbound messages, use a link shortener and manage opt-outs. This blog post will only cover the basics to get a first outbound message through.

Sending the Message

Almost ready, so now that you have your messaging service in place, send your first message. In this post I will keep the code on how to send a message with Twilio to a bare minimum. If you have not used it before, follow the Messaging Quickstart in the program language of your choice.

In this request, use the template sid of your message and add the placeholder values as well. Sending an WhatsApp message in Node.

const message = await client.messages.create({
      from: messagingServiceSid,
      to: `whatsapp:${phonenumber}`,
      contentSid: contentSid,
      contentVariables: JSON.stringify({ 1: ”Alice”, 2: “Wednesday”  3: “10:00”}),
    });
console.log(
      `sent whatsapp to ${phoneNumber} - ${message.sid} - ${body} - sender ${serviceSid}, contentSid ${contentSid}`
    );

Summary

WhatsApp has become an integral part of daily life for many, with messages frequently read throughout the day. Using WhatsApp as a communication channel can significantly capture your customers' attention and help reduce no-shows.

I've outlined a few straightforward steps for you to use Twilio to send reminders via WhatsApp. If you have any questions or feedback, please don't hesitate to contact me.