InteGreat 06: Integrate your Zoho Creator app with Whatsapp using Twilio

InteGreat 06: Integrate your Zoho Creator app with Whatsapp using Twilio

Hi folks,

We're back with a new post in our InteGreat series, and this time we're going to walk you through how to integrate your Zoho Creator application with Whatsapp using Twilio.

Before we dive into this integration, let's quickly cover some basics.


What is Whatsapp? How do businesses leverage it?

WhatsApp Messenger, or simply WhatsApp, is a cross-platform messaging app that lets you make video and voice calls, send text messages, and more.

With the introduction of Whatsapp Business, more businesses are using it as a means to communicate and engage with their customers and leads. They also use it for sending information, such as appointment details, shipping details, and confirming booking requests.


What is Twilio?
Twilio is a communications platform that allows software engineers to build voice and SMS capabilities into applications. Many of our customers integrate their Zoho Creator apps with Twilio to send SMS notifications, such as appointment reminders, transaction details, status updates on orders, and device approvals.

In this post, we'll talk about how to integrate your Creator app with Whatsapp, to communicate relevant information to your customers. That is, whenever a user or a customer submits data in a form, we can trigger a notification to the user, sharing relevant information. We can automate this entire process using Twilio on Creator's form workflow option that's enabled using an API. 


Why use Twilio to integrate a Creator app with Whatsapp?

Whatsapp doesn't provide a direct, end-user API, however, they allow you to host a small service, which in turn talks to Whatsapp servers. But hosting your own server can be challenging in terms of reliability, security, and knowledge, so we're using the cloud-based service option.

Twilio is one of the established messaging service providers that we support integration for. So you can opt to use the Twilio API to act as host to communicate with Whatsapp.

​

Before we do that, though, we need to set a few things to configure the integration.

​

Step 1: Set up a Whatsapp Business account, set up your Facebook Business Manager account, and set up a Twilio account using the same Whatsapp Business account mobile number.

Step 2: After you create the Twilio account, request access to enable the Twilio number for Whatsapp messages, and verify your Facebook Business Manager account.

Step 3: Create an appointment/registration form in your Creator application to collect the mobile numbers and the consent for Whatsapp notifications. 

Now, let's go in-depth into each of these steps:


Step 1: Setting up the accounts

Whatsapp Business account: First, choose the mobile number from which the notification is to be triggered, and use that mobile number to set up Whatsapp Business account.

Facebook Business Manager account: Then, please do set up your Facebook profile to create a Business Manager account, if you already haven't set up one. You can use your Facebook username and password to sign in to Business Manager.

To create a Business Manager account:

  1. Go to business.facebook.com/overview.
  2. Click Create account.
  3. Enter a name for your business, your name, and work email address and click Next.
  4. Enter your business details and click Submit.

Twilio account: Next, do sign up for a Twilio account with the same mobile number with which you've set up the Whatsapp Business account.

Once these initial setups are configured, you can proceed to request access and verification.

Step 2: Request access and verification

Now, WhatsApp uses your Facebook Business Manager account to identify your business and associate your phone number with it.

Twilio provides a sandbox environment, where users can test the API code with a sandbox from the number provided by Twilio, which can used used to test the API. To use your own number for notifications, you need to submit a request to Whatsapp with your business requirement. They need to approve it to trigger Whatsapp messages via the API. Whatsapp doesn't provide a direct, end-user API URL, so we're integrating it on top of the Twilio API and using that in the Creator application.

Please note that WhatsApp has final discretion to approve companies to use the API. You can follow the steps given below to request access and complete the verification process:

1) Twilio: Request access to enable your Twilio numbers for WhatsApp.
2) Twilio: Submit a sender profile and message templates.
3) Facebook: Approve Twilio to send messages on your behalf.
4) Facebook: Verify your Facebook Business Manager account.
5) Twilio: Twilio completes your WhatsApp sender registration.


Step 3: Configuring the code

Once you've completed the verification process and set the Whatsapp account, you can make use of the Twilio API on a Zoho Creator workflow to trigger a Whatsapp message.

For that, let's create a simple appointment or registration form in your Creator app.

Along with the other fields, you need to add the following fields:

  • Phone number type field to collect the mobile number of the customer/user
  • Decision box type field to get consent for Whatsapp notification



Once you've created the form, on On create on success, you need to add the code to trigger the Whatsapp notification based on the value in the Decision box field to send notifications.

Please find the below sample code added with the post URL call to trigger the notification via the Twilio API.

  1. if(input.I_agree_to_receive_whatsapp_notification == true)
  2. {
  3. mp = Map();
  4. mp.put("To","whatsapp:" + input.Mobile_Number);
  5. mp.put("From","whatsapp:+91**********");
  6. mp.put("Body","Your appointment is coming up on" + input.Appointment_Date_Time.todate());
  7. header = Map();
  8. username = zoho.encryption.base64Encode("<TWILIO_ACCOUNT_SID>:<TWILIO_AUTH_TOKEN>");
  9. header.put("Authorization","Basic " + username);
  10. resp = postUrl("https://api.twilio.com/2010-04-01/Accounts/<TWILIO_ACCOUNT_SID>/Messages.json",mp,header);
  11. info resp;
  12. }

Script explanation:

  1. Here, "I_agree_to_receive_whatsapp_notification" is the Decision box field, and we are using the if condition to trigger notifications only to the user who checked this field while submitting data in the form.

  2. Mobile_Number is the phone number field where the user enters their mobile number while submitting the form.

  3. The From in the code part is a static phone number from which the notification will be sent to all users for which the above setup and verifications were done. The business name and the logo as submitted in step 2 for "Submit a sender profile and message template" will reflect on the from part of the Whatsapp message to the customers.

  4. The Body part is the content of the Whatsapp message, where you can have both the static and form field content passed against it. 

  5. The "To" number (dynamic content) and the "body" of the Whatsapp message are the content filled in on the Creator form, and need to be passed to a data map.

  6. Authenticate the API on the Creator end with basic authentication, as below.
    username = zoho.encryption.base64Encode("<TWILIO_ACCOUNT_SID>:<TWILIO_AUTH_TOKEN>");
    header.put("Authorization","Basic " + username);
     

    The account SID (string identifier) and Authtoken will be available in the settings option under Twilio account, as in the screenshot given above.

    Note: A string identifier (SID) is a unique key that's used to identify specific resources. Here, the account SID is used to identify the Twilio account from which the API is triggered.

  7. Construct the Twilio Whatsapp API call in the below format:

    postUrl("https://api.twilio.com/2010-04-01/Accounts/<TWILIO_ACCOUNT_SID>/Messages.json",mp,header);

    Here, both the header map (header) and the data map (mp) are passed as arguments for the POST URL call to authenticate and trigger the Whatsapp message via API. 



    8. Please don't forget that WhatsApp requires that your application implement explicit user opt-ins to deliver messages over WhatsApp on the mobile number provided, while submitting the data on the Creator form and triggering the notification only for consenting users. Whatsapp also recommends that business owners track and save these details for future reference.

    Please note that sending messages to end users without an opt-in may result in users blocking your business, as well as the suspension of your WhatsApp Business account.
We hope this tip was useful to you! If there are any questions, feel free to ask in the comments below, and we'll be happy to address them for you!



        • Recent Topics

        • #10 India Specifics: GST, GSTIN And E-way Bills

          Meera's new client sent a purchase order, a vendor form, and one line that changed the whole invoice: "Invoices without a valid GSTIN and correct place of supply will be returned unpaid." She had entered her own GST details. The customer's details were
        • Invoke a Widget buttons not opening in Bigin web – open_in missing from response

          Hi, I’m seeing an issue with Invoke a Widget custom buttons in Bigin web. In the Bigin Developer Sandbox, the button works correctly and the custom button response includes: "open_in": "new_tab" However, once the topping is installed in a normal Bigin
        • [Zoho Desk] Follow-up: Show Full Recipient Email Address Display Improvement ?

          Hi Zoho Desk Team, I would like to follow up regarding the recipient display behavior when replying to tickets in Zoho Desk. Currently, when we reply to a ticket, the To, CC, and BCC fields are combined into a single “Recipients” field. In addition, when
        • How to record refund of expenses in zoho books

          Hi, i bought a air ticket and recorded the expense in money out. The ticket was cancelled and the fare (after deducting cancellation charges) was credited back to my bank account directly. How can i record the the above transaction?
        • Multiple subscription plan line items in Zoho Billing quotes

          I run an IT company and sell a lot of licences. A client might have multiple subscription plans including software licences in different categories. A client might have Microsoft licences, antivirus licences, web hosting and maintenance package services.
        • Invoicing multiple expense items as a single line item

                My client would like me to invoice them for multiple expense items on a single line item on an invoice.  Can this be done?  I know I can import billable expenses to an invoice, but I don't know how to show them as a single line item or have them
        • Rename default fields in Zoho CRM

          Hi, I'm setting up Zoho CRM for an Australian company. They are perplexed by the names of the address fields, e.g. "Billing Province" (we would call it Billing State) and "Billing City" (we would call it Billing Surbub). I would like to request that these
        • Do "shortcuts" or symlinks exist in Workdrive?

          I need some kind of link or shortcut to put into folders that point back to original files or folders, is there any way in Workdrive to do this?
        • Contact Lookup Mapping to Custom Module CRM via DataPrep

          Hi DataPrep Team, I'm facing an issue with Contact module lookup mapping to a custom module during the DataPrep-to-CRM migration. As per the documentation, the mapping format for lookup fields should be: <Lookup_Field_API_Name>.<Lookup_Module_API_Name>
        • Zoho ERP | Product updates | August 2026

          Hello users, What’s new in Zoho ERP this month? From Account Registers to new reports, we’ve packed this release with updates worth checking out. Take a look at what’s new and see what’s in store for your business. Introducing Account Registers Account
        • Kaizen #99 - Render Widgets Using Client Script

          Hello everyone! Welcome back to another interesting post. In this post, let us see how you can render Widgets using Client Script. Widgets are embeddable UI components that you can create and add to your Zoho CRM. You can use widgets to perform functions
        • Customer portal: recommended way to scope lookup fields to the logged-in client?

          Hi all, I'm building a customer portal on Creator for our clients (we're a esting lab, so each client has their own sites, contacts and jobs). Planning stage, so I'd rather get the approach right before I build it. The portal forms need several lookup
        • Support for Custom Fonts in Zoho Recruit Career Site and Candidate Portal

          Dear Zoho Recruit Team, I hope you're doing well. We would like to request the ability to use custom fonts in the Zoho Recruit Career Site and Candidate Portal. Currently only the default fonts (Roboto, Lato, and Montserrat) are available. While these
        • Introducing the Zoho Contracts API Collection on Postman

          We are happy to announce that the Zoho Contracts API collection is now available on Postman. You can explore, test, and debug Zoho Contracts APIs without writing application code. What's in the collection Ready-to-use requests for Contracts, Counterparties,
        • Zeptomail in the blacklists

          Hello, I noticed some hard bounces while sending emails, and upon checking the details, I see that we have been added to the blacklists of certain spam lists: Bounce category: Policy failure Reason: ip-issues Message: 5.7.1 Service unavailable; client
        • Add Payment Information (like Bank details)

          I am using the Free plan of Zoho Books. I need to add the bank details/ UPI details on the invoice. How can I do that. I have added the details in the Bank Section.
        • How does Recur setting affect execution time of time based workflow rules.

          When setting a workflow rule based on Date/Time field, the Recur setting does not seem to make sense. If I want the rule to execute at a specific amount of days relative to a date field, what exactly would the recurrence be? That point in time would only
        • Canvas Ungroup is No Longer an Option - Can we Bring it Back?

          You used to be able to ungroup a Group in ZOHO Canvas, but now you have to delete the group and completely start over (re-add the fields, re-place them, regroup them, readjust the group as you want it/reformat) instead of ungroup, move or delete only
        • Reserve Your Spot for the Zoho Recruit India Virtual Meetup

          The Zoho Recruit Meetup India is happening virtually on October 15, 2026, and registrations are now open! This meetup is a chance for Zoho Recruit users across India to come together, catch up on what’s new, learn better ways to use Recruit, and have
        • Account recovery using trusted Zoho applications

          We know forgetting your password can be frustrating. So to make account recovery even simpler and more seamless, we're introducing recovery through Zoho mobile apps; in addition to the existing OTP options using email address or mobile number. Please
        • Introducing Omnichannel Subscription

          Your customers may choose to subscribe through different marketplaces such as Google Play or App Store. As your business expands, managing these subscriptions can become increasingly complex. To make it easier, we are introducing the Omnichannel Subscription
        • WhatsApp Business Message Pricing Update: Effective October 1, 2026

          Hi everyone, Starting October 1, 2026, Meta is updating how WhatsApp Business messages are charged. This guide explains the new per-message pricing model, how message categories work, and what changes for service messages specifically. How Meta charges
        • [Webinar] Automated label merging

          Live webinar on October 8, 2026 | Time: 2 PM IST | 2 PM EDT Hi, Businesses that rely on labels for shipping, inventory, or events often struggle with rigid layouts, disconnected data sources, printing the right quantity, and adapting labels for different
        • zFlow_DateTime

          This kind weird since our Flow is RUNNING FOR ALMOST A YEAR and suddenly, our auto plotting of events on Creator Calendar isn't working. Our team can't afford doing manual thing since we handle lot of service tickets. We suspect that there is something
        • What's New in Zoho Inventory | July & August 2026

          Hello users, The July and August 2026 releases bring a range of new features and improvements across the product. From the Nigeria Edition and Super Admin enhancements to Sri Lanka IRD-compliant invoicing, Loyalty Program Management, and improvements
        • Roles and Privileges in Zoho Mail: Define and control administrative access in your organization

          Imagine a growing organization where the IT team needs to manage users, the support team needs to handle spam settings, and the group admins need to oversee email groups, all without giving everyone full access to the Admin Console. This can be achieved
        • Keep sensitive PDFs protected with Zoho PDF Editor

          PDFs often contain confidential information in the form of financial reports, business proposals, contracts, or forms. Zoho PDF Editor helps you keep that information under control with password protection. With two layers of protection, you can decide
        • Enrich your contact and company details automatically using the Data Enrichment topping

          Greetings, I hope you're all doing well. We're happy to announce the latest topping we've added to Bigin: The Data Enrichment topping, powered by WebAmigo. This topping helps you automatically enhance your contact and company records in Bigin. By leveraging
        • CV Parsing

          Hi guys, I parsed my cvs through Rchilli. What can I use now that they have ended their association with you?
        • Change default "Sort by"

          Is there a way to change the default "sort by" when searching across modules?" in Zoho CRM? Currently the default sort method is "Modified time" but i would like to utilize the second option of "relevance" as the sort by default and not have to change
        • Document Approval Workflow for Non-Users

          Our organisation has not added client users yet to Zoho but we are currently exploring how we can use the document Review and Approval Workflow to send out project updates to clients. While testing, we found that we can only pick users as approvers. Is
        • Zoho Learn - Enable Keep Aspect Ratio by Default

          Hi Learn team, Is there a way to enable "Keep aspect ratio" in Image Options by default? It's really frustrating to have to change this for every image. Realistically, who wouldn't appraciate this?
        • Tip #91 – Let customers join sessions directly from your website with the Customer Widget – 'Insider Insights'

          Hello Zoho Assist Community! When a customer needs remote support, the last thing you want is for them to fumble through an email invitation or navigate to an unfamiliar webpage just to join a session. Every extra step is a moment of friction, and for
        • Profile picture unable to be seen by other colleague.

          Hi, As per title, I'm having problem where my profile pic doesn't show from other colleague account. However, when I uploaded the pic from zoho web, it is showed in my phone apps. Still, other colleagues cant see my profile pic. Please help. Thanks,
        • Mute notifications to followers knowledge base/help center

          Good morning Zoho, We are in the midst of a rebranding. This requires updating all of our knowledge base articles with new screenshots etc. In other words: They are all updated. This means all our customers that follow these articles are spammed with
        • Global Constants / Variables

          It would be great if there were a Global Constant feature. The idea here is for managing constants that are used in multiple Flows and Subflows, but might change over time. The idea is that the change could be made in one place and cascade to all future
        • Item/service subtotal

          Just discovered & really pleased that we can drag to re-order the line items in Sales orders & Invoices, a very nice feature which doesn't seem to be documented? It would be nice to be able to insert a subtotal as a line item to complete this great feature
        • Unable to change alias in the from field on the ZOHO mac app

          I have 1 main mail address, and 3 alias's. on the web mailbox when I create a new email, I can select the alias's from the dropdown in the from field. On the app no dropdown is available.
        • Ask the Experts 33: Ticketing in Zoho Desk

          Every customer interaction begins through one of these channels: email or a phone call, a web form, an instant message, a social media, or a visit to your self-service portal. Bringing these interactions together and managing them in the right context
        • Workflow Automation Not Triggering

          My Zoho CRM workflow sometimes doesn’t trigger when a record is updated, even though the workflow criteria appear to be met. What should I check to find out why the workflow is being skipped?
        • Next Page