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

    • SalesIQ Operator Activity Reports in Zoho Analytics

      I'm busy building a dashboard in Zoho Analytics and I want to include SalesIQ stats in the dashboard, but I'm unable to get the statistics mentioned in the attached image. Any idea where I can get the stats for Operator Activity?
    • Default in fields on Form B based on the user selection in Form A

      Hi Everyone, I have added an action button to a form report to bring up a new form based on user selection, see it indicated in red below: Then when the ne form loads, I want to default in some of the fields based on the record the user was selected on.
    • No longer can indent

      Hey there! Is it just me or were we used to be allowed to used tab or indent when writing. It’s not working right now, has this always been the case?
    • Upcoming Changes to the Timesheet Module

      The Timesheet module will undergo a significant change in the upcoming weeks. To start with, we will be renaming Timesheet module to Time Logs. This update will go live early next week. Significance of this change This change will facilitate our next
    • Free webinar alert! Seamless Transition with Lossless Migration: Zoho One + Zoho Mail

      Hello Zoho Mail Community! 🚀 Attention IT Admins and Email Administrators! Are you planning to migrate your organization's email to Zoho Mail within the Zoho One ecosystem? 📧 Join our exclusive webinar, Seamless Transition with Lossless Migration: Zoho
    • Add Resource to Export

      The Export Data feature does not include a column for the Resource field. Without this column, Zoho Bookings cannot be used by any business for resource-based services or event types e.g. room bookings, equipment bookings. It seems to be an oversight,
    • Client Script | Update - Client Script Support For Custom Buttons

      Hello everyone! We are excited to announce one of the most requested features - Client Script support for Custom Buttons. This enhancement lets you run custom logic on button actions, giving you greater flexibility and control over your user interactions.
    • Mandatory field via deluge code

      I would like to ask you if it is possible to make a field mandatory via deluge script. For example, if I have a decision box and I click on it then I want a single line field to be mandatory. If uncheck the decision box then to do the single line as optional. I think it is not possible to do that and I have to do it via validation in 'on validate' field. 
    • Revenue Management: #1 What does it mean to "recognize" revenue?

      Earning revenue isn't just about collecting cash from your customers. It's about recording the income correctly and consistently. Revenue recognition is the process of deciding when and how to record revenue in financial statements so that they reflect
    • Power of Automation :: Auto-Populate Integration Field in Projects with CRM Account Data

      Hello Everyone, 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
    • Zoho Forms and ChatGPT - populating a field using AI.

      I have a form where I would like the user to enter a response or query, and have another field populated using AI. For example, user enters Field 1, AI populates Field 2 in response. I want to be able to wrap some additional instruction text around the
    • campo tag para api

      debo conectarme a una api de zoho inventory y ocupo tomar el campo tag para poder asi jalar el articulo que cuente con el campo correcto en tag ejemplo que tag existen carro y avion que cuando busque los articulo con tag carro arroje solo estos por mas
    • Connecting Zoho Inventory to ShipStation

      we are looking for someone to help connect via API shipStation with Zoho inventory. Any ideas? Thanks. Uri
    • Uploading file as attachment to Zoho CRM

             Hi,   I am trying to attach a file to a Zoho CRM contact using Zoho Flow. Right now, I try to do it through the “Upload File” field in Zoho CRM (In my screenshots, it’s called Téléchargement du fichier 1).   Here is what I tried:   Case 1: Webmerge document The Flow is called “Custom Function” (see screenshot 101).   Step  1: Creating a Webmerge document (screenshot 99)   Step 2: I use “Update module entry” to upload the created file. I upload Webmerge’s “Document” in my “Téléchargemet du
    • Zia Answer Bot - Create Ticket

      Surprisingly, the current iteration of Zia will try to answer a question and unless you have "transfer to SalesIQ chat" enabled, it won't create a ticket for the user or offer them a method to create a ticket. We don't want it to create chats for us,
    • meassure leads phases

      Hi, I need to create a table to meassure the time that a lead stay in blueprint phases. the phases are first contact, second contact, lead spam, contacted, appointment. any idea? I have attached an example
    • Zoho Desk API Documentation missing a required field

      We are trying to create a section using this information. Even after preparing everything based on that page, we still get an error. The error we get is this: {"errorCode":"INVALID_DATA","message":"The data is invalid due to validation restrictions","errors":[{"fieldName":"/translations","errorType":"missing","errorMessage":""}]}
    • In the Custom Module I have 500 Records , this 500 record only want to view to the specific user only example user A ,

      In the Custom Module, I have 500 Old records that should only be visible to a specific user, for example, User A. Any new records created from today onwards should be visible to Record owner in the Custom Module. Pls help how i achive this .
    • Invoice template, how to change the text under "Notes" and "Terms and Conditions"

      In "Invoice templates", there are two text/info sections at the bottom:"Notes" and "Terms and Conditions". It is possible to change the names of these two headings, but how is it possible to change/alter the text under it. As a standard it says "Thank you for your business" under Notes - I need to change it into something different- How? Thank you.
    • How to reply to thread via API

      We have built a webapp for our customers that uses the Zoho Desk API to enable each customer to view their full list of tickets, view individual tickets and raise new tickets. The Zoho Desk API doesn't have the ability to reply to a ticket/thread. Replies
    • Sending merged mail templates for signatures fail since today

      We have ZOHO one, we use merge templates in CRM to edit in ZOHO Writer, and from there send it for signature through zoho sign. This all worked up until today, suddenly we read in the log that the merge is succesfull but the sending for signature failed.
    • Feature Request - Make Lead List Larger and Adjustable

      Hi LandingPage team, I recently started using LandingPage and I am happy to share my feedback to help improve the app. I've noticed on the Leads page, there is no option to make the columns wider. It would be great if the comlumns expanded to fit the
    • Zoho Projects - Pin Recent Projects

      Hi Projects Team, It would be great if I could "pin" projects on the Recent Projects list in Zoho Projects. We have some internal projects which we regularly have to add time and some regular client projects. It would be great if I could pin those projects
    • ZDK Error

      I get this error when trying to trigger a CRM Function from Client Script: Uncaught (in promise) ZDKError: {"code":"NOT_ACTIVE","details":{"api_name":"activate_client_from_prospect"},"message":"api is inactive for the given custom function","status":"error"}
    • "Disbursing product components in phases, monitoring them, and displaying only the final product."

      i have a product composed of multiple components, and these components will be delivered to the customer in batches. However, the final invoice should only show the finished product. How can I issue (or release) the components and track their delive
    • Followed Subtasks doesn't show up in the Subtasks Section

      I have a task assigned to me now in the same task, there's a subtask and I am added as the follower on that task Even though I am a follower I still don't see that in the subtasks section The view permission for the profile is Related It's supposed to
    • Tip #39- Strengthen account security with Multi-factor Authentication (MFA) – ‘Insider Insights’

      Securing your organization's data begins with verifying that only the correct individuals have access to it. One of the simplest yet most effective ways to accomplish this is to enable Multi-factor Authentication (MFA) within Zoho Assist. MFA introduces
    • Automate timeout chat tracking with Workflows in SalesIQ

      With our feature-packed Nova release, Workflows has become one of the most powerful tools in Zoho SalesIQ. They let you automate follow-up actions when key events occur, such as when a chat ends, a visitor leaves a bad/good rating, or a lead is updated.
    • Mass edit / Mass update products

      Hi, Is there any way to mass update or bulk edit product fields in Zoho Inventory?
    • Automatic Verification of IMAP Integration Status

      Our sales staff have their O365 email integrated with CRM, over time this integration requires re-authentication via the UI. I can manually check the integration status by accessing Settings -> Channels -> Email -> Email Sharing -> "Configuration Type"
    • Tip of the Week #68– Share and access files faster with Zoho WorkDrive extension.

      Have you ever wasted time searching for the right file to attach to your emails—or worried whether the right people could access it? Without proper sharing settings, files might end up inaccessible to teammates or, worse, visible to people who shouldn’t
    • CV-Library: The Newest Source Booster in Zoho Recruit!

      We’ve expanded your sourcing toolkit — CV-Library, one of the UK’s largest and most trusted online job boards, is now available as a Source Booster in Zoho Recruit. This gives recruiters instant access to millions of UK-based candidate profiles, all without
    • Zoho AI Translate Task as Rest API

      I cant find any docs on how to use Zoho AI Translate Task from a rest api call https://www.zoho.com/deluge/help/ai-tasks/translate.html I am working on a custom Widget and I dont think I can execute zoho deluge ai translate task from a custom widget.
    • Is there the possibility to book less than 250 customer portal users?

      If you use the Creator, which is included in Zoho ONe, you can create a customer portal and give access to a maximum of 3 external people / customers, right? On the Creator website I saw that you can add 250 users for 100€/month. However, we don't need
    • Display Parts custom fields in the Work Order

      Hello, I see that is it possible to add custom fields in the Parts module. Would it be possible to also add those custom fields in the Work Order Module under Parts? This would be very useful for customer who want to showcase more information about parts.
    • Unable to edit Saved Estimates

      We are facing issue with editing the price or discount for a saved estimate for nearly 1 week.
    • Translation Blueprint & Picklists with Custom Values

      Hello everyone, I downloaded the translation file and I'm not finding the blueprint transitions. Does this means that the transitions cannot be translated? Also, the picklist values to be translated in the document are not the same that are actually used the in module. For exemple, for my lead module, the picklist values for Lead Status are : Not-contacted, contacted, junk and lost lead. In the translation document (English to French), this is what I see: PicklistValues.Leads.Lead_Status.Contact
    • How to create a custom sales signal?

      I want to create a custom sales signal for a custom module. is it possible to create one? If anyone know please let me know
    • Multi-line address lines

      How can I enter and migrate the following 123 state street Suite 2 Into a contact address. For Salesforce imports, a CR between the information works. The ZOHO migration tool just ignores it. Plus, I can't seem to even enter it on the standard entry screen.
    • Only show products in offers based on lead source

      We work with several lead sources, each with their own products and different pricing. For example, one product might have two or three different prices. Sometimes, when creating a quote, the wrong product is accidentally selected. Is there a way to only
    • Next Page