Automating appointment status and customer feedback collection

Automating appointment status and customer feedback collection

Hello community members,

In the spirit of elevating your scheduling game for 2024, we're bringing you a couple of useful workarounds that can enhance your overall Bookings experience.

We have divided the community post into two halves. In the first half, we will show how to automate the appointment status to Completed. This action ensures that emails are automatically triggered after the appointment is completed. In the second half, we will explore how to add and prefill the feedback form in your customer emails. This will allow you to efficiently gather feedback from customers.

In an effort to streamline the entire process, we're merging both topics into a single post. This aims to automate updating the appointment status to completed, triggering the completion email to customers, and seamlessly integrating our Zoho Survey form for actively collecting valuable feedback.

Automating the appointment status

Currently, updating an appointment's status to Completed is a manual process in Zoho Bookings. However, with our new workaround, you can now streamline this task through automation. We've included steps below that will make it so that once an appointment has ended, its status will automatically switch to Completed.  

Note that if you mark an appointment as No show, your selection will not be overwritten by this new workaround. 

If you're still concerned about this, consider editing the content of the appointment completion trigger email, providing generic content suitable for both attendees and non-attendees. This guarantees that even if all appointments are marked as completed, a generic email with relevant information will be sent to all customers.

Prerequisites for automating the appointment status 

1. Zoho Bookings basic or premium subscription.
2. Zoho Flow paid subscription

How to automate 

A. First, we'll create a new flow in Zoho Flow:

1. Sign in to Zoho Flow.

2. Select the Create flow option.



3. Select App and search for Zoho Bookings in the search bar.



4. Select the Appointment booked trigger.



5. Select the Connection and Variable Name.



6. Click Done. 

You have now created a new flow for Zoho Bookings.

Other helpful links for this process:
B. Next, let's configure the logic: 

1. Navigate to the Logic tab in Zoho Flow.

2. Click the Flow Control dropdown and select Delay.

3. Drag and drop the Delay function to the bottom of the Appointment booked trigger.



4. Click on the edit icon next to the Delay function.



5. In the Delay For the column, select the appointment end time variable from the available Zoho Bookings variables.



Completing this steps helps us ensure that this workflow executes exclusively at the end of each appointment.

C. We can now allocate additional time for any necessary actions:

For example, let's consider extending the remaining actions by an extra 5 minutes. This extension grants you additional time to update the appointment status. 

1. From the Logic tab, drag and drop another Delay action to the bottom of the first Delay action.



2. Click on the edit icon next to the Delay function.



3. In the Delay For column, set the desired extra time based on your preference. If going by our proposed example, we'd configure an additional 5 minutes.


For more details: Delay

Note: If you decide not to include extra time and prefer to execute the flow precisely at the end of the appointment duration, you do not need to complete this section of steps.

D. Finally, let's configure a custom function

Through this step, we'll ensure our ended appointment's status updates to Completed (as long as no other status has been selected).

1. From the Logic tab, click the Custom Functions dropdown.



For more details: Custom Functions

2. Click +Custom Function.



3. Add a relevant name for the function under Function Name, and set the Return Type as void - Returns nothing from the dropdown.

4. Under Input parameters, type bookingID and select string from the dropdown as shown in the screenshot below.



5. Click Create to open the Deluge script page, where we will enter our code for execution.

Please configure the below code in the Deluge script page.  

Code Link



If you're interested, here is a brief explanation of the code:

Line 1: To pass the input data below to the code.
  • Booking ID: Identifies the specific booking for fetching details and checking the status.
Line 3: Set up the API endpoint URL based on the Zoho Bookings account's data center.
Line 3–12: We utilize the Get Appointment API' to retrieve the appointment details. For more details: Get Appointment API

Line 13: Here, we're fetching the status of the respective appointment from the response of the Get Appointment API.

Line 15: Implement an 'if' condition to execute the code only if the appointment status is not No show.

Line 16–27: In this step, we utilize the 'Update Appointment API to mark the appointment status as Completed' when the condition specified in line 15 of the code is met.

This is how the final flow will look:



Note: The described flow is tailored for newly scheduled appointments. For cases where appointments are initially scheduled and later rescheduled, a separate flow must be created. The flow for rescheduled appointments follows the same steps outlined above, with the only modification being the initial trigger. Instead of the 'Appointment booked' trigger, please substitute it with the 'Appointment rescheduled' trigger in step A (steps B, C, and D remain the same).



Collecting feedback with surveys

Ensuring a seamless and positive customer experience is a top priority for every appointment. An integral part of this process involves gathering feedback from customers after the appointment's completion. This valuable feedback not only helps understand their sentiments but also provides insights for continuous improvement. 

Let's explore how to leverage Zoho Survey to collect valuable feedback from customers. Additionally, we'll delve into the process of pre populating survey fields with the customer's name extracted from the appointment.

How to create a survey in Zoho survey:

You have the option to create a new survey from scratch or choose from templates or existing surveys.

For more details, refer to: Create a Survey.

As an example, let's use the Customer Feedback Survey from the templates.




To enhance your survey experience, you have the flexibility to edit the survey form and select specific fields for inclusion.

Now, let's take a closer look at streamlining the customer experience by auto-populating the field inputs in Zoho survey with customer details. This additional step eliminates the need for customers to add their information manually, contributing to an enhanced overall experience.

1. Click on the Actions button (three dots) next to the Last Name field, and choose Edit.




2. Click on Advanced options and check the box next to Prepopulate answer.



3. Select First Name, Last Name, and Email Address under Question label and URL parameter in each corresponding Value from field.



4. In the Value field, configure the parameter name (e.g., firstname, lastname, email). Once configured, this parameter name will be used in the survey link to prefill the fields in the survey form. Customize it as per your requirements, ensuring consistency with the term used in the survey URL.



To publish the survey, go to the Launch tab and click on the Publish button to obtain the Zoho Survey URL.




Pre-populating fields in the Zoho Survey form

Once we have the Zoho Survey URL, we'll need to match the configured parameter name and variables from the Zoho Bookings email notifications. These variables play a crucial role in dynamically fetching customer information and populating it in the Zoho Survey form.

For details about variables in Zoho Bookings email notifications, refer to this link: Pre-defined variables

We'll now edit the survey URL to align the variables with the configured Value, or parameter name, from our prepopulated answer settings.

Let's say this is our survey URL: 

https://survey.zohopublic.com/zs/E****h

We'll want to use a question mark ("?") at the end of the survey URL and an ampersand ("&") to separate different parameter names.

Here's what that would look like using our example Value names from earlier:


Now, let's map the parameter names to the Zoho Bookings variables.

It would look like this:


For more details: Autofill 

Where to use the Zoho Survey URL

To enable the automatic sending of the Zoho Survey URL to customers upon updating the appointment status to Completed, follow these steps in the Zoho Bookings application:

For one-on-one services:

1. Click on Service in the top left corner.
2. Select the desired one-on-one service.
4. Navigate to the For Customers tab.
5. Click Customize next to the Mark As Completed' trigger to access the email content.



6. Enter your desired name for the button. For example, you might use something like 'Please fill out the survey'. 

7. Select the entered text and click on the Add Link icon. Paste the configured Zoho Survey URL in the URL box. This will convert your text into a hyperlink that leads to the survey.



For group and resource booking services, please follow the same steps under Workspaces > Notifications.

For more details: Workspace Notifications

With the completion of this step, we have incorporated the Zoho Survey URL with dynamic variables, facilitating the dynamic autofill of customer data.

To wrap it up

With the successful implementation of the configuration described above, the entire process of automating status updates and collecting feedback is now seamlessly integrated, promising an elevated and enhanced product experience for all users.

If you have any questions or need assistance with your configuration, please email us at hello@zohobookings.com or support@zohobookings.com.




      Zoho Campaigns Resources


        • Desk Community Learning Series


        • Digest


        • Functions


        • Meetups


        • Kbase


        • Resources


        • Glossary


        • Desk Marketplace


        • MVP Corner


        • Word of the Day


        • Ask the Experts


          • 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

          Zoho CRM Plus Resources

            Zoho Books Resources


              Zoho Subscriptions Resources

                Zoho Projects Resources


                  Zoho Sprints Resources


                    Zoho Orchestly Resources


                      Zoho Creator Resources


                        Zoho WorkDrive Resources



                          Zoho CRM Resources

                          • CRM Community Learning Series

                            CRM Community Learning Series


                          • Tips

                            Tips

                          • Functions

                            Functions

                          • Meetups

                            Meetups

                          • Kbase

                            Kbase

                          • Resources

                            Resources

                          • Digest

                            Digest

                          • CRM Marketplace

                            CRM Marketplace

                          • MVP Corner

                            MVP Corner




                            Zoho Writer Writer

                            Get Started. Write Away!

                            Writer is a powerful online word processor, designed for collaborative work.

                              Zoho CRM コンテンツ








                                ご検討中の方

                                  • Recent Topics

                                  • Ship via Carrier Not Working Since Commerce Update

                                    Since the recent update to the Commerce platform, I can no longer use the ship via carrier function. It will take me to the address screen and let me verify them but when I go to save and move tot he next screen it will not do anything. This is happening
                                  • automations: Can I execute a step on a specific date?

                                    I have created a form in Zoho forms, and created a contacts list. I have also begun setting up an automation with the intention of sending the form to the contact list on a specific date every month (via email) for the entire year (essentially sending
                                  • Zoho Expense - The ability to add detail to a Trip during booking

                                    As an admin, I would like the ability to add more detail to the approved Trips. At present a requestor can add flights, accommodation details and suggest their preferences. It would be great if the exact details of the trip could be added either by the
                                  • Adding Folders in Android App

                                    Is it possible to create a new email folder within the Zoho Mail Android app?  Or can this only be done from the desktop version of Zoho Mail? Cheers!
                                  • Schedule Exports for Regular Project Updates

                                    Tracking project data often means exporting data at regular intervals. Instead of manually exporting data every time, users can schedule exports for Phases, Tasks, and Tasks in Zoho Projects. These exports can be set to run once, daily, weekly, or monthly
                                  • Question about custom fields using Pivot Tables.

                                    I have created a pivot table showing annual revenue of a client and how much payment that client is paying my company. Is there a way using pivot table to add an additional field that subtracts those to fields / shows me a percentage of that difference?
                                  • Request for Light/Dark Mode

                                    Would love the ability to switch between Light and Dark mode similar to Zoho CRM. https://help.zoho.com/portal/en/community/topic/introducing-dark-mode-light-mode-a-new-look-for-your-crm
                                  • Signature field is showing black

                                    Hello, When customer signed the service form, it is showing as below picture Phone model: iPhone 16 Pro We tried delete and install application, but it not solved. This has on phone of a few person. There is any advice to solve this?
                                  • Journey Email - Ignored Contacts

                                    I have a journey setup which simply sends a string of emails over time. For some reason I am getting large amounts of the contacts who enter the first email being ignored and I can't find anywhere in reports or audit logs why these contacts are not
                                  • Involved account types are not applicable when create journals

                                    { "journal_date": "2016-01-31", "reference_number": "20160131", "notes": "SimplePay Payroll", "line_items": [{ "account_id": "538624000000035003", "description": "Net Pay", "amount": 26690.09, "debit_or_credit": "credit" }, { "account_id": "538624000000000403", "description": "Gross", "amount": 32000, "debit_or_credit": "debit" }, { "account_id": "538624000000000427", "description": "CPP", "amount": 1295.64, "debit_or_credit": "debit" }, { "account_id": "538624000000000376", "description":
                                  • Zoho Books - Include Payment Terms as a Custom View filter

                                    It would be great if you could created a custom view based on Payment Terms. This would be really handy for seeing a list of customers who have credit terms. A workaround is not required. I could do something with a creditor checkbox, but it would be
                                  • How to update changed purchase account of item in invoice

                                    I have selected the wrong purchase account for various articles and created invoices. I had to adjust the purchase account in the article afterwards, but the old purchase account is still posted in the transaction-journal of the invoice. To adjust the
                                  • Help - Zoho CRM notification on mobile (IOS/Android)

                                    Hello Community! Can I get the IOS/Andoid CRM app to notify me of events, calls, etc. due as I can with MANY other apps?   I am running the free Zoho I would like this to be native to the Zoho CRM app. I do not want to write a sep. mobile app
                                  • Zoho Books Idea - Include another field in Bank Details for Address

                                    Hi Books team, Currently use the Description field in the Bank Details to store the bank's address. This works fine but it would be great if you could add another field for Bank Address, so that other notes about the bank account could be stored in the
                                  • Reverse payment on accidentally closed invoice.

                                    An invoice was closed accidentally with the full payment added. However, only partial payment was paid. How can I reopen the invoice and reverse this to update it to show partial payment?
                                  • a question about the COQL API v8

                                    When I specify eight or more values in a WHERE IN clause and execute it, an error occurs. Is there a limit to the number of values that can be specified in a WHERE IN clause? ↓Error select * FROM Vendors WHERE (id in (1, 2, 3, 4, 5, 6, 7, 8, 9)) ↓Success
                                  • Zoho Books Idea - Bank Details Button on Banking

                                    Hi Books team, Sometimes I'm asked to share bank details with a customer or a colleague. So I go to the Banking Module, find the correct bank account, click Setting > Edit, then copy and paste the bank details. Wouldn't it be great if there was a button
                                  • JS SDK 8.0 – TypeError: Cannot read properties of undefined (reading 'getCacheStore') with sample code

                                    Hello Zoho Support Team, I’m integrating the Zoho CRM JavaScript SDK v8.0 and I’m getting the error below when running your official sample. I tested directly from: https://github.com/zoho/zohocrm-javascript-sdk-8.0/blob/main/samples/create_records_sample/create_records.js
                                  • Function #55: Convert multiple quotes to single SO using Custom Button

                                    Hello everyone, and welcome back to our series! In Zoho Books, after a quote is accepted by your customer, it can be converted into a sales order or an invoice. Often, a customer might have multiple quotes, and for easier billing or upon the customer's
                                  • Zoho One - Syncing Merchants and Vendors Between Zoho Expense and Zoho Books

                                    Hi, I'm exploring the features of Zoho One under the trial subscription and have encountered an issue with syncing Merchant information between Zoho Expense and Zoho Books. While utilizing Zoho Expense to capture receipts, I noticed that when I submit
                                  • 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
                                  • Time based workflow without edit/action

                                    Hello I need help solving this problem if possible. We have Deals come into the CRM via Live Transfer which have the field properties: Stage = New Channel = Inbound Some of them don't get answered so we want these to automatically go into our Outbound
                                  • What's New - August 2025 | Zoho Backstage

                                    Every month, Zoho Backstage grows with you. These updates aren't just features and fixes, they're about making your workday smoother, your events more impactful, and your attendees happier. We’ve listened, learned, and shaped this release to keep things
                                  • prevent selling expired items

                                    Hello. I need to make a constraint on expired batch items not to be sold. Is it possible in Zoho Inventory? if so, then how? Thanks for further help.
                                  • Product details removed during update from other system

                                    We maintain our product details in an other system. These details are synchronized with Zoho at the end of each day, through an API. This has worked perfectly sofar. But last Monday, all product codes and some other product data have been wiped during
                                  • Client Customer

                                    I purchased a customer user license, but we cannot see the project I added in the customer account. I would like to ask for support on what we should do.
                                  • Add Ability to Use Zoho Finance Tags

                                    For Zoho Finance (Books and Inventory), the current actions do not allow us to affect the tags associated with the entities in question (customers, vendors, items, etc.). Please consider adding this functionality into the actions.
                                  • Embeded Signing doesn't work on Safari Browser

                                    We have implemented Zoho Sign in our website by using embeded signing, It works perfectly on Chrome. But it fails on Safari, We get stuck on Zoho Sign Page during redirection from Zoho Sign to our website after signing the document, Please let us know
                                  • Dataprep Webhook Limits and Cannot update column with Dataprep

                                    I have two problems : 1 - I am using Airflow to trigger my pipeline, and when I tested it, it worked fine a couple of times. However, after that, I received an error: {"code":429,"message":"Request rate limited"}. I didn’t send too many requests — maybe
                                  • 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
                                  • New in Zoho Forms: Google reCAPTCHA v3 for smarter spam protection

                                    Hello form builders, Spam submissions are one of the biggest challenges when you share your forms online. They not only clutter your data but can also waste valuable time. To help you combat this without making life harder for genuine respondents, we’re
                                  • Project Management Bulletin: August, 2025

                                    We’ve touched a grand 19 years since we started pioneering project management solutions with Zoho Projects. What started as a simple one-page interface is now a suite of products with Zoho BugTracker, Zoho Sprints, and our new debut Zoho Projects Plus,
                                  • Zoho Sign and Zoho Workdrive Integration

                                    Hello, there. I want to know if it's possible to save a signed document from Zoho Sign in an specific folder for each signer in Zoho Workdrive.  For example: If John Doe signs the document in Zoho Sign I want to save it automatically in a folder named
                                  • Office 365 and CRM mail integration: permission required

                                    Has anyone run into this weird problem? My email server is Office 365. When I try to configure Zoho CRM to use this server, a Microsoft popup window opens requesting user and password. After entering that, I get a message in the Microsoft window saying
                                  • Empowered Custom Views: Cross-Module Criteria Now Supported in Zoho CRM

                                    Hello everyone, We’re excited to introduce cross-module criteria support in custom views! Custom views provide personalized perspectives on your data and that you can save for future use. You can share these views with all users or specific individuals
                                  • How do you list multiple contacts for a lead?

                                    My sales team wants to be able to add additional contacts for leads, how do we do that? Is there a different way we should be using the lead / contact functionality? Moderation update (9th September 2025): Our developers have built an extension to achieve
                                  • Modifying Three Dot Menu Options

                                    Is there a way to modify the three dot menu options that display in a Report header? They currently display: Show As (List, Calendar, Timeline), Print, Import, Export. I'd like to remove the Show As and Print options, since they aren't applicable for
                                  • Elevate your CX delivery using CommandCenter 2.0: Simplified builder; seamless orchestration

                                    Most businesses want to create memorable customer experiences—but they often find it hard to keep them smooth, especially as they grow. To achieve a state of flow across their processes, teams often stitch together a series of automations using Workflow
                                  • Field Not Updating in FSM Script - Service and Parts module.

                                    Dear Team, I am reaching out regarding a script I have implemented in Zoho FSM to automate the calculation of the End of Service date based on the End of Sale date in the Service and Parts module. Overview of the script: Fetches the End_of_Sale__C and
                                  • Zadarma + Zoho CRM Integration – Missed Calls Saved as Contacts Instead of Leads

                                    Hello everyone, I’m looking for input from anyone with experience using the Zadarma + Zoho CRM integration. Currently, I’m seeing that missed calls are automatically being created as Contacts instead of Leads. From a CRM perspective, this doesn’t make
                                  • Next Page