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.
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.
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.
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:
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.
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.
Recent Topics
Access token generate from the refresh token not working for API
Dear Sir/Madam, When I use my refresh token to obtain new access_token, that token return INVALID_TOKEN when the same API is called. I made sure that my api site is correct and match the auth web site. However the original access_token work fine.
Function #4: Schedule Customer Statements
Regularly sending statements to customers is an imperative part of many business processes as it helps foster strong customer relationships and provides timely guidance on payments. While you can generate the statement of accounts and have it sent over
Limiting search or dependencies with an asterisk "*".
I have a form with several dependency fields with options still developing for each field. Since these options were developing and not yet ready to be a selection in the field, I placed a filter for the dropdown field. In this filter, I selected fields
Cross Data Center Support for 1:1 Chats with External Users
Hello Zoho Cliq Team, We hope you're doing well. We appreciate the recent enhancement that enables cross data center collaboration in external channels, which has already improved communication across distributed teams. However, we’ve noticed that this
Handling Greetings/Small Talk at the Beginning of a Zobot Conversation
Hello everyone, I’m currently configuring a **Zobot** in Zoho SalesIQ and everything is working as expected, except for one specific scenario at the very beginning of the conversation. My target audience has the habit of starting with a **greeting or
Regex in Zoho Mail custom filters is not supported - but it works!
I recently asked Zoho for help using regex in Zoho Mail custom filters and was told it was NOT supported. This was surprising (and frustrating) as regex in Zoho Mail certainly works, although it does have some quirks* To encourage others, here are 3 regex
Importing a new list into campaigns
I'm in the middle of switching my email platform to campaigns. I have a list that I want to import, and it overlaps with my existing Zoho CRM list. The fields in my Zoho CTM are more robust. Will this new list that I upload into my campaigns overwrite
when I email a invoice how can i see it was sent and also were i can go to see all emails sent
when I email a invoice how can i see it was sent and also were i can go to see all emails sent?
How can I see content of system generated mails from zBooks?
System generated mails for offers or invices appear in the mail tab of the designated customer. How can I view the content? It also doesn't appear in zMail sent folder.
CRM Blueprint Notification by Cliq
Dear Zoho team, In Workflow, there is nofication by cliq, but in blueprint, there is no option as cliq notification. I think it is very convenient to get notified by Cliq , as there are multi modules in apps, but we will always check Cliqs
Zoho People Attendance Regularization – Wrong Total Hours Displayed
While using Zoho People, I observed that the attendance regularization is showing wrong total hours when applied to past dates. For example, if a check-in is added at 10:00 AM and check-out at 6:00 PM for a previous date, the system sometimes calculates
Sync Contacts in iOS
What does the "Sync Contacts" feature in the iOS Zoho Mail app do?
Live webinar: Craft the ideal sales pitch deck with Show
Every great sale starts with a great story. And your pitch deck? That’s where the story takes shape. But too often, these presentations end up looking generic, overloaded with text, or lacking structure. The good news is, it's easier to fix than you think!
Project Statuses
Hi All, We have projects that sometimes may not make it through to completion. As such, they were being marked as "Cancelled". I noticed that these projects still show as "Active" though which seems counter intuitive. In fact, the only way I can get them
👋 Welcome to the Zoho MCP Community
Hello all, glad to have you here! This is your space for everything AI agents, MCP tools, and intelligent business apps. This community is for you — developers, partners, creators, and businesses exploring how agents can transform work. Whether you’re
DNS Manager
Where Can I find my DNS manager so I can link this to click funnels or AWEBER
Forwarder
Hi, I tried to add a forwarder from which emails are sent to my main zoho account email . However, it asks me for a code that should be received at the forwarder email, which is still not activated to send to my zoho emial account. So how can I get the
Forwarder
Hi, I tried to add a forwarder from which emails are sent to my main zoho account email . However, it asks me for a code that should be received at the forwarder email, which is still not activated to send to my zoho emial account. So how can I get the
How do I sync multiple Google calendars?
I'm brand new to Zoho and I figured out how to sync my business Google calendar but I would also like to sync my personal Google calendar. How can I do this so that, at the very least, when I have personal engagements like doctor's appointments, I can
Need to extract date from datetime field
I have a datetime field and need only the date part from it. I am unable to find a built-in function that would be <DateTime>.Date(). I don't think I want to go the string conversion route of converting the datetime to string and then parsing out values and create a date out of it. Any one out there has a better solution to this? Thanks in adavnce. Regards Moiz Tankiwala Smart Training & IT Solutions
How to Hide Article Links in SalesIQ Answer Bot Responses
I have published an article in SalesIQ, and the Answer Bot is fetching the data and responding correctly. However, it is also displaying the article link, which I don’t want. How can I remove the link so that only the message is shown?
New in Cadences: WhatsApp follow-ups, upgraded limits, and options for add-ons
Hello everyone, We're rolling out two key updates to help you engage better and scale smarter with Cadences in Zoho CRM. Reach customers on WhatsApp, directly from Cadences Previously, Cadences have enabled you to automate follow-ups through emails, calls,
additional accounts
If I brought 5 emails to my account. Can I later buy additional emails.
Issue in Zoho People Regularization – Incorrect Hour Calculation
I have noticed that when applying attendance regularization in Zoho People for previous dates, the total working hours are not calculated correctly. For example, even if the check-in is 10:00 AM and check-out is 6:00 PM, the system shows an incorrect
Why I am unable to configure Zoho Voice with my Zoho CRM account?
I have installed Zoho Voice in my Zoho CRM, but as per the message there is some config needed in Zoho Voice interface. But when I click on the link given in the above message, I get an access denied page.
Issue with Hour Calculation in Zoho People Attendance Module
I have noticed an issue in the attendance regularization feature of Zoho People. When trying to regularize past dates, the total working hours are not calculated correctly. For example, if I enter a check-in and check-out time for a previous day, the
Cliq Meeting Calls No Audio and Screen Share
When in a Cliq channel meeting, the audio does not work at all on pc. When i use my phone as audio source, screen share on pc does not work. I have updated audio drivers but the strangest thing is that during a 1 on 1 call, it works well. Therefore the
Work anniversary and birthdays on connect
Hello, I like the idea of having employee's work anniversary and birthdays on the dashbaord. Do you have to have the employee complete this information themselves in connect settings, or does it pull from their directory settings? (ie. we use Zoho one
Alias Email Id already exists
Hi I'm trying to create an alias : contact @ yoavarielevy.co.il but i get the message Alias Email Id already exists I had an account with the same name but I deleted it. Can you help? Thanx Yoav
Feature Request: Ability to Set a Custom List View as Default for All Users
Dear Zoho CRM Support Team, We would like to request a new feature in Zoho CRM regarding List Views. Currently, each user has to manually select or favorite a custom list view in order to make it their default. However, as administrators, we would like
Adding Multiple Products (Package) to a Quote
I've searched the forums and found several people asking this question, but never found an answer. Is ti possible to add multiple products to a quote at once, like a package deal? This seems like a very basic function of a CRM that does quotes but I can't
webinar registration confirmation are landing in SPMA folders
I am trialing zoho webinar and do not have access to custom domains. When I test user registrations, they are working but the resulting confirmation email is landing in a spam folder. How can I avoid this?
Delegates should be able to delete expenses
I understand the data integrity of this request. It would be nice if there was a toggle switch in the Policy setting that would allow a delegate to delete expenses from their managers account. Some managers here never touch their expense reports, and
Add Save button to Expense form
A save button would be very helpful on the expense form. Currently there is a Save and Close button. When we want to itemize an expense, this option would be very helpful. For example, if we have a hotel expense that also has room service, which is a
Multiple organizations under Zoho One
Hello. I have a long and complicated question. I have a Zoho One account and want to set it up to serve the needs of 6 organizations under the same company. Some of the Zoho One users need to be able to work in more than 1 organization’s CRM and other
Error AS101 when adding new email alias
Hi, I am trying to add apple@(mydomain).com The error AS101 is shown while I try to add the alias.
Unbundle feature for composite items
We receive composite items from our vendors and sell them either individually or create other composite items out of them. So, there is a lot of bundling and unbundling involved with our composite items. Previously, this feature was supported in form
Regarding the integration of Apollo.io with Zoho crm.
I have been seeing for the last 3 months that your Apollo.io beta version is available in Zoho Flow, and this application has not gone live yet. We requested this 2 months ago, but you guys said that 'we are working on it,' and when we search on Google
workflow not working in subform
I have the following code in a subform which works perfectly when i use the form alone but when i use the form as a subform within another main form it does not work. I have read something about using row but i just cant seem to figure out what to change
Fetch data from another table into a form field
I have spent the day trying to work this out so i thought i would use the forum for the first time. I have two forms in the same application and when a user selects a customer name from a drop down field and would like the customer number field in the
Next Page