Hit no-shows out of the ballpark by combining Zoho Bookings and SMS providers.
SMS notifications help you remind customers of their appointments and reduce no-shows by reaching out where they are.
In this guide, we'll configure an SMS provider called Twilio.
Prerequisites
- A Twilio Subscription
- You need at least one number to send messages from. It can be a short code, your personal number, a local number, or anything else. Twilio charges monthly for phone numbers. Check out Twilio's pricing page for more details.
- Since Twilio uses a pay-as-you-go model, there are no monthly commitments (except the sender number). The minimum recharge value is $20, and you can use it until the credits expire - Learn more about Twilio's pricing model here.
Things to Know Before Using Twilio
- You can share your Twilio subscription amongst multiple admins (if required).
- Twilio is responsible for everything except configuring SMS text (You can configure this inside Zoho Bookings).
- Both single and dual way communication is possible with Twilio
- Using Twilio, you can send messages across borders.
- Case 1: When you send messages from a US number to an Indian number, sender IDs might change. It ensures the deliverability of messages.
- Case 2: SenderIDs don't change when the sender and the recipient numbers belong to the same country.
- Twilio charges for text messages on a segment basis. (1 segment = 160 Characters). For instance, if you send an SMS with 200 characters, you'll be charged for two SMS credits - Learn more about it here.
- To find the number of SMS you'll be able to send with your top-up, use this formula:
- Number of SMS that can be sent = (Top Up Value - Phone Number Price)/ Message Per SMS
- Let's assume you belong to the US and recharge for $20. You've also opted for a long code that costs $1.16 (with carrier fees), the equation would look like
- Number of SMS that can be sent* = ($20 - $1.16)/ ($0.0079) = 2200.
- You'll be able to send approximately 2200+ SMS with this. (If you don't buy additional phone numbers in the US)
- Note - The calculation is only an approximate estimation of the number of messages that you can send. This is because factors like carrier fees, and per-message rate change often and vary widely across different service providers.
- Twilio credits are one-off amounts that don't expire until you use them.
- Your Twilio account will get suspended once your account balance reaches zero. To avoid this, Twilio sends a notification to your email requesting you to refill your funds when the balance hits $5.
- Another way to prevent your account from hitting zero you can set up an auto-recharge trigger for a minimum of $10. When your balance hits $10, you can automatically set it up to top up your account. Check out this page for setting up automatic payment triggers.
A2P 10 DLC Registration (only if you wish to send messages to the US)
Note - This is only necessary if you send messages to the United States. (Regardless of where you send your messages from - inside or outside the US)
- If you send messages to the US, you should register for A2P 10 DLC. (Application to Person 10 Digit Long Code messaging protocol)
- A2P 10DLC is a secure way to communicate with businesses and ensures that the messages are relevant to the recipients. We highly advise you to register for A2P 10 DLC Protocol as numbers without it will incur higher fees and even service disruptions from June 1, 2023. This is to comply with US messaging regulations. You can learn more about it here.
- A2P 10 DLC registration is only possible with a Twilio premium subscription and not for trial accounts.
- To do this, navigate to Phone Numbers > Manage > Active Numbers > Click on a Number.
- Under Messaging Configuration, click on 'Go to 10DLC registration.'
Note - You cannot integrate multiple SMS providers to Zoho Bookings simultaneously.
Configuring Twilio with Zoho Bookings
2. You'll be redirected to the following screen once you've signed up. Check your mail inbox.
3. Your email would look like this. Confirm your account.
4. Twilio asks you to secure your account with a phone number. Enter your number and click on Send verification code/Get code via phone call depending on your choice.
5. Once you've confirmed your phone number you can fill in the onboarding form and click on get started with Twilio.
6. You'll be redirected to the Twilio dashboard.
- 'My first Twilio account' is the account name of your Twilio SMS account. If you have multiple Twilio SMS accounts you can navigate it from here
- The Phone numbers tab helps you to
- Manage all your Phone numbers
- Buy new Numbers
- Release a Phone number
- When you sign up for a Twilio account, you'll get $15.50. You can get a trial number using this to test their configurations before opting for a premium plan.
7. Let's get a phone number from Twilio. Click on 'Get a Twilio Phone Number.'
8. Twilio will assign you a phone number. Now let's configure Twilio with Zoho Bookings.
Note - To get a premium number, navigate to Phone numbers > Manage > Buy a Number
Choose which country's number you wish to get, SMS (as capability), and click search. You can click on buy to obtain the number.
9. Scroll to the bottom of Twilio's main dashboard. You'll find three fields here, Auth Token, Account SID, and your Phone number. We'll paste all this data to integrate Zoho Bookings and Twilio.'
10. Now log in to your Zoho Bookings Dashboard. Navigate to Integrations > Others > Twilio. Hover over Twilio and click on Configure.
11. Copy and paste the details from Twilio to the corresponding fields in Zoho Bookings. Once you have pasted the details, click 'Configure.'
Note: While pasting the phone number, remove the country calling code. In this case, my phone number was +13203628918. '+1' is the country calling code. Remove it and paste the rest (i.e., 3203628918 without any spaces/symbols in between)
12. Hover over the created Twilio connection and click enable. Reload the page if the connection is still not active. You've successfully integrated Twilio with Zoho Bookings.
Editing Your Twilio Connection
To edit your Twilio connection, hover over the Twilio integration and click on edit. Once you've made the changes, click Configure.
If you wish to remove your Twilio connection, hover over the Twilio integration and click remove.
A pop-up appears asking you to confirm. Click 'Proceed' to delete your Twilio connection.
Note - While Editing or Removing your Twilio connections, if the changes don't reflect immediately, reload the page for the changes to reflect.
Configuring SMS Notifications
To configure SMS notifications for one on one bookings, navigate to services > service notification.
To configure SMS notifications for group/ resource bookings, navigate to settings > workspaces > notifications.
You'll see two tabs here. 'For Staff' and 'For Customers.' Zoho Bookings allows you to send eight different types of SMS under each tab.
You can configure Zoho Bookings to send SMS using Twilio when you change the appointment status to
- Booked
- Rescheduled
- Canceled
- Marked As Completed
- Marked As No Show
Alternatively, you can set up to three reminders before your appointment time.
Illustration: Let's send SMS notifications to a customer when an appointment(one-on-one) is booked.
- Make sure that the checkbox is enabled corresponding to the booked notification in the customer tab. It ensures that the customer receives an SMS notification when an appointment is booked.
2. To customize the messages that will be sent, click on customize. You can change the message and insert dynamic variables like meeting info, customer name, meeting date, and more into your outgoing messages. Click 'Save' once you are done with the changes.
The customer receives the following message when an appointment is made.
Note that the message is from the number '59039000' and not my original phone number. This is because the message is sent from a US number to an Indian Number. So the original long code is replaced with this number to ensure seamless deliverability.
If the sender and recipient belong to the same country, then the SenderID (i.e., your phone number) doesn't change.
There are cases where you might want to block incoming messages. For example, customers might reply to your SMS notifications requesting a reschedule or cancellation. This breaks the flow of Zoho Bookings and introduces unnecessary manual work. If that's the case,
check out this document to block all incoming messaging.
SMS Customization Recommendations
- Since each message can accommodate only 160 characters, we recommend keeping your message crisp. Include vital info like appointment date, time, and business name.
- Avoid using emojis in your sms. As a single emoji consumes a lot of characters.
- We recommend you have your entire message length from 160 to 320 characters (i.e., 1 to 2 messages per message) to avoid consuming too many message credits for a single SMS.
Zoho Bookings Plans supporting this feature
If you want to start a trial of the Zoho Bookings Premium plan, please send an email to
support@zohobookings.com including the word 'Twilio' in the subject line.
Recent Topics
Apple Messages for Business in Omnichannel communications?
Hello, Apple launched "Apple Messages for Business" but Zoho CRM or Zoho Desk don't appear in the list of possible integrators. Zoho already promotes https://www.zoho.com/crm/omnichannel.html Omni Channel integration, but Apple Messages does not yet appear.
Kaizen #140 - Integrating Blog feed scraping service into Zoho CRM Dashboard
Howdy Tech Wizards! Welcome to a fresh week of kaizen. This week, we will look at how to create a dashboard widget that displays the most recent blog post of your preferred products/services, updated daily at a specific time. We will leverage the potential
Schedule meeting monthly on a particular day
Suppose I wanted to schedule HR meeting every month on the first Tuesday with each employee separately for 20 minutes each. How could I automate these type of meetings? And if Sunday occurs on the first Tuesday I would like to shift that meeting on next
In ZohoCRM Dashboards - Editing Shown Columns on Drilldown of Components
Hello! I'm working with some Dashboards inside of ZohoCRM. When creating a component (In this case, specifically a KPI Ranking Component), I'd like to customize which fields show when trying to drilldown. For example, when I click on one of the sales
Multibrand Help Center - Share knowledge base catgories between multiple departments
Hello, I would like to know if it is possible to share categories between multiple departments when the multi brand feature is enabled. So that then one portal exists per department, but certain categories are visible in multiple portals. After all, we
Added Domain but SSL is not being set properly
We added a Domain for our landing page and it pushed an SSL cert to it. The Cert is generated by LetsEncrypt, but it doesn't match our subdomain (i.e., it's just pointing to zohosites.com). How do we get the cert properly setup there?
Zoho CRM Widget not displaying 2 related lists (JS)
Okay so I basically have 2 relatedLists that I want to get and render: ZOHO.CRM.API.getRelatedRecords({ Entity: data.Entity, RecordID: data.EntityId, RelatedList: "Notes", page: 1, per_page: 200, }) ZOHO.CRM.API.getRelatedRecords({ Entity: data.Entity,
Sharing Knowledge Base articles across multiple departments
It would be useful to share some Knowledge Base articles across multiple departments where they are applicable, rather than having to go into other departments to find the article you're looking for. For example. Our reception uses the 'Admin' desk whereas our IT guys use the 'Support' desk, however both divisions would find KB articles about our company intranet useful. Reception does not have access to the support desk, so cannot see articles created in the Support KB. Perhaps you could install
Iteration through a list - Coming up against a "Failure to update function" error
Hi there! I've been attempting to get a deluge script working and am running into an error that I have been unable to resolve. The error I am getting is Failed to update function Error at line :18. Improper Statement. Error might be due to missing ';'
KPI widget with percentage
I'm trying to create a KPM widget that displays current performance as a percentage - something like the picture below. I've tried following the instructions at https://www.zoho.com/analytics/help/dashboard/kpi-widgets.html#chart but nothing ends up being
Canvas List View Not Saving
Hi, I am trying to edit a list view to look different depending on the tags. Everything worked well and saved well with multiple views, but when I have gone back in to make some small changes like moving one of the icons it comes up with the error message
Team Inbox is not working AGAIN
I like Team Inbox in general. It makes using a collaborative inbox easy - when it works. The problem is that it doesn't work at times - and it seems to not work, a lot. It's not catastrophic failure, it's little things. Unable to send messages Unable
QR code image is not exported in PDFs
The new QR code field works fine when I include it in a report template and I choose the print option: https://creatorapp.zoho.com/<username>/<app_link_name>/record-print/<report_link_name>/<record_ID>/ But when I try to save the document to a .pdf file
QR codes in templates
I'm excited about the new QR code generator. I have included a QR code that contains the record ID setting "${ID}" as input data. In the report detail it works perfectly but when printing it in a template the code is not shown.
This mobile number has been marked spam. Please contact support.
Hi Support, Can you tell me why number was marked as spam. I have having difficult to add my number as you keep requesting i must use it. My number is +63....163 Or is Zoho company excluding Philippines from their services?
geographic search filter in map view
Hi, I have a recruiting and timesheet system built in Creator. The client wants to enhance the search for candidates based on their location and filter by job skills - currently they look on the Map View which uses the geo location or post code of the
Real Estate CRM
How can I tailor my CRM for real estate? I had seen an image where the CRM included property tabs.
Zoho CRM search not working
The search bar is not showing any results in our CRM installation. We have a lot of items and can not search them by using the navigation each time. Can someone please check this asap.
Reload page with widget
Hi all, I hope I can find some help here. I developed a small widget for Creator that is integrated into a page as a component. The page contains other content as well. When the widget is sent, the entire page should be reloaded to apply the changes to
Tip of the week #37 - Manage all your Telegram business conversations directly from your shared inboxes.
Tired of switching between multiple apps to manage your business conversations? With Zoho TeamInbox's multichannel inboxes, connect your Telegram channel to a shared inbox. This way, your teams can easily handle c View, reply, and collaborate on them
Tags on notes aren't syncing correctly on Android
I've created notes on the desktop version that have several tags assigned, but on both my Android devices those notes only have ONE of those tags instead of all of them, despite the actual content of the note being correctly synced, and I'm also starting
Reports - custom layout - duplicate report
Do you also have this problem and what is the possible solution? I duplicate a report that has a "custom layout". Unfortunately the custom layout is not duplicated. To be improved for a future release by Zoho. I export the custom layout and import it...
"Copy Field Values from one Module to another" how to use?
Hi everyone! I'm sorry if this question was already asked, I didn't find it! So let me explain: In my Tickets module, we have the custome field "customer type" where we indicate if it's a lead, user, etc... In the Contact module I used the "type" field with exactely the same entries. I would like when in the tickets module an operator choose an option that it automatically update it in the contact module. I found the "Copy Field Values from one Module to another" custom function which seems perfect
How to map a global picklist from one module to another
Hi there, i currently have a new field that is called sales office which we use for permission settings between our different offices located in different countries. It is a global set picklist with three different options: MY, SG and VN. I want to be
Pageless mode needed to modernise Writer
When we switched from GSuite to Zoho, one of the easiest apps I found to give up, was Docs. In many ways, Writer has always been more powerful than Docs, especially in terms of workflows/fillable forms/etc. However, I went back into Docs because I notice
Changing the Logo Size on Zoho Sites
My company logo incorporates both an image and text, and I would like it to be much more prominent on the page than is currently allowed by the small logo box in the template. Is there any way to hide the page name and then make the logo box much bigger since my company name and logo are connected / are all in one file? Thank you.
Is it possible to Select Item Serial Numbers from a Sales Order?
Our accepted estimates are converted to Sales orders for our warehouse staff to pick. How can my warehouse staff select the serial numbers for an item when editing a Sales Order? Logically when staff pull an item and have the serial in front of them they update the Sales Order and select the serial. I understand a serial can be added when creating an invoice but how can accounts team know the serial if the warehouse staff can't select it! A basic flaw!
MORE BUGS: Client Script, Deluge and Widget JS SDK don't work as expected when trying to retrieve a record that has been "rejected" as part of an approval process.
Client Script $Page.record is null when accessing a record that has been "rejected" as part of an approval process. Deluge zoho.crm.getRecordById(moduleName, recordId) returns {"status":"failure"} when recordId is a valid, but rejected record. OK... I
Zoho CRM Widget not displaying 2 related lists (JS)
Okay so I basically have 2 relatedLists that I want to get and render: ZOHO.CRM.API.getRelatedRecords({ Entity: data.Entity, RecordID: data.EntityId, RelatedList: "Notes", page: 1, per_page: 200, }) ZOHO.CRM.API.getRelatedRecords({ Entity: data.Entity,
Recurring Events Not Appearing in "My Events" and therefore not syncing with Google Apps
We use the Google Sync functionality for our events, and it appears to have been working fine except: I've created a set of recurring events that I noticed were missing from my Google Apps calendar. Upon further research, it appears this is occurring
Zoho Books and Zoho Projects Task Status Update
How can we create an automation using custom functions for the following scenario. When our zoho books invoice status changes to paid. I want a task in Zoho projects to change to completed.
Different content per social media account..
Is there a way to add different content per social media account on one post?
Assigning Tasks and Requests to Groups... how do I?
Guys, I've spent many hours exploring Zoho Support and we are generally satisfied with the system. I'm trying to understand how a system that has so much to offer can be missing GROUP assignment and queue functionality. I am hoping that there is a way
Parsing of SQL query failed. Please check the SQL syntax.
I am trying to have Zoho Analytics recognize that if the a Deal is in Stage "Need Docs" it should also be counted as a Deal in the Stage "New Lead" /*New Lead*/ SELECT "ID" 'New Lead' AS "Stage" From "Deals" Where "Stage" = 'Need Docs' Union All Error
Where is the setting to enable/disable 2FA?
The following links show where enable/disable 2FA is supposed to appear, but neither appear for me: https://help.zoho.com/portal/en/kb/zohosites/faq/account/articles/how-do-i-enable-or-disable-two-factor-authentication-for-my-account shows Security >
How to Assign Record Ownership in a Custom Form via API?
Hello everyone, I’ve created a custom form in Zoho People and I’m using the API to manage its records. I would like to know how I can assign ownership of these records to specific users via the API. Is there a specific parameter or field in the API request
Customer Statement Template not matching when sending
Hi everyone! So when I send statements to our customers via Zoho Books, the message that appears by default does not match what I have written on the template Under settings -> email notifications -> sales -> customer statement We have a single default
Working with keywords
Hello everyone, first time here so I will try to be brief. I am working on my company's data set. I have a table with all the images we have on line. For each image we hava a cell tha contains all keywords related to that image. I would like to explore
Unlocking New Horizons: A Year in Review
As we bid farewell to 2024, let's celebrate and revisit the key highlights of the year. From adding a new edition to cross-platform enhancements, here’s a roundup of all the feature updates designed to simplify accounting, optimize financial management,
Peppol Malaysia API
Hi Zoho Books, my country Malaysia will going to implement "Peppol" (E-Invoicing), starting 1 Jul 2025 for all businesses. The government intends to provide API for accounting app. The workflow involves creating an invoice from accounting app, triggers
Next Page