How to use Twilio to send appointment notification and reminder SMS in Zoho Bookings

How to use Twilio to send appointment notification and reminder SMS in Zoho Bookings

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

1. Sign in to your Twilio account. (Sign up here if you don't have one)



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.

  1. 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

Applicable in
Premium

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

        • How to loop through Multiple Upload and Display Actual File Name

          I have been reading the help on the File Upload Control and reviewed the Deluge help on files and I can not figure out how to loop through the uploaded files and do anything but get the automatically created file names. The code below will run but each
        • abou arattai

          I want to use the Arattai app for business purposes, so please convert my account to a business account.I have my own invoice app, and I want to link it with the Arattai app for direct messaging.
        • Overlapping Reports in Dashboards

          It's rare, but occasionally it would be a good feature if I were able to overlap reports, either fully or partially in the Dashboards. Also, then having the ability to move objects to the front or rear, or make them transparent/translucent would be good
        • Looking back at Zoho Calendar in 2025

          Hello Zoho Calendar Community, As we step into a brand-new year, we’d like to take a moment to thank you for being an active and valued part of the Zoho Calendar community. Your trust, feedback, and continued engagement motivate us to keep evolving and
        • There was an error while connecting to GSTN

          I am trying to file GSTR1. Everything flows smoothly until I reach the final step of filing the return. After I enter the PAN and OTP for filing it raises the error "There was an error while connecting to GSTN"
        • Zoho Books Extension: What Happens If Custom Fields Already Exist?

          When developing Zoho Books extensions, what happens if the target Zoho Books organization already has a custom field with the same API name as one defined in the extension? I’m asking because we originally created an on-Books version of this functionality,
        • Internal Server Error (500) When Attempting to View Banking Transactions

          I am experiencing an Internal Server Error (500) when attempting to view transactions across all of my banking accounts. Despite multiple attempts to resolve this, I have received little more than runaround from support, and the issue remains unresolved.
        • How do I add a blank line to the Organisation Address Format?

          I'd like to have my VAT number, for example, shown prominently by having a clear gap between it and the address block above, but any blank lines in the address format get ignored in PDF outputs.
        • Automatic Invoice Number generation for createRecord

          Hello, while testing some custom Buttons in my Zoho Books application, I noticed that I get an error that previously did not occur. After some further digging I found that the automatic transaction numbering of invoices no longer work in my organization.
        • Adding number of days to an estimate.

          I need both QTY of item and "number of days hire" in my estimates at the line item level. Any clues as to how this is done would be greatly appreciated. It needs to calculate. Thanks J
        • Books Api: listing expenses created after certain dates

          Is there any parameter I can add to the List Expenses endpoint that will let me look up expenses by when they were created?
        • Why can't we change the Account type from an Expense to an Asset?

          Like the question. Why in QuickBooks for example if I mistakenly created an account as an expenses and I already captured information in those accounts, I can just change the account type from expense to asset
        • Is it possible to do validation for the Actions added to Reports?

          We have an all-around On Validate function that checks all the possibilities before the Created/Edited form submissions. We want to have a button in the report view, so we can change records without entering. We are able to add this button, and it does
        • Ability to Edit Ticket Subject when Splitting a Ticket

          Often someone will make an additional or new request within an existing ticket that requires we split the ticket. The annoying part is that the new ticket maintains the subject of the original ticket after the split so when the new ticket email notification
        • [Free Webinar] Environments in Zoho Creator - Creator Tech Connect

          Hello Everyone, We’re delighted to kick off the 2026 edition of the Zoho Creator Tech Connect Series and are excited to continue this learning journey with you. The Creator Tech Connect series is a free monthly webinar featuring deep-dive technical sessions
        • Zoho Voice API SMS

          I made a post request in Zapier to try to send an SMS. Authentication appears to be configured correctly. I followed the documentation and I'm getting a 400 Error "Internal Server Error". Not helpful at all. Anyways, I could not find any information on
        • How do I change (error) display messages

          Hi! I would like to edit display messages like "invalid entries" and "enter a value for Nome" and so on into Italian language messages. How can I do that? Already tried on Validate on form submit. Where I am failing? Thanks in advance.
        • Record Overseas Transactions Along with CC charges

          Hi All, We receive payments via stripe in multiple currencies and stripe takes around 2.5% fees. The amount is settled in INR into our local bank. What should be the currency of the income account used for Stripe payments? Here is a sample flow that we
        • Easier onboarding for new users with stage descriptions

          Greetings, I hope all of you are doing well. We're happy to announce a recent enhancement we've made to Bigin. You can now add descriptions to the stages in your pipeline. Previously, when creating a pipeline, you could only add stages. With this update,
        • Pieds de page personnalisé - Document Zoho Writer

          Bonjour à tous, Je rencontre un souci avec l’ajout d’un pied de page personnalisé dans un document Zoho Writer. Je souhaite insérer les informations de mon entreprise (notamment un logo + adresse) dans le pied de page. Le problème, c’est que lorsque j’ajoute
        • Permissions on Views

          Having the option of any agent creating custom views is firing back and got a situation where there are a hundred different views across the team and tickets are not being dealt in the most efficient of ways. Tickets seems to be missed by some agents,
        • Credit card transactions are backwards after importing statements

          I am new to Zoho Books so I'm importing my firm's bank and credit card statements in. My credit card statements have a single column with negative numbers so that is the option I chose. But when I went to categorize the credit card transactions, I can
        • import data from Apollo.ai into zoho crm via zoho flow

          I might be asking this question in the wrong forum. We use Apollo.ai to find potential new leads for our business, there are around 10000 leads that we have initially found. We have an Apollo.ai account but just to do searches, we dont use it as a crm.
        • Knowledgebase SEO

          We have a custom-domain mapped help center that is not restricted via login. I have some questions: a) will a robots.txt file still allow us to control indexing? b) do we have the ability to edit the sitemap? c) do category URLs get indexed by search
        • VIsual maindmaps in Zoho notebook Ai

          Can I create and export VIsual maindmaps in Zoho notebook Ai
        • 1stDibs Integration to Zoho Inventory

          Hello is it possible to integrate my Zoho inventory and 1stDibs?
        • Community Question: Renewal vs Invoicing

          This is a question for the community. Does anyone else consider there to be a difference between a subscription renewal event and sending out a recurring invoice for a subscription? For example, let's say customer XYZ purchases a 1-year subscription to
        • cloud console support for music websites

          Hi Friends, I am not from a very technical background.. So need support from the Zoho family. I want to build a e-commerce website which is in Musical Niche. It will help people learn music & play instruments of all types. There are a few players in the market like Chordify , Guitaa, Guitar Dashboard, ChordU & few others. But I all these websites allow only a few instruments  to play. So I want to build a better  website than the one I mentioned. So wnated to know what UI & AI should I use so that
        • Scheduled Reports - Do not send empty report

          Hello, We are intensively using reports in the CRM, especially for sales managers. When data is empty, they still receive an email. Can you add an option to avoid sending the report when data is empty?
        • Is Zoho One Desktop more secure than Zoho One Web SaaS?

          Is Zoho One Desktop more secure than using Zoho One in browser? Inherently, it seems desktop would be unless you don't do things like share your pw or leave pc on. I am concerned about data being on the cloud or someone else's server and database.
        • Reminder Settings - Time Tracker

          On the time tracker in Reminder Settings I created a reminder according to the Zoho manual. But a manager asked me to change the message that goes in the email. Is it possible to change the message? I didn't find that in the Zoho manual. Another question: I configured to receive the reminder everyone who logged in less than 40 hours. Does Zoho consider less than 40 hours of the current week or the whole month? Another situation, I put it so that I and another specific user would receive the notification,
        • Create Item group from a composite Item

          I have applied my mind for hours but cannot figure this out. Can you have a composite item in an item group?. E.g. We bundle different color and size SKU's together as composite items. Also Using composite items as Bill of Materials. We want to create
        • Main difference of Zoho Recruit Corporte version and Staffing HR vesion

          Hi Zoho, I need help to fully understand what is the main key point differences of Recruit Corporate version versus the Staffing HR version? We are currently using Corporate HR version and we are looking on having an insightful automated reporting, does
        • Out of Stock items showing in Commerce

          I have over 6000 items and most are not in stock, but all items are showing up in Commerce whether they are inventory or not. What option or feature can you use to hide items in Commerce at zero or negative quantities? I currently am using Commerce for
        • Is it possible to transfer data from one related list to another within the same module ?

          In the Leads module, there is an existing default Product related list that already contains data. Recently, I added a custom multi-lookup field, which created a new related list in the same Leads module. Now, I need to move the existing data from the
        • How to implement new online payment gateway?

          Hello, Can you tell me how to proceed to implement my local payment gateway? DIBS has an open avaiable API that should be easy to implement into ZOHO BOOKS. http://tech.dibspayment.com/dibs_payment_window
        • Formula working in MS Excel , is not working in Zoho Sheets, Filter fuction which is working in MS sheets per the attached workbook / Daily update.

          Filter function , which is working in MS Excel is not working in Zoho sheets. Please help on function of filter of particular class sheets and extract students name who has more than 3.5 hours of study hours on particular day depending on date in D7 cell.
        • New in Smart Prompt: Record Assistant for contextual assistance, and support for new AI models

          Smart Prompt helps teams stay informed and move faster by providing relevant suggestions where work happens in CRM. With this update, Smart Prompt becomes more adaptable to your organization’s AI preferences. You can now choose which Large Language Model
        • Improved Integration Failure Information (And Notification Options)

          Hi, When an attachment service for example fails, you just get "Field x - Error", I can check the field it is failing on and find nothing wrong, same file size, type, dimensions, etc. so more information as to the actual issue would be helpful. And an
        • Create static subforms in Zoho CRM: streamline data entry with pre-defined values

          Last modified on (9 July, 2025): This feature was available in early access and is currently being rolled out to customers in phases. Currently available for users in the the AU, CA, and SA DCs. It will be enabled for the remaining DCs in the next couple
        • Next Page