Hey, community members!
Have you ever wondered how to automatically approve or deny appointments?
While we're still working on building that feature, we've got an alternative method to cancel appointments if they don't meet your specific criteria.
Let me share a recent client request as an example: Our customer has two types of services that are similar: One is for grown-ups and the other is for children. However, often adults mistakenly book these services without realizing that they are not intended for them. This results in unnecessary confusion for our customers, as they have to contact those who accidentally booked appointments and reschedule them, causing a significant amount of administrative work.
Here's how we helped our customer: We added a criteria field to the booking page (e.g., "What is your age?") Then, we automatically cancel appointments where the input age is greater than 15 and we'll even notify the grown-up client that their appointment has been canceled and guide them to book the appropriate service.
To make this happen, you'll need Zoho Bookings and the Zoho Flow Standard Plan.
Here's a simplified breakdown of the process in three steps:
Zoho Bookings will collect the criteria data and pass it to Zoho Flow.
In Zoho Flow, we'll configure a workflow to verify the validity of the data.
If the data is invalid, Zoho Flow will trigger a cancellation request to Zoho Bookings, resulting in the appointment being canceled.
Don't forget these additional steps: Edit the booking confirmation page and notification email to proactively inform customers that their booking maybe subject to cancellation.
Let's dive into the details together!!!
STEP 1: TO BE FOLLOWED IN ZOHO BOOKINGS APPLICATION:
1. Create a mandatory field in Zoho Bookings Forms.
A. For service booking form: Add Field
B. For workspace booking form: Add Field
NOTE: Workspace-level settings apply to group and resource bookings, while for One-on-One bookings, you will need to make the necessary changes within the specific One-on-One service settings.
At the end of step 1, let's say we have created a mandatory field called "What is your age?". Now the customers on the booking page will have to provide their age to book an appointment.
Additional Step:
Canceling an appointment without the customer's knowledge might affect the customer experience. Therefore, we should acknowledge the customers in every possible way.
Here are some tips:
A. We can use the 'Custom Redirection' feature to redirect customers to a custom page after they book an appointment, instead of the default booking confirmation page.
Here is how to change booking confirmation page: Booking Confirmation Page
Here is the sample custom page:

B. By using the "Terms and Conditions" check box, you can include the following message in the box: "This service is specifically designed for children under the age of 15. Bookings made by individuals above the age of 15 may be subject to cancellation". Customers will then need to check the box to confirm their agreement before completing their bookings, ensuring that they are aware of this policy.
More details:
STEP 2: TO BE FOLLOWED IN ZOHO FLOW APPLICATION
A: Log in and search the template
Sign in to Zoho Flow application and create a new flow using the create flow option.
Select App > search for Zoho Bookings in the search bar.
Select the "Appointment Booked" trigger.
Select "Connection" and "Variable" > Done.
How to create a flow in Zoho Flow: Create a flow from scratch
How to create connection in Zoho Flow application: Create a Connection
At the end of step A, we have created a new flow including Zoho Bookings application.
B: Set Variable
In the Logic option > Flow Control > Set Variable > Edit the variable
Name the variable and in the value provide the input in following format "${trigger.customer_more_info.get("What is your age?")} " > Click on done.
NOTE: In Step 1, we created a multi-line field named "What is your age?" If you have instead created a single-line field without spaces (e.g., "Age?") on the booking page, the format for the field would be as follows:
At the end of step B, we are fetching the output of the "Age" field from the Zoho Bookings form.
C: Create Condition
In the Logic option > Flow Control > Decision.
In the condition 1, configure as Set Variable(Age) > is not null.
At the end of step C, we set up conditions to ensure that all bookings made through the Zoho Bookings application meet the requirements specified in the above conditions.
D: Custom Function
In the Logic option > Custom Functions > Create Function.
Configure function name, return type and input parameter.
Details on custom function: Custom Function
Reference below:
Below is the sample code which you can have for reference. You can configure and modify the code according to your specific requirements.

Code Explanation:
Line 1: To pass the input data below to the code
Age: This is used to verify and analyze the customer's input.
Customer Email: This is required to send an email notification to the customer in the event of an appointment cancellation.
Booking ID: This serves the purpose of identifying the specific booking that needs to be canceled using its unique booking ID.
Line 3: We are implementing an "if condition" to verify the customer's input. In this case, we will check if the entered age is greater than 15. If it meets this condition, the following loop will be executed.
Line 5 - 8: To update appointments, we are utilizing the Zoho Bookings API. Within the update appointment API, there are two mandatory fields that need to be included: BookingID and action (completed/cancel/noshow). In cases where the criteria are not met and an appointment needs to be canceled, we will pass the action field as "cancel".
Line 9 - 14: We are using invokeURL task for API calls. To know more about invokeURL task please refer to the following document: InvokeURL task for API calls Line 16 - 21: We utilize the sendmail task to send an email to the customer when their appointment is canceled. Additionally, the Zoho Bookings application automatically sends a cancellation email to the customer in such cases. Therefore, you have the option to either use the sendmail task or rely on the default notification system to inform the customer about the cancellation of their booking.
This is what the final flow will look like:

Here is the demo video: In this demo video, we have showcased the behaviour of our setup configuration for different inputs from customers. One input satisfies the configured condition, while the other input does not meet the configured condition.
CONCLUSION:
In the preceding discussion, we have outlined a method for automatic appointment cancellation. You can use this document as a reference to explore the various possibilities that suit your needs.
In the upcoming posts, we will explore various scenarios and methods for updating the appointment status. Furthermore, we have covered the process of canceling an appointment after it has been booked.If you are wondering whether there is a way to verify customer inputs before booking an appointment, the answer is yes. We will delve into that topic in the next series.
As the above configuration may differ based on individual business requirements, we have provided a generic example for reference. If you have any questions or need assistance with configuration to align with your specific business needs, please email us at
hello@zohobookings.com or
support@zohobookings.com.
Recent Topics
String handling
If I cut a currency string from a quote and try and paste it into the Deal "Amount", it will fail unless I manually delete any commas. Dollar signs are no problem, but comma's seem to fail. Please correct this Input Validation error.
email address somehow still not verified (?!)
L.S. After creating a new email template in CRM I was about to send a group email to my clients, then Zoho CRM announced that they would change the sender address to some kind of Zoho-e-ddress because my email address "has not been verified". Not only
What's new in Zoho Sheet: Simplify data entry and collaboration
Hello, Zoho Sheet community! Last year, our team was focused on research and development so we could deliver updates that enhance your spreadsheet experience. This year, we’re excited to deliver those enhancements—but we'll be rolling them out incrementally
WebDAV / FTP / SFTP protocols for syncing
I believe the Zoho for Desktop app is built using a proprietary protocol. For the growing number of people using services such as odrive to sync multiple accounts from various providers (Google, Dropbox, Box, OneDrive, etc.) it would be really helpful
Consolidated report for multi-organisation
I'm hoping to see this feature to be available but couldn't locate in anywhere in the trial version. Is this supported? The main aim to go to ERP is to have visibility of the multi-organisation in once place. I'm hopeful for this.
Feature Request - Allow Customers To Pick Meeting Duration
Hi Bookings Team, It would be great if there was an option to allow customers to pick a duration based on a max and minimum amount of time defined by me and in increments defined by me. For example, I have some slots which are available for customers
Error Logs / Failure logs for Client Scripts Functions
Hi Team, While we are implementing client scripts for the automation, it is working fine in few accounts but not working for others. So, it would be great if we can have error Logs for client scripts also just like custom functions. Is there any way that
Welcome to the Zoho ERP Community Forum
Hello everyone, We are thrilled to launch Zoho ERP (India edition), a software to manage your business operations from end to end. We’ve created this community forum as a space for you to ask questions, comment answers, provide feedback, and share your
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
YouTube Live streaming? how to? Zoom has this feature, built-in. Can't find it on zoho meetings.
YouTube Live streaming? how to? Zoom has this feature, built-in. Can't find it on zoho meetings.
Feature Request - A Way To Search Item Groups
Hi Inventory Team, I can't find any way to filter or search by fields of Item Groups. It would be great to see that functionality added. I have a use case where a single product might come from 5 or more suppliers and each supplier's item is an Item in
Feature Reqeust - Include MPN In Selectable FIelds
I have noticed that the MPN is not available to show in the list view of Items. Please consider adding it as EAN, UPC and ISBN are all available, so it doesn't make much sense to exclude this similar option. Thanks for considering my feedback.
Feature Request - Option To Hide Default System Fields on Items
Hi Zoho Inventory Team, As far as I know it is not possible to hid some of the defult system fields on Items, such as UPC, MPN, EAN, ISBN. A good use case is that in many cases ISBN is not relevant and it would be an improved user experience if we could
Making an email campaign into a Template
I used a Zoho Campaign Template to create an email. Now I want to use this email and make it a new template, but this seems to be not possible. Am I missing something?
Campaigns does not work!
I am running into so many problems trying to use Zoho Campaigns, that I am seriously considering dropping the app from my (shrinking) list of Zoho applications I actually use. Apart from having to fight the software trying to create a design and email,
Feature Request - Make Available "Alias Name" Field In Item List View
Hi Zoho Inventory Team, I have noticed that the "Alias Name" field does not appear on the list of selectable columns in the Customise Columns feature in the Items module. This would be very useful to see for businesses who are using the Alias Name field
Marketing Automation
L.S. Marketing Automation is and has always been part of the Zoho One bundle - according to the information provided on the Zoho Website. Why when I open Marketing Automation do I get the following message?: "Your trial has expired. We hope you enjoyed
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
Bigin, more powerful than ever on iOS 26, iPadOS 26, macOS Tahoe, and watchOS 26.
Hot on the heels of Apple’s latest OS updates, we’ve rolled out several enhancements and features designed to help you get the most from your Apple devices. Enjoy a refined user experience with smoother navigation and a more content-focused Liquid Glass
Notes badge as a quick action in the list view
Hello all, We are introducing the Notes badge in the list view of all modules as a quick action you can perform for each record, in addition to the existing Activity badge. With this enhancement, users will have quick visibility into the notes associated
Claude + MCP Server + Zoho CRM Integration – AI-Powered Sales Automation
Hello Zoho Community 👋 I’m excited to share a recent integration we’ve worked on at OfficehubTech: ✅ Claude + MCP Server + Zoho CRM This integration connects Zoho CRM with Claude AI through our custom MCP Server, enabling intelligent AI-driven responses
Automatic Matching from Bank Statements / Feeds
Is it possible to have transactions from a feed or bank statement automatically match when certain criteria are met? My use case, which is pretty broadly applicable, is e-commerce transactions for merchant services accounts (clearing accounts). In these
How to filter Packages in zoho inventory api
Hi Team, I want to perform some tasks in a schedular on the packages which are in "Shipped" state. I tried to use filter_by in my api call but in return I get response as {"code":-1,"message":"Given filter is not configured"} My Api request is as follows
CRM
Is anyone else experiencing this issue? Our company is not moving out of using Gmail's web app. It just has more features and is a better email program than Zoho Mail. Gmail has an extension (Zoho CRM for Gmail) that we're using but we've found some serious
Automate pushing Zoho CRM backups into Zoho WorkDrive
Through our Zoho One subscription we have both Zoho CRM and Zoho WorkDrive. We have regular backups setup in Zoho CRM. Once the backup is created, we are notified. Since we want to keep these backups for more than 7 days, we manually download them. They
Syncing with Google calendar, Tasks and Events
Is it possible to sync Zoho CRM calendar, task and events with Google Calendar's tasks and events. With the increasing adoption by many major tool suppliers to sync seamlessly with Google's offerings (for instance I use the excellent Any.do task planning
IMAP mail after specify date
Hi My customer's mail server is on premise and mail storage is very huge. So It never finish sync. and finally stop sync. Cloud CRM have a option like zoho mail sync mail after some date.
How can i view "Child" Accounts?
It can be very useful in our field of business to know the parent-child account relationship. However, there seems to be a shortcoming in the parent account view: no child account list. How can we view the child accounts per each account?
Ability to assign Invoice Ownership through Deluge in FSM
Hi, As part of our process, when a service appointment is completed, we automated the creation of the invoice based on a specific business logic using Deluge. When we do that, the "Owner" of the invoice in Zoho FSM is defaulted to the SuperAdmin. This
Easily perform calculations using dates with the new DATEDIF function
Hey Zoho Writer users! We've enhanced Zoho Writer's formula capabilities with the new DATEDIF function. This allows you to calculate the difference between dates in days, months, and years. Function syntax: =DATEDIF(start_date, end_date, unit) Inputs:
Adding Comments Using Workflows - How to Change User Attributed
We have worklflows in Desk where a comment is added to a ticket based on certain criteria. It seems that the comment added is always attributed to the user who last edited the workflow. This does not make sense for us because: - It's misleading to other
Add Attachment Support to Zoho Flow Mailhook / Email Trigger Module
Dear Zoho Support Team, We hope you are well. We would like to kindly request a feature enhancement for the Mailhook module in Zoho Flow. Currently, the email trigger in Zoho Flow provides access to the message body, subject, from address, and to address,
Conect chat of salesiq with zoho cliq
Is there any way to answer from zoho cliq the chat of salesiq initiated by customers?
Les dernières avancées en saisie de données et collaboration
Après une année dédiée à la recherche et au développement, notre équipe est prête à dévoiler des améliorations majeures pour Zoho Sheet. Ces nouveautés seront lancées par étapes afin d’en assurer une prise en main optimale. Nous commençons avec des fonctionnalités
Deluge Learning Series – Client functions in Deluge | January 2026
We’re excited to kick-start the first session of the 2026 Deluge Learning Series (DLS) with Client functions in Deluge. For those who are new to DLS, here’s a quick overview of what the series is all about: The Deluge Learning Series takes place on the
Rich Text For Notes in Zoho CRM
Hello everyone, As you know, notes are essential for recording information and ensuring smooth communication across your records. With our latest update, you can now use Rich Text formatting to organize and structure your notes more efficiently. By using
display call description in the notes section of a contact or add notes field to completed call screen
When completing a call, we type in the result of the call in the description. However, that does not show up under the notes history on the contact. We want to be able to see all the calls that have taken place for a contact wihtout having to go into each completed call. The other option is to add the notes field to the completed call screen.
Implement Meeting Polls in Zoho Bookings
Dear Zoho Bookings Support Team, We'd like to propose a feature enhancement related to appointment scheduling within Zoho Bookings. Current Functionality: Zoho Bookings excels at streamlining individual appointment scheduling. Users can set availability
Zoho Bookings and Survey Integration through Flow
I am trying to set up flows where once an appointment is marked as completed in Zoho Bookings, the applicable survey form would be sent to the customer. Problem is, I cannot customise flows wherein if Consultation A is completed, Survey Form A would be
Service Account Admin for API Calls and System Actions
Hello, I would like to request the addition of a Service Account Admin option in Zoho product. This feature would allow API calls and system actions to be performed on behalf of the system, rather than an active user. Current Issue: At present, API calls
Next Page