Enable your teams to respond in seconds by bridging the gap between booking confirmation and team notification. No sticky notes, no calendar nudges and no follow-up frenzies. For businesses that rely on scheduled appointments, real-time visibility is a crucial operational need.
Timely automated communication is essential for managing important appointments and bookings. Let's integrate Zoho Bookings with Zoho Cliq via the Cliq developer platform's bots and workflows, ensuring that every appointment confirmation is automated and reaches Cliq chats promptly.
Business Benefits
- Operational Efficiency: This custom solution eliminates the need for manual dashboard monitoring. Booking updates are automatically communicated to Cliq as they occur.
- Enhanced Customer Experience: Faster internal awareness leads to expedited confirmations, better-prepared staff, and a more seamless appointment experience.
- Centralized Communication: All booking activities are consolidated in the same Cliq channel your team uses daily, minimizing context switching and preventing information silos.
- Enterprise-Ready, No Additional Cost: Built entirely on the Zoho Cliq Developer platform, this custom solution requires no third-party middleware. It operates within your existing Zoho subscription framework.
Step 1: Create a bot
- Go to the top-right corner of your profile and click on it.
- Select "Bots and Tools" from the dropdown menu.
- To create a new bot, click on "Create Bot" under the "Bots" section.
- Enter a name and description for your bot and ensure that channel configuration settings are enabled during setup.
- Finally, save the bot.
Step 2: Retrieve the bot webhook URL
- Webhook tokens are listed in the Bots & Tools section along with other internal tools.
- When you access the webhook tokens module, you'll need to authenticate using two-factor authentication (2FA), verify your identity, and then click "Continue."
- After authenticating, you can create, edit, and manage your webhook tokens as needed.
- Generate a webhook token and retrieve the bot's webhook URL as instructed.
Step 3: Generate Cliq bot incoming url
To create the bot's incoming URL, combine the bot's endpoint with the webhook token.
- Navigate to the newly created bot and click on it. A pane will appear showing the bot's URL details.
- Copy your bot's incoming endpoint from this window and append your token to it:
- https://cliq.zoho.com/api/v2/bots/<yourbotname>/incoming?zapikey=<webhooktoken>
Keep this URL handy, as you will need to paste it into the Zoho Bookings workflow later.
Step 4 : Creating a workflow in Zoho Bookings

- Log in to Zoho Bookings.
- In the left panel, navigate to one of the following options:
- Workflows → Custom Workflows → Create New Workflow
- or Workflows → Create Workflow → Create New Workflow.
- If you chose Workflows → Custom Workflows → Create New Workflow, complete the following fields:
- Workflow Name: Enter a name for your workflow.
- Trigger When: Select "Booked."
- Occurrence: Choose "Immediately."
- Choose Service (e.g., IT Consulting): Select your Service.
- Perform Action: Select "Execute Custom Functions."
- Customize Template: Paste the following code.
- In the template editor, paste the code, replacing "<bot incoming url>" with the full URL you created in the previous step.
- bookingInfoMap = Map();
- bookingInfoMap.put("BookingInfo",bookingInfo);
- cliqWebhookTrigger = invokeurl
- [
- url : "<bot incoming url>"
- type :POST
- parameters:{"Book Details":bookingInfo} + ""
- headers:{"content-type":"application/json"}
- ];
- info cliqWebhookTrigger;
- Click Create Workflow. With this setup, whenever a new appointment is booked, it will trigger a notification to your Cliq bot's incoming handler.

Step 6 : Setting up bot incoming webhook handler
- Head back to Cliq, locate the bot you created under the "Bots and Tools" section, and access its incoming webhook handler.
- The incoming webhook handler is designed to allow third-party services, such as Zoho Bookings, to post messages directly to your bot.
- Copy and paste the below code, then click "Save".
Pre-requisites before scripting:
Create a Zoho Cliq Default Connection:
Before you begin scripting the code below, you need to create a connection in Zoho Cliq. Once the connection is established, you can use it in Deluge integration tasks and invoke URL scripts to access data from the required service.
Use a unique name for the connection with the scope set to ZohoCliq.Reminders.All.
Note: Refer to the document on Connections in Cliq for more information.
Post Alerts to a Channel:
To post an alert to a channel, you'll need the unique names of both the channel and the bot. This is necessary as we will use the zoho.cliq.postToChannelAsBot Deluge task in the code below. Follow these steps to retrieve these names:
How to Obtain the Channel Unique Name in Cliq?:
- Navigate to the top right corner of your preferred channel and click on the three dots.
- In the menu that appears, select "Channel info." A pop-up will display detailed information about the channel.
- Hover over the "Connectors" section and click on it.
- Under "API Parameters," you will find the channel unique name.
How to Obtain the Bot Unique Name in Cliq?
- Go to "Bots & Tools," and under the bots section, select your preferred bot.
- Copy the API endpoint URL. The bot's unique name is located between "bots/" and the next slash ("/").
Example:
In this example, the bot's unique name is crmupdatesincliq.
Retrieve the Bot Chat ID:
- Open Zoho Cliq and navigate to your bot in the chat window.
- Click on the bot to open the conversation.
- Check the URL in your browser; the bot chat ID is the alphanumeric string that appears after "chats/".
Example:
In this example, the bot chat ID is CT_9874563201845670134_10005673821-B7.
After creating the connection, retrieving the channel unique name, bot unique name, and bot chat ID, keep this information handy for use in the code below.
Script
- response = Map();
- info params;
- info headers;
- info body;
- bookingDetails = body.get("Book Details");
- info bookingDetails;
- bookingID = bookingDetails.get("booking_id");
- workspaceName = bookingDetails.get("workspace_name");
- customerEmail = bookingDetails.get("customer_email");
- startTime = bookingDetails.get("start_time");
- endTime = bookingDetails.get("end_time");
- timeZone = bookingDetails.get("time_zone");
- summaryUrl = bookingDetails.get("summary_url");
- responseMsgCard = {"text":"### 📅 New Appointment","card":{"theme":"modern-inline"},"slides":{{"type":"label","title":"Details","buttons": [
- {"label": "Open Summary","action": {"type": "open.url","data": {"web":summaryUrl}}}],"data":{{"🆔 Booking ID":bookingID},{"🏢 Workspace":workspaceName},{"📧Customer Email":customerEmail},{"🕒 Time":startTime + " - " + endTime},{"🌍 TZ":timeZone}}}}};
- info zoho.cliq.postToBot("<bot unique name>",responseMsgCard);
- //Post to your Bot
- info zoho.cliq.postToChannelAsBot("<Channel unique name>","<bot unique name>",responseMsgCard);
- //It will send to channel with bot permission.
- //--------------------------------- To set reminder -------------------------------//
- eventTimeZone = bookingDetails.get("time_zone");
- info eventTimeZone;
- userTimeZone = user.get("timezone");
- dateTimeObj = bookingDetails.get("start_time").toTime("dd-MMM-yyyy HH:mm:ss",eventTimeZone).toString("dd-MM-yyyy HH:mm:ss");
- info dateTimeObj;
- info dateTimeObj.toTime("dd-MM-yyyy HH:mm:ss",user.get("timezone")).subMinutes(60);
- datetime_30min_sub = dateTimeObj.toTime("dd-MM-yyyy HH:mm:ss",userTimeZone).subMinutes(30).toString("dd-MMM-yyyy HH:mm:ss",userTimeZone);
- datetime_60min_sub = dateTimeObj.toTime("dd-MM-yyyy HH:mm:ss",userTimeZone).subMinutes(60).toString("dd-MMM-yyyy HH:mm:ss",userTimeZone);
- info datetime_60min_sub+"datetime_60min_sub";
- info datetime_30min_sub+"datetime_30min_sub";
- secondsVal_60sec_before = datetime_60min_sub.unixEpoch(userTimeZone);
- secondsVal_30sec_before = datetime_30min_sub.unixEpoch(userTimeZone);
- info secondsVal_60sec_before;
- info secondsVal_30sec_before;
- reminderTimes = list();
- reminderTimes.add(secondsVal_60sec_before);
- reminderTimes.add(secondsVal_30sec_before);
- for each reminderTime in reminderTimes
- {
- param = Map();
- content = "Zoho Bookings Reminder : " + bookingID;
- param.put("content",content);
- param.put("time",reminderTime);
- chatidsList = list();
- chatidsList.add("<Bot chat id>");
- param.put("chat_ids",chatidsList);
- createReminder = invokeurl
- [
- url :"https://cliq.zoho.com/api/v2/reminders"
- type :POST
- parameters:param + ""
- connection:"<your connection name>"
- ];
- info createReminder;
- }
- return response;

Team responsiveness and operational clarity are critical, and automated booking alerts create a measurable impact. Businesses managing a scalable client base and operating on appointments cannot afford delays in information. Every booking that goes unnoticed is a missed chance to respond and deliver.
This custom solution brings real-time Zoho booking data into the Cliq communication layer, effectively filling the gap, letting teams stay coordinated, respond faster, and deliver a consistently better experience to every customer.
If you have any further questions or need support, please reach out to support@zohocliq.com, and we'll be happy to assist you.
Recent Topics
Cannot See Available Deal States in Zoho Blueprint
I am trying to create a blueprint to manage our sales pipeline and ensure data accuracy at each stage. I have already created a similar blueprint for handling leads. However, when I attempt to create the 'Deal Management' blueprint, the different stages
Is there a CRM Deluge function available to convert an RTF (rich text field) to plain text (with no formatting tags)?
I know that we can run reports so that RTF fields can either show as plain text or the text or the text with the formatting fields included (which is wonderful, btw, as it helps me adjust tags when I need to troubleshoot and just see what I need to see
Como conectar a API de Conversões da Meta com a Zoho (Analytics, CRM e SalesIQ)?
Não estou conseguindo saber de quais anúncios são os leads que chegam pelo SalesIQ e nem como retornar a informação pra Meta dos leads que tiveram conversão em venda.
IMAP Migration — Map Sent Items to Sent....
Here's a common problem. The Sent folder on the other email service is called Sent Items. Rather than put those into the Sent folder on migration, it creates a separate folder. Is there any way I can have this done as part of the migration process. One of the Sent Items on an account I expect to migrate shortly has 25,000 messages. Manually moving them would be time-consuming and work against the migration feature. Solutions? Peace, Gene Steinberg
Tips & Tricks Series - #3 Setting question weights in quiz questions
Hello everyone! Welcome back to our Tips & Tricks series, where we share useful features and best practices to help you get the most out of Zoho Learn. Today, we’ll be looking at question weights in quizzes. Not all questions in a quiz need to carry the
TimeBro/Memtime Time Tracking Import Errors
Our staff use Memtime (formerly TimeBro) to track working time, and we have the Zoho Projects integration installed, so that the entries are mapped to Projects/Tasks/Issues automatically. Today, we've started getting the following error when attempting
Zoho Visual Editor Not Opening
Hello There I am trying to build a website using zoho and I can't open the visual editor. It keep saying Loading... Do you know why it is happening. Thanks in Advance Regards Rajat
Automate Backups
This is a feature request. Consider adding an auto backup feature. Where when you turn it on, it will auto backup on the 15-day schedule. For additional consideration, allow for the export of module data via API calls. Thank you for your consideration.
Tip #85 – Never Lose Track of What Happened in a Session with Session Recording – 'Insider Insights'
Tip #85 – Never Lose Track of What Happened in a Session with Session Recording – 'Insider Insights' Hello Zoho Assist Community! A technician wraps up a complex remote session. The issue is fixed, the customer is happy, and everyone moves on. But three
LinkedIn RSC is now live in Zoho Recruit
LinkedIn Recruiter System Connect (RSC) is here. Your Zoho Recruit data (candidates, jobs, notes, stage updates, resume attachments, and more) now syncs with LinkedIn in real time. Note: LinkedIn RSC is included with your LinkedIn Recruiter Corporate
Cross Module Filtering – Use Fields from Lookup modules in Custom Views criteria and Advanced Filters
Hello everyone, Zoho CRM now enables you to achieve deeper filtering of records in a module, using fields of a lookup, thereby enhancing your data management experience manifold. This filtering based on lookup module fields is now available in advanced
Turn off workflow Applied pop-up
hi We are new to Desk. I have a rule to set to "waiting for customer" when agent sends reply. This comes up every time. How to i turn off? Or am i seeing as admin.
Make your IM workflows smarter: Automate sessions and personalize responses
There are two simple ways to make IM workflows more efficient: automate how sessions are handled and personalize how agents communicate. Here's a look at both. 1. Automate IM session updates with the API The Update an IM Session API lets you update session
Discover related products for contacts and companies with new topping
Greetings! We hope you're all doing well. We've heard your request for an easier way to view products associated with a contact or company—without having to open and go through every deal individually. To help you achieve this, we're happy to introduce
What’s New in IM: Shared Phone Number and 1,000 Templates
Instant Messaging continues to evolve in Zoho Desk, giving teams more flexibility in how they manage WhatsApp conversations and messaging workflows. Here are two capabilities worth exploring. 1. Manage WhatsApp conversations across Zoho services using
Cliq iOS can't see shared screen
Hello, I had this morning a video call with a colleague. She is using Cliq Desktop MacOS and wanted to share her screen with me. I'm on iPad. I noticed, while she shared her screen, I could only see her video, but not the shared screen... Does Cliq iOS is able to display shared screen, or is it somewhere else to be found ? Regards
CLIENT PORTAL (If clients can place orders directly on the portal)
Zoho client portal is excellent. Everything is there except one thing. Client should be able to place orders directly on the portal. This would enhance the portal and end users will be extremely happy. This suggestion infact came from one of our client.
Exceed Limit Execution
Hi Everyone, I begin to encounter some execution limit hit, The 1st part wherein when a record was being submitted, it checks and patch existing rows (Site Asset Services) matching the submitted row (PMS form) error: row1.Serial_N=Final_Rec.AV_Serial_N;
[For info] As CRM administrators its important to be aware that potentially sensitive business logic & operational parameters are available via unauthenticated URLs
There are a collection of files within Zoho CRM that COULD contain potentially sensitive commercial parameters and logic in them, and that can be accessed without authentication. This includes the CRM Data Model, Custom Picklist values, Custom Role /
WhatsApp Calling Integration via Zoho Desk
Dear Zoho Desk Team, I would like to request a feature that allows users to call WhatsApp numbers directly via Zoho Desk. This integration would enable sending and receiving calls to and from WhatsApp numbers over the internet, without the need for traditional
View Products (items) in Contact and Company
Hi, I would like to know if there is an option to view all the products /(items) that were inserted in the pipeline deal stage for exemple "Win Pipeline" within the company and contacts module section? For instance, view with the option filter for the
zoho desk
Hello, Did Zoho Desk have any issues today? Are tickets coming in late? I have an email account linked, and messages seem to be arriving with a delay—some email threads aren't coming through completely, and so on.
Transform your line of items into line items: ICR can now record your table values as subform values
Enhancement in Zoho CRM Dear Customers, We hope you're well! Zia Vision’s ICR capability can now recognize, extract, and store tabulated values in your subforms. An ideal example is a university application form. It has printed fields and handwritten
Minor enhancements in Zoho CRM Dashboards: drill-down for Funnels, flexible Duration settings, and more
Dashboards in Zoho CRM help you visualize data across modules, track performance, and make informed decisions. Components like charts, KPIs, and funnels bring together key metrics in a single view, making it easier to spot trends and take action. Over
Get a realistic picture of your revenue with Forecast Adjustments in Zoho CRM
#crm25q1 Dear Customers, We hope you're doing well! Today, we're here with an important enhancement for business decision makers: forecast adjustments. Let's get straight to it! With technology on the rise and CX at its core, businesses are constantly
Three new ways to manage Instant Messaging in Zoho Desk
Managing IM conversations isn't just about responding to customers. It's also about getting each conversation to the right team. Here are three updates in Zoho Desk that can help with exactly that. 1. Transfer IM tickets across departments Sometimes a
Ask the Experts 32: Managing Privacy, Security, and Data Administration in Zoho Desk
Hello everyone, As organizations increasingly rely on AI, machine learning, and automation, there are pressing questions around privacy, security, and data governance. Every customer interaction involves sensitive business information, whether it's troubleshooting
Zoho Cliq 7.0: Built for Uninterrupted Work
Work today moves fast, but follow-ups, meetings, and coordination still get messy more than we often like to admit. Zoho Cliq 7.0 is all about making everyday work feel a little lighter—better collaboration, smoother workflows, more helpful assistance,
Zoho CRM Functions: Redesigned Interface, Rich Analytics, and Multi-Language Support
Hello everyone! We have given Functions in Zoho CRM a major overhaul with a new interface that makes it easier to build, organize, monitor, and troubleshoot your functions throughout their lifecycle. As part of this revamp, we have also introduced a unified
Native SMS and MMS Channel Support
89% of US consumers say they prefer to communicate with businesses via SMS / MMS (aka "texting"). (link) Unfortunately, Zoho Desk does not currently support the most popular channel for consumer communications in the United States. For those of us in
Smarter holiday planning with yearly-specific Holiday Lists
Hello everyone! Managing holidays and business hours is now easier and more efficient. Holiday Lists now support holidays that fall on different dates every year, while business hours now supports more than one holiday list. This helps businesses manage
Api de conversão da Meta
Como conectar a Zoho com a api de conversão do Meta Ads?
Collapsible Sections & Section Navigation Needed
The flexibility of Zoho CRM has expanded greatly in the last few years, to the point that a leads module is now permissible to contain up to 350 fields. We don't use that many, but we are using 168 fields which are broken apart into 18 different sections.
Side-panel “Quick Preview & Edit” for Deals and Tasks (Web)
Hi all, I’d like to submit a feature request to improve record navigation and data entry speed in Zoho CRM. NOTE: This feature exists on Pipedrive, HubSpot, and Bigin by Zoho. Requested Feature: Add a side-panel / slide-in “quick preview” for records
Why can't we choose Fixed Asset account for Purchased Items? (eTims issue?)
Hello, When the company purchase items not for sale and not supposed to be in the inventory stock, like equipment for operational use, there is no way to access the Fixed Asset accounts in the drop down list. Is that an eTims limitation again? Or something
"Track Inventory for this item" is forced checked by default for goods items (eTims issue?)
Hello, Since connecting our Zoho books to eTims (Kenya) the "Track Inventory for this item" is forced checked by default (eTims issue?) in the Item creation page for any type of goods. So when purchasing anything that the company does not intend to sale,
Can you import projects into Zoho Projects yet?
I see some very old posts asking about importing project records into Zoho Projects. But I can't find anything up to date about the topic. Has this functionality been added? Importing tasks is helpful. But we do have a project where importing projects
reset password
Hi I need to reset my password and need help
Is it possible to set a value to a field based on certain conditions
Greetings Say i have a field that i want to set its value based on the value of another field.. for example if "number" field has value greater than 10, i want to set my field's value to X. Or if radio group had option 1 selected, then i want to set my
Zoho CRM Layout Rules: Nine New Actions, Profile-Based Execution, and Interactive Preview
Hello everyone, Availability: This feature is now available for customers in the JP and SA DCs. It is planned to be released for other customers in soon. We’re excited to announce powerful new enhancements to Layout Rules in Zoho CRM - a feature built
Next Page