Approve or deny appointments based on criteria

Approve or deny appointments based on criteria

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:

  • Single line field format: ${trigger.customer_more_info.fieldname}

  • Multiple line field format: ${trigger.customer_more_info.get("fieldname")}

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.


More details on send mail task: Send Mail Task

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.

    • Sticky Posts

    • Approve or deny appointments based on criteria

      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
      • Recent Topics

      • Add Comprehensive Accessibility Features to Zoho Writer

        Hello Zoho Writer Team, We hope you are doing well. We would like to submit a feature request to enhance Zoho Writer with a full set of accessibility tools, similar to the accessibility options already available in the Zoho Desk agent interface. 🚧 Current
      • Pricelists

        So we have them in books but I cannot find them in commerce?
      • Desk Contact Name > split to First and Last name

        I am new to Zoho and while setting up the Desk and Help Center, I saw that new tickets created or submitted from the Help Center used the Contact Name field. This would create a new Contact but put the person's name in the Last Name field only. The First
      • Copying a Document with its Citations

        When I copy a document that contains citations using File>Make a Copy from the document's menu the text copies but the citations do not (according to Google they should). Is this the correct way to make a complete copy of a document with its citations
      • Bing ads integration and tracking

        Hi, Is there any way to track Bing ads in the same way that we are able to track google adwords?  It is important for us to be able to determine the conversion rate of our Bing ads.  If this is not possible now, will this feature be added in the future?
      • #20 Your Business Shouldn't Stop Just Because You Do

        Imagine you are on a well-deserved vacation. Your clients are expecting invoices at the beginning of the month, recurring customers are due for billing, and payments are still coming in. Do you carry your laptop everywhere, hoping you don't miss a billing
      • Marketing Tip #26: Optimize product images for SEO

        Product images can do more than make your store look good. They can also help customers discover your products through search. Since search engines can’t "see" images, they rely on text signals to understand what an image is about. Two small actions make
      • Canva Integration

        Hello! As many marketing departments are streamlining their teams, many have begun utilizing Canva for all design mockups and approvals prior to its integration into Marketing automation software. While Zoho Social has this integration already accomplished,
      • Automation Series: Mandatory Time Logging Before Task Closure

        In a project, when users work on multiple tasks simultaneously, they track time in different ways, either by starting a timer or by adding a time log. Sometimes users may forget to add time, which can lead to discrepancies in the timesheet. When timesheets
      • Is there a way to show contact emails in the Account?

        I know I can see the emails I have sent and received on a Contact detail view, but I want to be able to see all the emails that have been sent and received between all an Accounts Contacts on the Account Detail view. That way when I see the Account detail
      • Zoho CRM gets a new email compose and lot more

        Dear Customers,  [UPDATE October 21, 2021: We have started opening these features to some of the customers already. And, it will be available to all the customers before November 2nd Week, 2021. Sorry for the delay caused]  [UPDATE February 21, 2022:
      • Custom AI solutions with QuickML for Zoho CRM

        Hello everyone, Earlier, we introduced Custom AI Solutions in CRM that let you access QuickML for your custom AI needs. Building on that foundation, we’ve now enabled a deeper integration: QuickML models can be seamlessly integrated into CRM, and surface
      • Introducing document visibility in Zoho Sign

        Hello! Complex document workflows often involve multiple stakeholders with different roles. Sending a separate envelope to every person is time consuming and can lead to administrative bottlenecks. With Zoho Sign's document visibility feature, you can
      • Sent email stuck on processing

        My sent emails are stuck on processing, whats going on?
      • [Webinar] What's new in Zoho Analytics: Q2 2026

        Hey data lovers! Our What's New webinar series is bringing you another lineup of exciting features and product enhancements from the past quarter, all designed to help you get more out of your analytics. Get an inside look at new data connectors, Zoho
      • Alterar número de telefone para receber o código OTP

        Boa tarde! Como posso alterar o número de telefone da minha conta para aceder ao meu email corporativo? Estou tentando logar, mas não consigo, pois está sendo enviado o código OTP para o número antigo, preciso aceder urgente meu email, porque e de trabalho.
      • CRM x WorkDrive: We're rolling out the WorkDrive-powered file storage experience for existing users

        Release plan: Gradual rollout to customers without file storage add-ons, in this order: 1. Standalone CRM 2. CRM Plus and Zoho One DCs: All | Editions: All Available now for: - Standalone CRM accounts in Free and Standard editions without file storage
      • Request to Increase URL Field Character Limit

        Hi Arthi, Hope you are doing well. I'm trying to save a URL in the Work Order (WO) module using the URL field, but I receive the following error message: "Please enter a valid Repair File. Maximum 450 characters are allowed." The issue is that the URL
      • How to change column headings in pivot table?

        Hi, Is there a way to rename the column headers of a pivot table? Now some the columns are named with value labels: 'SUM of .....'. We would like to rename those headers. As of now we couldn't find any direct solution to adjust the headers, besides copying and reformat. We want to avoid these extra steps. Best, Tiemen
      • Undelivered Mail

        I suspect that there are recipient's servers that blocks my emails. I receive the following email from mailer-daemon@mail.zoho.eu : A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. pantelis.sarantos@unipakhellas.gr,
      • Email not loading on PC

        Hello, my email opens on but it doesn’t load on PC. I don’t have other issues with the email, all the configurations are ok and I face with following issue in the photo. It says “ mail.zoho.com refused to connect” I will be very thankful if anyone can
      • Why are bounce/error emails being sent to info@ instead of contact@?

        I have my Zoho Mail and WordPress site configured so that normal website emails should go to contact@hybridbatteryservice.com. However, I keep receiving technical bounce/error emails and delivery failure notifications at info@hybridbatteryservice.com
      • I want to create a gaming website

        Hi, I wanted to ask if it's possible to build a custom website using Zoho? I would like to create a website similar to https://busimulatorultimateapk.com/ with almost the same features, functionality, and user experience. I'm not looking for an exact
      • Do Not Disturb status not respected when Cliq bar is enabled across Zoho apps

        Hi Zoho Cliq team, I want to report what appears to be a bug with how the Do Not Disturb status interacts with the embedded Cliq bar in other Zoho apps. **Issue:** When my Cliq status is set to Do Not Disturb, I continue to receive notification tones
      • Introducing the Employee Portal for internal job posting

        Employee referrals and internal applications are one of the most trusted hiring channels. But in many organizations, employees only hear about openings through messages, word of mouth, or after the role has already been open for a while. When employees
      • Zoho Webinar Summer Broadcast 2026

        What if your webinar platform could connect directly with your business tools, automate routine tasks, trigger actions across your workflows, and support every stage of your webinar lifecycle? That’s the question we’ve been answering so far this year.
      • 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
      • Invalid request when trying to access Mail

        When I click on the red button to access Zoho Mail at https://mail.zoho.com/zm/, I get a big yellow warning triangle with "invlid request, The input passed is invalid or the URL is invoked without valid parameters. Please check your input and try ag
      • Whats the average response time for ticket submitted?

        I submitted a request to unblock my mail accounts. They seem to be blocked for outgoing mail, and I have been waiting for days to have this fixed with no reply. I have submitted 2 tickets and an email. My work has to completely stop. I pay for the service
      • All new Address Field in Zoho CRM: maintain structured and accurate address inputs

        Availability Update: 29 September 2025: It's currently available for all new sign-ups and for existing Zoho CRM orgs which are in the Professional edition exclusively for IN DC users. 2 March 2026: Available to users in all DCs except US and EU DC. 24
      • Is there any way to have Dataprep ingest RSS?

        As stated by the title. Does the Zoho environment offer tools that I can use to, directly or using workarounds, have Dataprep ingest an RSS feed? Thanks
      • Introducing Color Coding of Picklist Values

        Dear Everyone, Greetings!! Zoho CRM is uplifting the user experience. Recently, we had some notable aesthetic improvements in CRM like Kanban View UI enhancement, New List view UI enhancement, color coding of tags, and color coding of picklists in meetings.
      • Important updates to your Widget JS APIs

        Hello everyone, Greetings from Zoho Creator! This is an urgent notice for developers and Partners who use widgets in their Zoho Creator applications. We previously announced an update to the CDN URLs used for loading the Widget JS API, with a deadline
      • Deluge sendmail in Zoho Desk schedule can't send email from a verified email address

        I am trying to add a scheduled action with ZDesk using a Deluge function that sends a weekly email to specific ticket client contacts I've already verified the email address for use in ZDesk, but sendmail won't allow it in its "from:" clause. I've attached
      • Mailbox delegation “Send As” error

        I believe there may be an issue with mailbox delegation. When I create a delegation from the Admin Console, it works correctly if I select Read permissions. However, if I select Send As permission for the delegated user, I immediately receive the following
      • Restrict Zoho Cliq Webinars and Announcements to Admins Only

        Hi Zoho Team, We hope you're doing well. We would like to raise a feature request regarding in-app announcements in Zoho Cliq, such as the recent webinar popup about the Cliq Developer Platform: While these announcements are useful, they are not always
      • how do i get mail.mydomain.com to point to zoho mail web-mail?

        I have started using zohomail, and am loving it. With my previous provider, I used to go to mail.mydomain.com, and it would take me to my webmail. I am not able to find the mapping for zoho's webmail to map to it. It is difficult to go to webmail with
      • Number of decimal places

        Hi Latha, I have added the following three fields to the Company module. Currently, these fields only allow a maximum of 2 decimal places. However, for some of our requirements, we need to enter values with up to 10 decimal places. Could you please help
      • zoho imap connection stopped working 05/28 12pm EST

        Hi, beginning Thursday, 5/28, ~12 pm est imap to siteground stopped working. When I tried to reconnect the account, connection was failing with the following message: Unable to connect SMTP server:gvam1107.siteground.biz, Port: 587. I did notice that
      • User Name in Zoho Cliq Not Updating Across Apps?

        We updated the name of a user in Zoho. (From Sue to Taylor) Her name has not been updated in Cliq on all apps. When in Zoho One, if I go to Cliq directly, it is correct, but if I am in another app, and the Cliq bar pops up on the bottom, it will be the
      • Next Page