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

    • How do you print a refund check to customer?

      Maybe this is a dumb question, but how does anyone print a refund check to a customer? We cant find anywhere to either just print a check and pick a customer, or where to do so from a credit note.
    • Cant't update custom field when custom field is external lookup in Zoho Books

      Hello I use that : po = zoho.books.updateRecord("purchaseorders",XXXX,purchaseorder_id,updateCustomFieldseMap,"el_books_connection"); c_f_Map2 = Map(); c_f_Map2.put("label","EL ORDER ID"); c_f_Map2.put("value",el_order_id); c_f_List.add(c_f_Map2); updateCustomFieldseMap
    • Printed Reports, Increase Font SIZE

      I need to send some printed copies of financial reports to my attorney. The reports print out with microscopic fonts. How do I increase the font size so that a normal human can read the text? Every other accounting app can do this so I imagine I have
    • Avoid email sending!

      Hello, Thanks you Zoho for the wonderful apps you provide. Question: Is there a way to disable sending emails when: - creating an estimate or billing. Thanks Tommy
    • Need to show discount before total after subtotal

      Need to show discount before total after subtotal on my estimate template (see attachment)
    • Email a "thank you" note for this payment is NOW checked by default

      Hello Team, Just noticed that Email a "thank you" note for this payment is now checked by default. I tried searching in Preferences and there is no way to turn this off. I do not want this to be the default. Is there a way to turn this off?
    • End-to-end services hours

      We are trying to determine the best method of quoting service hours on quotes but only present the sum amount to a customer, without losing the tracking of quantity of hours for invoicing purposes. Does anyone have a good method they have determined?
    • Specific Approval Question

      Hi everyone, Just a quick question here. I have located the "Approval Type" in the preferences, which is great, and I am sure we could make use of it. However, I am trying to understand how I can implement an approval "workflow". The business call it
    • Zoho Books - Show Discount Totals When Greater Than Zero

      Hi Books Team, I understand that to show or hide discount amount on a Quote or Invoice, I need to use different templates. It would be a great quality of life improvement for users if we had an option to show or hide the discount amount at line item and
    • Specifying a filename for Schedule Reports

      Is it possible to specify a filename to use with scheduled reports? For example: With a general ledger report, instead of general_ledger.pdf I would like to include the date the report was generated in the filename so it is called general_ledger_202
    • Need to upsert "Created Time" field in Leads Module

      I am in the process of implementing Zoho CRM for my business. I need to modify the "Created By' field to reflect the actual date/time the lead was captured in my original Excel file. Otherwise, my conversion velocity data will always be inaccurate, which
    • HTML for confirmation email

      Hi, After a prospect submitted the Zoho form, we want to send a confirmation mail. In this mail we want to add our email signature. However, while this is possible in Zoho CRM this doesn't seem to be an option in Zoho Forms. Also an html editor is not
    • Fire a webhook when the user gets access to portal

      Hello, We would like to know if there is any way in which we can automate a webhook call if the user accepts the portal invitation that Zoho sends by email. The customer module does have the option to trigger webhooks when a customer is created, updated,
    • One Contact with Multiple Accounts with Portal enabled

      I have a contact that manages different accounts, so he needs to see the invoices of all the companies he manage in Portal but I found it not possible.. any idea? I tried to set different customers with the same email contact with the portal enabled and
    • Enable History Tracking for Picklist Values Not Available

      When I create a custom picklist field in Deals, the "Enable History Tracking for Picklist Values" option is not available in the Edit Properties area of the picklist. When I create a picklist in any other Module, that option is available. Is there a specific reason why this isn't available for fields in the Deals Module?
    • Creating Payrun summary by fetching values from the employee payruns and adding them

      I am trying to make a processing payrun module. I want on Form load to autofill payrun summary eg Total Deductions, Total employer contributions etc by fetching one value after the other in the employee payrun information. So it should loop through the
    • Creator - Portal Custom Domain

      I will pay $100 in crypto to anyone who can actually get my Creator Custom Domain to function (actually tell me how you got yours to).  Domain verifies, Nothing. I've been fighting it a week, multiple chats to customer service. Clearly I'm doing something wrong.  Some datapoints Domain name itself unimportant, can be a string of numbers.  I need to know what registrars are working for you because GoDaddy does NOT.  Do I need hosting? I've tried both ways and nothing works.  I pushed through Cloudflare
    • Feature Request - Zoho Books - Add Retainer Invoices to CRM/Books integration

      Hi Books Team, My feature request is to include Retainer Invoices in the finance suite integration with Zoho CRM. This way we will be able to see if retainer invoices have been issued and paid. I have also noticed that when the generate retainer invoice
    • Books <-> CRM synchronisation with custom Fields

      Hello, We are synchronising Books Customers with CRM Accounts. In CRM Accounts I set up last year a "segments" multiselect field shown below In Books, I set up a custom multi-select field with the same value as in the CRM And set up the synchronisation inside Books. Want to synchronise the Books Segments with the CRM Segments, but the later doesn't exist, and another non-existing is there ?! First, I don't understand where the field Segmentation is coming from. Second, I set CRM Segmentation to sync
    • Edit Reconciled Transactions

      I realize transaction amounts and certain accounts cannot be edited easily once reconciled, but when I audit my operational transactions quarterly and at the end of the year sometimes I need to change the expense account for a few transactions. To do
    • Request to Customize Module Bar Placement in New Zoho CRM UI

      Hello Support and Zoho Community, I've been exploring the new UI of Zoho CRM "For Everyone" and have noticed a potential concern for my users. We are accustomed to having the module names displayed across the top, which made navigation more intuitive
    • Sending campaigns from other server

      Hi, Is it possible to send campaigns from another server so customers can see mail direct from our company (Corrata) and not from ZCSend.net? Thanks, Tim
    • Edit a previous reconciliation

      I realized that during my March bank reconciliation, I chose the wrong check to reconcile (they were for the same amount on the same date, I just chose the wrong check to reconcile). So now, the incorrect check is showing as un-reconciled. Is there any way I can edit a previous reconciliation (this is 7 months ago) so I can adjust the check that was reconciled? The amounts are exactly the same and it won't change my ending balance.
    • Admin and Dispatcher Users show as Field Technicians in Dispatch Module?

      Hi Zoho, Our Admin and Dispatch user both show up as Fied Technicians / Field Agents in the Dispatch module, but they most certainly should not be assigned to any of the work orders and service appointments. These users are NOT service resources. How
    • Don't understand INVALID_REQUEST_METHOD when I try to post up an attachment

      When I make the POST request (using python requests.post() for files): https://www.zohoapis.com/crm/v8/Calls/***************01/Attachments I get this response: r:{ "code": "INVALID_REQUEST_METHOD", "details": {}, "message": "The http request method type
    • Zoho Payroll: Product Updates - June 2025

      This June, we’re taking a giant step forward. One that reflects what we’ve heard from you, the businesses that power economies. For our customers using the latest version of Zoho Payroll (organizations created after Dec 12, 2024) in the United States,
    • 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
    • Update subform dropdown field choices - on load workflow

      Hi, I have a "Check In" form that has "Contacts" subform and a "Tickets" subform. When the form is loaded, I want to populate one contact and the number of tickets. I want the "Contact" field in the "Tickets" subform to have the choice of "Contacts."
    • Upload Zoho Inventory Item Image by API

      itemID = item.get("item_id"); organizationID = organization.get("organization_id"); resvp = zoho.inventory.getRecordsByID("items",organizationID,itemID,"zoho_inventory_conn"); info resvp; image_file = invokeurl [ url: "https://t4.ftcdn.net/jpg/03/13/59/81/360_F_313598127_M2n9aSAYVsfYuSSVytPuYpLAwSEp5lxH.jpg"
    • Salesforce to Zoho One Migration

      HI, I am about to start a migration from Salesforce to Zoho One I would like to know the best practise for this, my current thoughts to the approach is 1) Create fields, modules as required for migrating data 2) migrate Data 3) go live Will this approach
    • Zoho Expense Integration with Zoho Books

      I want to know what flexibility do i have in selecting the chart of accounts which get a hit whenever we are posting any expense or advance in zoho expense?
    • Custom Function to Update Ticket based on Subject of Ticket

      This may be pretty simple but I'm having issues with getting a custom function to fill out custom fields based on the subject of a ticket and not the body of a ticket. Basically we need to fill in the PO number and Item ID custom fields, both of this
    • Incoming 'Message' data via WhatsApp appears empty

      the Incoming 'Message' data via WhatsApp appears empty; instead of customer messages, I only see CRM system notification messages are being displayed. I have seen 3 messages like this since yesterday it seems that in 'All Message' the message snippet
    • Handling Automatic Replies in Desk

      We send out email campaigns (currently via Klaviyo) and naturally we receive "Automatic Replies" to these mass email campaigns. These responses are all being routed to Zoho Desk. We get two types of "Automatic Replies" Type 1) Customer is out of the office/holiday
    • Zoho Mail API Error EXTRA_KEY_FOUND_IN_JSON

      I have a workflow set up in Pipedream that uses the Zoho Mail API to send emails from my account. It's worked without issue for months but today I'm getting the following 404 error for every email I try to send: { "data": { "errorCode": "EXTRA_KEY_FOUND_IN_JSON"
    • How to search (web API) for a Calls record by phone number?

      Using v8 /Calls/search web api I'm unable to to complete a search request no matter how I use the api: When I try using "criteria=" I get: response: <Response [400]> response_json: { "code": "INVALID_QUERY", "details": { "reason": "the field is not available
    • [Free Webinar] Product Release Updates - Creator Tech Connect

      Hello Everyone! We welcome you all to the upcoming free webinar on the Creator Tech Connect Series. The Creator Tech Connect series is a free monthly webinar that runs for around 45 minutes. It comprises technical sessions in which we delve deep into
    • Zoho GenAI API Error Not a valid response from zia.

      Zoho GenAI API Error Not a valid response from zia.
    • Help me to retreive my Document

      Please help me to retrieve my documents from any date between 1st February, 2025 to 20th,March 2025 .it got mistakenly deleted on the 21 of March 2025 due to phone screen malfunction I earnestly await your positive response .thank you
    • how to change the page signers see after signing a document in zoho sign

      Hello, How can I please change the page a signer sees after signing a document in Zoho Sign? I cannot seem to find it. As it is now, it shows a default landing page "return to Zoho Sign Home". Thanks!
    • Next Page