Approval-based booking with Zoho Creator and Zoho Bookings

Approval-based booking with Zoho Creator and Zoho Bookings

Hi community members,

We have developed a workaround for approval-based booking using Zoho Creator and Zoho Bookings! This provides a temporary solution as we work on the native feature, and it's useful for anyone needing an approval workflow when confirming appointments.

Solution overview

1. Intake form via Zoho Creator 

Zoho Creator serves as the intake form where customers can submit their booking requests by providing details, such as:

  • Name

  • Email

  • Contact number

  • Preferred service

  • Desired date and time slots

2️. Scheduling and booking management via Zoho Bookings  

Zoho Bookings acts as the scheduling engine in the background, handling:

  • Staff onboarding

  • Working hours configuration

  • External calendar and video conferencing integrations

  • Event creation and appointment management.

3️. Real-time data sync via API  

This solution leverages API integration between Zoho Creator and Zoho Bookings to ensure real-time data synchronisation. When customers fill out the intake form, it dynamically fetches and displays available slots from Zoho Bookings based on their selection.

Since we are using APIs, any changes made in Zoho Bookings (such as staff availability or service modifications) will be instantly reflected
in the Zoho Creator form, eliminating concerns about outdated information.

Prerequisites for the workaround  

  • Zoho Bookings: Any paid plan

  • Zoho Creator: Standard plan or higher

How to access this solution  

Zoho Creator allows you to export applications as DS files, making it easy to share and deploy solutions. We have attached the DS file for this solution so you can easily download and import it into your Zoho Creator account.

  • Download the DS file here: DS file code

  • Guide to import the DS file into Zoho Creator: Guide

Watch the working demo of this solution hereSolution demo

How it works 

1️. Customer appointment request form  

  • The Zoho Creator intake form allows customers to select their workspace, service, date, time zone, and preferred time slot.

  • The Zoho Bookings API dynamically fetches the available services and slots based on customer selections.

2️. Admin notification and approval dashboard  

Once a customer submits a request, admins receive an email notification with access to the approval dashboard.

Admins can approve requests using two methods:

Auto-assign staff  

  • If admins do not have a preference for assigning staff, they can simply click the Auto-Assign button.

  • The system checks the first available staff member for the selected service.

  • If the first staff member is available, the appointment is automatically assigned to them.

  • If the first staff member has an existing appointment for the day, the system will automatically move to the second staff member and check their availability for the approved date and time.

  • If the second staff member is also unavailable, an error message is displayed, prompting the admin to manually select a staff member.

  • This mechanism ensures that staff assignments are distributed efficiently every time the Auto-Assign button is clicked.

Manual staff assignment  

  • Admins can manually select a specific staff member before approving the appointment.

  • If the selected staff member is unavailable, the system notifies the admin to choose another staff member.

3️. Deny function and automation options  

If the appointment is denied, various automated actions can be configured, including:

  • Sending email notifications to customers about the cancellation

  • Notifying other admins or specific users

  • Triggering custom workflows based on business needs

Key highlights of the solution  

  • No need to manually configure complex workflows—everything is ready to go.

  • Simply pass the Workspace ID and Staff ID while making API calls.

  • The system fetches all required booking details dynamically using Zoho Bookings API.

How to retrieve IDs from Zoho Bookings  

Workspace ID  

  1. Navigate to Zoho Bookings and open the required workspace.

  2. Retrieve the Workspace ID from the URL.

Example:

https://bookings.zoho.in/?app_version=new#/home/dashboard/2209960000******/bookings-page?clview=false


     3. Workspace ID: 2209960000******


Staff ID  

  1. Open the Staff section and select the required user profile.

  2. Retrieve the Staff ID from the URL.



Watch this short video on where to replace the Workspace ID: Workspace ID video 

Watch this short video on where to replace the Staff ID: Staff ID video

Important notes on payment handling  

This solution does not currently handle payment processing. Since appointment requests require approval before confirmation, the payment function is not included by default.

However, if you need to integrate payment processing, here is a possible approach: Zoho Invoice and Zoho Books integration

You can connect Zoho Bookings with an invoicing system like Zoho Invoice or Zoho Books using Zoho Flow or Zapier.


How it works:

1️. When an admin approves an appointment, the booking is confirmed.

2. The system automatically generates an invoice based on the booked service.

This is just one way to integrate payments into this solution. If you have specific payment requirements or alternative workflows in mind, feel free to share them, and we will check the feasibility of implementation.


Need further customization?
  

Note: This solution is in its initial stage of development, and we will refine it wherever possible based on new ideas, feedback, and better implementation approaches. Your suggestions are always welcome.

If you require additional automation or a custom approval/denial process, feel free to reach out.

Contact us at: hello@zohobookings.com

      • Sticky Posts

      • Zoho Bookings know-how: A hands-on workshop series

        Hello! We’re conducting a hands-on workshop series to help simplify appointment scheduling for your business with Zoho Bookings. We’ll be covering various functionalities and showing how you can leverage them for your business across five different sessions.
      • Announcing: custom color palette + free workshop

        Hello everyone, We're excited to share new feature in Zoho Bookings—a color palette within booking page themes. You'll find this option under Manage Bookings > Workspaces > Booking Page Themes. You can customize the color of every element in your booking page and even alter the transparency of your background image. Please note that this is a paid feature included in the Basic and Premium plans. At the moment, it's available only under the Modern Web theme. This means you can create billions (7,
      • Complete walk-through of Zoho Bookings (video)

        Save time for both you and your customers. Use Zoho Bookings, the appointment scheduling app from Zoho, to free yourself from email and paper-based scheduling. Zoho Bookings can give you a common calendar by syncing multiple calendars, including yours and your staff's. Your customers can book a time convenient for them, and pay for services, through your website or the customizable webpage features available in Zoho Bookings. They'll also get emails reminding them about their appointments and any
      • New Features: Service Availability and staff booking page themes!

        Dear All,  Want a dedicated schedule for your one-on-one services? How would it feel to have one-on-one services open for consultations only during certain times? You need a superpower to make that happen and we give it to you - Service Availability is
      • Zoho Bookings has a new pricing - Pay per user

        Dear customers, Businesses around the world use Zoho Bookings. Customers have booked 1.5 million appointments and over 200K online meetings using Bookings. We are only set to cross more milestones, thanks to your support. We are excited to introduce to

        • Recent Topics

        • Kaizen 208 - Answering your Questions | Functions, AI and Extensions

          Hello Developers! Welcome back to a fresh week of Kaizen! We are grateful for your active participation in sharing feedback and queries for our 200th milestone. This week, we will answer the queries related to Functions and Extensions in Zoho CRM. 1.
        • How to bulk update records with Data Enrichment by Zia

          Hi, I want to bulk update my records with Data Enrichment by Zia. How can I do this?
        • How to Track and Manage Schedule Changes in Zoho Projects

          Keeping projects on track requires meticulous planning. However, unforeseen circumstances can cause changes to schedules, leading to delays. It becomes important to capture the reason for such changes to avoid them in the future. Zoho Projects acknowledges
        • Is there a notification API when a new note is addeding

          Trying to push to Cliq, or email notification when there's a new note added in module. How to implement this?
        • Zoho Sheet - Desktop App or Offline

          Since Zoho Docs is now available as a desktop app and offline, when is a realistic ETA for Sheet to have the same functionality?I am surprised this was not laucned at the same time as Docs.
        • Collaborate Feature doesn't work

          Hello Team. It seems that the collaborate section is broken? I can post something but it all appears in "Discussions". In there is no way how I would mark something as Draft, Approval, post or any of the other filter categories? Also if I draft a post
        • Create new Account with contact

          Hi I can create a new Account and, as part of that process, add a primary contact (First name, last name) and Email. But THIS contact does NOT appear in Contacts. How can I make sure the Contact added when creating an Account is also listed as a Contact?
        • Edit Permission during and after approval?

          When a record is sent for approval Can a user request for edit permission from the approver? We don't want to give edit permissions for all the records under approval Only on a case-by-case basis How can we achieve this?
        • Zoho web and mobile application not workingn

          Both zoho forms web and mobile application aren't working. I have checked my network connections and they are fine.
        • Introducing the revamped What's New page

          Hello everyone! We're happy to announce that Zoho Campaigns' What's New page has undergone a complete revamp. We've bid the old page adieu after a long time and have introduced a new, sleeker-looking page. Without further ado, let's dive into the main
        • Prevent stripping of custom CSS when creating an email template?

          Anyone have a workaround for this? Zoho really needs to hire new designers - templates are terrible. A custom template has been created, but every time we try to use it, it strips out all the CSS from the head.  IE, we'll define the styles right in the <head> (simple example below) and everything gets stripped (initially, it saves fine, but when you browse away and come back to the template, all the custom css is removed). <style type="text/css"> .footerContent a{display:block !important;} </style>
        • Bulk Moving Images into Folders in the Library

          I can't seem to select multiple images to move into a folder in order to clean up my image library and organize it. Instead, I have to move each individual image into the folder and sometimes it takes MULTIPLE tries to get it to go in there. Am I missing
        • Zoho Campaigns - Why do contacts have owners?

          When searching for contacts in Zoho Campaigns I am sometimes caught out when I don't select the filter option "Inactive users". So it appears that I have some contacts missing, until I realise that I need to select that option. Campaigns Support have
        • Latest updates in Zoho Meeting | Breakout rooms and End to end encryption

          Hello everyone, We’re excited to share a few updates for Zoho Meeting. Here's what we've been working on lately: Introducing Breakout Rooms for enhanced collaboration in your online meetings and End-to-end encryption to ensure that the data is encrypted
        • Systematic SPF alignment issues with Zoho subdomains

          Analysis Period: August 19 - September 1, 2025 PROBLEM SUMMARY Multiple Zoho services are causing systematic SPF authentication failures in DMARC reports from major email providers (Google, Microsoft, Zoho). While emails are successfully delivered due
        • Accidentally deleted a meeting recording -- can it be recovered?

          Hi, I accidentally deleted the recording for a meeting I had today. Is there a way I can recover it?
        • Cross References Do Not Update Correctly

          I am using cross references to reference Figures and current am just using the label and number, i.e. Figure #. As seen here: When I need to update the field, I use the update field button. But it will change the cross reference to no longer only including
        • Citation Problem

          I had an previous ticket (#116148702) on this subject. The basic problem is this; the "Fetch Details" feature works fine on the first attempt but fails on every subsequent attempt, Back in July after having submitted information electronically and was
        • To Zoho customers and partners: how do you use Linked Workspaces?

          Hello, I'm exploring how we can set up and use Linked Workspaces and would like to hear from customers and partners about your use cases and experience with them. I have a Zoho ticket open, because my workspace creation fails. In the meantime, how is
        • How to access email templates using Desk API?

          Trying to send an email to the customer associated to the ticket for an after hours notification and can't find the API endpoint to grab the email template. Found an example stating it should be: "https://desk.zoho.com/api/v1/emailtemplates/" + templateID;
        • How to render either thumbnail_url or preview_url or preview_data_url

          I get 401 Unauthorised when using these urls in the <img> tag src attribute. Guide me on how to use them!
        • Update Portal User Name using Deluge?

          Hey everyone. I have a basic intake form that gathers some general information. Our team then has a consultation with the person. If the person wants to move forward, the team pushes a CRM button that adds the user to a creator portal. That process is
        • Flow Task Limits - How to Monitor, Understand Consumption?

          So, I got an email last night saying that I've exhausted 70% of my tasks for this month, and encouraging me to buy more tasks. I started to dig into this, and I cannot for the life of me figure out where to find any useful information for understanding,
        • Unable to retrieve Contact_Name field contents using Web API in javascript function

          Hello, I've added a field in the Purchase Order form to select and associate a Sales Order (Orden_de_venta, lookup field). I've also created a client script to complete some fields from the Sales Order (and the Quote), when the user specifies the related
        • Updating Woocommerce Variation Products Prices Via Zoho CRM

          I can update product prices with this flow: But I can't update variant products. I got a code from Zoho for this, but I couldn't get it to work. It needs to find the product in the CRM from the SKU field and update the variation with the price there.
        • Attention API Users: Upcoming Support for Renaming System Fields

          Hello all! We are excited to announce an upcoming enhancement in Zoho CRM: support for renaming system-defined fields! Current Behavior Currently, system-defined fields returned by the GET - Fields Metadata API have display_label and field_label properties
        • Placing a condition before converting the LEAD

          Hi,  I need some assistance with Lead conversion. I need to place certain conditions before allowing the user to convert the lead.  For example: up until the certain status's doesn't equal "green" don't allow to convert lead.  I tried creating this using
        • Zoho CRM Calendar | Custom Buttons

          I'm working with my sales team to make our scheduling process easier for our team. We primary rely on Zoho CRM calendar to organize our events for our sales team. I was wondering if there is a way to add custom button in the Calendar view on events/meeting
        • Power of Automation:: Automate the process of updating project status based on a specific task status.

          Hello Everyone, Today, I am pleased to showcase the capabilities of a custom function that is available in our Gallery. To explore the custom functions within the Gallery, please follow the steps below. Click Setup in the top right corner > Developer
        • Emails Disappearing From Inbox

          I am experiencing the unnerving problem of having some of the messages in my inbox just disappear.  It seems to happen to messages that have been in there for longer than a certain amount of time (not sure how long exactly). They are usually messages that I have flagged and know I need to act on, but have not gotten around to doing so yet.  I leave them in my inbox so I will see them and be reminded that I still need to do something about them, but at least twice now I have opened my inbox and found
        • BUTTONS SHOWN AS AN ICON ON A REPORT

          Hi Is there any way to create an action button but show it as an icon on a report please? As per the attached example? So if the user clicks the icon, it triggers an action?
        • Power of Automation :: Automatic removal of project users once the project status is changed.

          A custom function is a software code that can be used to automate a process and this allows you to automate a notification, call a webhook, or perform logic immediately after a workflow rule is triggered. This feature helps to automate complex tasks and
        • Customizing Form Questions per Recipient Group in Zoho Campaigns/Forms

          Hello everyone, I would like to ask if it’s possible in Zoho Campaigns or Zoho Forms to send out a campaign where the form questions can be customized based on the group of recipients. Use case example: I have prepared 20 questionnaire questions. For
        • Zoho Books - France

          L’équipe de Zoho France reçoit régulièrement des questions sur la conformité de ses applications de finances (Zoho Books/ Zoho Invoice) pour le marché français. Voici quelques points pour clarifier la question : Zoho Books est un logiciel de comptabilité
        • in zoho creator Sales Returns form has sub form Line Items return quantity when i upate the or enter any values in the sub form that want to reflect in the Sales Order form item deail sub form field Q

          in zoho creator Sales Returns form has sub form Line Items return quantity when i upate the or enter any values in the sub form that want to reflect in the Sales Order form item deail sub form field Quantity Returned\ pls check the recording fetch_salesorder
        • Client Script Payload Size Bug

          var createParams = { "data": [{ "Name": "PS for PR 4050082000024714556", "Price_Request": { "id": "4050082000024714556" }, "Account": { "id": "4050082000021345001" }, "Deal": { "id": "4050082000023972001" }, "Owner": { "id": "4050082000007223004" }, "Approval_Status":
        • Forms - Notification When Response Submitted

          How do I set it up to generate an email notification when a response (class request) is submitted?
        • how to use validation rules in subform

          Is it possible to use validation rules for subforms? I tried the following code: entityMap = crmAPIRequest.toMap().get("record"); sum = 0; direct_billing = entityMap.get("direct_billing_details"); response = Map(); for each i in direct_billing { if(i.get("type")
        • Notes Issues

          Been having issues with Notes in the CRM. Yesterday it wasn't showing the notes, but it got resolved after a few minutes., Now I have been having a hard time saving notes the whole day. Notes can't be saved by the save button. it's grayed out or not grayed
        • How to disable user entry on Answer Bot in Zobot

          Hi, I have an Answer Bot in my Zobot, here is the configuration: I only want the user to choose 1 of the 4 the options I have provided: When no answer found, user chooses 'I'll rephrase the question' or 'Ask a different question When answer is found,
        • Next Page