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
Zoho Projects Android and iOS app update: Mobile device permission based on user profiles
Hello everyone! We have brought in support for mobile device permissions based on the user profiles which are configured in organization level. Administrators can now configure the permissions on the web app(projects.zoho.com) by following the steps mentioned
treatment for rehires
Hello, we are aware of the fact that Zoho People at the moment does not has a provision for rejoining exited employees. But is there any quick fix or hack to this? It will be appreciated a lot.
Zoho Projects Android and iOS app update: Timesheet module is now renamed as 'Time Logs', delete option has been renamed to 'Trash'.
Hello everyone! We have now renamed the Timesheet module as Time Logs and the delete option as 'Trash' on the Zoho Projects Android and iOS app. Time Logs Android: Time Logs iOS: Trash option Android: Trash option iOS: Please update the app to the latest
Zoho Mail app update: Manage profile picture, Chinese (Traditional) language support
Hello everyone! In the latest version (v3.1.9) of the Zoho Mail app update, we have brought in support to manage profile picture. You can now set/ modify the profile picture within the app. To add a new profile picture, please follow the below steps:
Reminders for Article Approval
Is there a way to send reminders for approvers to review articles and approve/deny them? I'm not seeing that option anywhere.
Add Full-Screen Viewing for Quartz Recordings in the Client Interface
Hi Zoho Team, We would like to request an enhancement to the Zoho Quartz client interface when viewing submitted recordings. Current Limitation: When viewing a Quartz recording from the client (user) interface, there is currently no option to switch the
2025 Recap: A Year to Remember | Zoho Inventory
Important Update : Pipedrive deprecated fields no longer supported in Zoho Analytics
Dear Pipedrive users, We would like to inform you about a recent update related to your Pipedrive integration with Zoho Analytics. The Pipedrive team has deprecated certain fields from their application. You can find more details in the official Pipedrive
Product Updates in Zoho Workplace applications | November 2025
Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications this November. Zoho Mail Format comments easily using Slash Commands With Slash commands, you can easily format text, insert
Right-Click Pipeline to Open in New Tab
Please add the ability to right-click on a pipeline to open it in a new tab
Adjusting Physical Inventory
Not getting very far with support on this one, they say they are going to fix it but nothings happened since November. Please give this a thumbs up if you would like to see this feature or comment if you have some insight. Use Case: Inventory set to be
I need to Record Vatable amount and non vatable amount separately in zoho books in a single line
I need to Record Vatable amount and non vatable amount separately in zoho books in a single line give me the customisation option and in invoice copy to customer the total amount should be inclusive 5%vat and no need to show the vatable and non vatable
sync views to sheet
Im looking to sync my views aka reports in analytics to zoho sheets, when data is updated in analytics it also should be updated in sheets, till now zoho sheets only offer raw data connection and it is not enough as these reports are difficult to re-do
How to update the Status in a custom module?
Hi, I have a custom module "cm_payment_registry" in Billing, I am trying to change the status which is "Draft" with: array = {"custom_status":"Approved"}; zoho.billing.update("cm_payment_registry",organization.get("organization_id"), XXXXXXXXXXXXXX, array,"connectionname");
Opening balances - Accounts Receivable and Payable
Our accounting year starts on 1st August 2013 and I have a Trial Balance as at that date, including Accounts Receivableand Accounts Payable balances, broken down by each customer and supplier. Q1 - do I show my opening balance date as 31st July 2013 or
Replace Zoho Invoice with QuickBooks
We are implementing Zoho FSM for a cleaning business in the US with 50+ field workers. This business has been using Quickbooks for accounting for decades and will not migrate to Zoho Books. A major issue in the integration is the US sales tax calculation.
2025 Highlights: A Year of Steady Progress and Significant Developments
As we come to the end of 2025, let's take a moment to reflect on the significant progress and developments we've made to improve your travel and expense management. In the Spotlight Introducing Online Booking (US edition only - Early access) Enable online
Function #42: Show the actual rate of items on invoices
Hello everyone, and welcome back to our series! In Zoho Books, you have the ability to create Price Lists, wherein you can mark up and mark down the item rates by a specific percentage or set custom rates. Generally, when you apply a price list to an
Ability to Set Text Direction for Individual Cells in Zoho Sheet
Dear Zoho Sheet Team, We hope you are doing well. We would like to request an enhancement in Zoho Sheet that allows users to set the text direction (right-to-left or left-to-right) for individual cells, similar to what is available in Google Sheets. Use
Warehouse fast processing
Hey guys, would anyone be interested in something like the attached image ? If there's any interest I'd be willing to develop it further for others to use, it's much faster than using Zohos native solutions, it can part pack, pack in full, part ship,
Can I create a CODE 128 custom field for my items in Zoho Inventory and then use it for generating Sales Orders?
Can anyone helps me, I don't want to use the SKU code for scanning my products. Because all my products have a CODE-128 label attached.
Start/Stop Timmer in Chrome Extension
The chrome extension is great and allows you to do allot however one of the most common things employees working on projects need to do is track their time. Having an easy start/stop timer to track time would be great.
Invalid collection string
I haven't changed anything in one of my functions. I'm trying to run it manually and suddenly "Invalid collection string" appears. My code has 6 lines and the error says that the error is on 7th line. Why? What does this error mean? Nothing has been changed
Zoho Directory 2025: New Features | Security Enhancements | Enriched UI
Hello everyone, Greetings from the Zoho Directory team! 2025 has been a highly successful year for Zoho Directory. We are delighted to introduce a fresh set of features, an enriched UI, and major product enhancements. These updates aim to deliver a smoother
zoho people 5 report
How do I customize my report in Zoho People Report? I understand that I can get the results of multi-table queries through SQL join statements, but I don't know the relationship between each table. I tried to create a report using Attendance User Report
Leave Report Emailed Weekly
I am wondering if someone knows how to have a report generated either weekly or monthly or both for department heads and ownership of upcoming employee leave. For instance, it would be nice to get an emailed report on Friday for the upcoming week of who
Zoho Flow Decision Continuing Despite Not Meeting Conditions
I have a picklist field called Lead Status in the leads module, with the following lead Statuses: New Lead Attempted Contact - 1 Attempted Contact - 2 Attempted Contact - 3 Attempted Contact - 4 Attempted Contact - 5 Attempted Contact - 6 Attempted Contact
Tip #55- Accessibility Controls in Zoho Assist: Exploring Vision Settings- 'Insider Insights'
As we approach the end of the year, it’s a good moment to reflect on how we can make our tools more inclusive and easier to use for everyone. Remote support often involves long hours in front of screens, varied lighting conditions, and users with different
Zoho Recruit Slow and Freezing on all screens
We have had an issue with Zoho Recruit for weeks being extremely slow and at times freezing. We have 100 mega internet, and I went into each computer and updated the virtual memory so there is more available. Also restarted all computers daily. Still having the issues. Almost unable to work.
Credit Management: #2 Configuring Right Payment Terms for Credit Control
Think about the last time you ordered something online and saw that little note at the checkout, "Pay on Delivery" or "Pay later". It's simple, but it actually sets the tone. As a business owner, you know exactly when payment is expected. Now, imagine
Dependent (Conditional) Fields in Zoho Bookings Forms
Hello Zoho Bookings Team, Greetings, We would like to request the ability to create dependent (conditional) fields in Zoho Bookings registration forms. Current Limitation: There is currently no way to make one field’s available options depend on the value
Bug Report: Search fails to find existing notes after Evernote import
Hello, I recently migrated from Evernote (~2600 notes across 23 notebooks), but the search functionality is currently broken. The Issue: I can manually browse to a specific note and see it exists. However, when I type the exact or partial title of that
Marketing Tip #13: Win repeat customers with post-purchase emails
The relationship with your customer doesn’t end after the sale; that’s when it begins. A thoughtful post-purchase message shows customers you appreciate them, keeps your brand top of mind, and can even lead to another sale. You can thank them, ask for
Zoho Form
I have problem with Zoho Form. One of form i don't received the PDF version. Others okay except this one. W904533
Create & Update Zoho Vault Passwords via Zoho Flow
Hi Zoho Flow / Zoho Vault Team, We’d like to request an enhancement to the Zoho Vault integration in Zoho Flow. Current Limitation: At the moment, Zoho Flow supports only the following selected Zoho Vault actions, such as: Fetch passwords, Share passwords
Custom Related List Inside Zoho Books
Hello, We can create the Related list inside the zoho books by the deluge code, I am sharing the reference code Please have a look may be it will help you. //..........Get Org Details organizationID = organization.get("organization_id"); Recordid = cm_g_a_data.get("module_record_id");
Migrate different zoho subscription to zoho one
Dear We have different zoho subscription we need to migrate it to zoho one. Currently we are paying for zoho email, zoho expense, zoho payroll etc under different admin We need to move it too zoho one flexlible plan for all my employees
Features, Feedback and Votes
We’re launching the Feedback Forum for our customers. This is 'THE' place where you can add everything you’d like to see in Zoho Books. If you don't find the specific feature you need, simply add it so others can also vote for it. While we cannot promise
Payment system for donations management
I manage an organization where we receive donations from payers. Hence, there is no need to first create invoices and then create payments received against the invoices. What are the recommended best practices to do this in ZohoBooks?
There Might Be A Glitch in Determining If A String Represents A URL
I suspect there might be a glitch in determining if a string represents a URL or not. For example, I cannot embed the following URL. Perhaps the exclamation mark or parentheses are the culprit? https://en.wikipedia.org/wiki/How_the_Grinch_Stole_Chri
Next Page