Bidirectional sync between Zoho Bookings and Zoho CRM - Part 2

Bidirectional sync between Zoho Bookings and Zoho CRM - Part 2

Hey community members,

Welcome again!

This post continues our discussion of the bidirectional sync between Zoho Bookings and Zoho CRM, focusing on how to reschedule appointments in Zoho Bookings from Zoho CRM. If you've arrived at this community post directly, we recommend checking out Part 1 of this topic for a better understanding. You can access Part 1 through the following link: Bidirectional sync between Zoho Bookings and Zoho CRM - Part 1

How we're approaching this reschedule action:

Whenever a meeting initially scheduled through the Zoho Bookings application is rescheduled either within the Meetings module or through the CRM calendar, the changes are recorded and the corresponding appointment within Zoho Bookings is also rescheduled.


 
Create a function for rescheduling appointments

Complete these steps in Zoho CRM.

Step 1: Creating connections

You don't need to create a separate connection for the reschedule action. You can utilize the same connection name that we established in Part 1 of the Zoho Bookings - Zoho CRM bidirectional sync.

Step 2: Creating functions

Configuring a function that reschedules appointments differs slightly from the functions we discussed in Part 1 of the Zoho Bookings - Zoho CRM bidirectional sync.

Note: Here, we'll fetch the time zone in which the customer scheduled the appointment so that when we reschedule the booking, it will be rescheduled within the same time zone the customer initially chose.

Here are the steps:
      1. Go to Setup > Developer Space > Functions.
      2. In the Functions page, click + Create New Function.

      3. Configure the function name, display name, and description.
      4. Set the category as automation.

Reference


More details: Functions

      5. Next, configure the function's arguments. For the reschedule function, we'll have to pass two arguments: bookingID
           as a string, and from as a date.
           a. Click on Edit Arguments on the Deluge script page.

          b. Set the Parameter Name as bookingID. (Please note that the "bookingID" value is case sensitive and must match
              the term used in the code).
          c. Set the type as string.

        d. Click the +Add button to add a second argument.
        e. Set the Parameter Name as from and its type as date.


Here, we're using the reschedule appointment API. The term "from" specifically denotes the appointment's start time. In the reschedule API, the booking ID is a required parameter, and we must provide either the staff ID or the start time. Given that we're rescheduling based on the start time, we'll pass the start time as an argument and use "from" as the reference point.


Please configure the following code on the Deluge script page. 




Here's an explanation of the code used for the reschedule function, split into three parts for purposes of clarity:

Lines 1-10 serve to invoke the "get appointment" API to retrieve the relevant booking ID and obtain the associated details. The purpose behind fetching this booking data is to access the actual booking start time and the time zone in which the customer initially scheduled the appointment using the Zoho Bookings application. This information is essential for comparing it with the rescheduled date and time.
  • Line 1: Based on the Zoho Bookings account's data center, we'll set up the API endpoint URL configuration. More
                 details: Domain-specific API URLs
  • Line 3: To obtain appointment details, we utilize the GET Appointment API. In this API, the booking ID is a mandatory
                field, so we retrieve the booking ID from the Meetings module and subsequently pass it into the code to
                retrieve the corresponding booking details.
  • Lines 4-10: We use the invokeURL task for API calls. To learn more about the invokeURL task, please refer to the
                following document: InvokeURL task for API calls
In lines 11-13, we execute booking data retrieval and date-time format conversion operations.
  • Line 11: Here, we're fetching the booking's exact start time as scheduled by the customer.
  • Line 12: Here, we're fetching the time zone in which the customer scheduled the appointment.
  • Line 13: We perform the date-time format conversion to ensure compatibility with the reschedule appointment API. This API requires the appointment's start time to be in the format dd-MMM-yyyy HH:mm:ss. We retrieve the start time from the Zoho CRM Meetings module, match it to your CRM application's date and time format, and convert it to the format Zoho Bookings' reschedule appointment API supports.
Lines 14-27 serve to perform comparison and rescheduling operations.
  • Line 14: Here, we're implementing an "if" condition to compare the actual booking start time (bookingstime) and the rescheduled time (time). We do this in order to execute the reschedule API function only if there is any change in the appointment's start date and time. If we don't implement the "if" condition to compare both inputs, the reschedule API function would enter a loop, continuously executing and potentially exceeding the API count limit.
  • Lines 15-27: We use the reschedule appointment API, which requires the booking ID as a mandatory parameter, along with either the staff ID or start time. In this case, as we're rescheduling appointments based on the start time, we provide both the booking ID and the start time. The reschedule appointment API functions similarly to the APIs we've previously discussed, such as the cancel, mark as completed, and no-show APIs.
By reaching the end of these final steps, we've successfully created a function that executes rescheduling actions.

Now, let's proceed with creating a workflow and linking the reschedule function to it. This enables us to automate the syncing of appointment rescheduling actions from Zoho CRM to Zoho Bookings.

Creating a workflow

Create a workflow that handles appointment rescheduling in Zoho Bookings whenever a corresponding meeting is rescheduled within the Zoho CRM application

Part 1: Creating the rule

            1. Go to Setup > Automation > Workflow Rules.
            2. In the Workflow Rules page, click Create Rule.

            3. Select Meetings under Module and configure the rule name and description as required.

Reference:



Part 2: Specifying the rule trigger

        1. Record Action > Edit. 

        
      2. Enable the Specific field(s) gets modified setting and configure it per the screenshot below.

This serves to ensure that the workflow is executed only when the "From" field of the meeting is edited.


      3. Configure condition > All Meetings.


      4.Instant Actions > Function.


      5. Click the New Function button.


      6. In the Configure custom function page, select the "reschedule" function you created from among the functions users in your organization have created.


More details: Specify rule triggers

Part 3: Argument mapping

        1. Press # to choose an argument value.

2. Select Meetings under Module and configure the field as "BookingId".
3. Select Meetings under Module and configure the field as "From".

        4. Click the Save and Associate button.

Reference:


Below is the final flow of the reschedule appointment workflow:



By the end of this process, we will have created a workflow that automatically executes when the "From" field in the Zoho CRM Meetings module is edited with a new date and time.  As a result, this workflow will also reschedule the associated bookings for that meeting to the new date and time in Zoho Bookings.

Conclusion

We've arrived at the end of the community post. As mentioned in Part 1 of the Zoho Bookings—Zoho CRM bidirectional sync community post, with all of these configurations in place, you'll be able to book, cancel, reschedule, and update the status of appointments in Zoho Bookings directly from your Zoho CRM application. Which will make your appointment management easier.

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

    Nederlandse Hulpbronnen


      • Recent Topics

      • Group Tax in Service Line Items

        Hi FSM Team! I noticed that when you update a tax in the service line item the group tax is not showing up as an option. Let me know what can be done thank you!
      • FSM Improvement Idea - Show an Import button when there is no data

        I am setting up FSM for a client and I noticed that there is no option to import data, see screenshot below. Even when you click Create Contact there is only an option to Import from Zoho Invoice. It is only after you add at lease 1 record that the Import
      • Zoho FSM API Delete Record

        Hi FSM Team, It would be great if you could delete a record via API. Thank you,
      • OAUTH_SCOPE_MISMATCH Error for Marketing Automation APIs with CRM Plus Account

        I'm trying to integrate Marketing Automation journey triggering via API but getting OAUTH_SCOPE_MISMATCH errors. I need clarification on API access for CRM Plus users.
      • 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
      • Support Bots and Automations in External Channels

        Hello Zoho Cliq Team, How are you? We actively use Zoho Cliq for collaboration, including with our external developers. For this purpose, external channels are a key tool since they work seamlessly within the same interface as all of our other channels
      • Answer Bot and Personalized Questions

        Hi there, I have the same problem using the SalesIQ Answer Bot and the Zoho Desk Answer Bot (which really need different names, to be honest, in order to avoid confusion...) Customers that visit our website ask questions in the form of "What do you do?"
      • 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?
      • Export Invoices to XML file

        Namaste! ZOHO suite of Apps is awesome and we as Partner, would like to use and implement the app´s from the Financial suite like ZOHO Invoice, but, in Portugal, we can only use certified Invoice Software and for this reason, we need to develop/customize on top of ZOHO Invoice to create an XML file with specific information and after this, go to the government and certified the software. As soon as we have for example, ZOHO CRM integrated with ZOHO Invoice up and running, our business opportunities
      • Showing description in timesheet and timelogs.

        I am wondering if it’s possible in version 5 of Zoho People to have the description show by default or with a manipulation on the user’s part. Let me show you what I mean. As you can see this is the view for the users. Now if they want to see the full
      • 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
      • Suitability of Zoho One (Single User License) for Multi-State GST Compliance & Cost Analysis

        Hello Zoho Team, I am an e-commerce business owner selling on platforms like Amazon, Flipkart, and Meesho, and I'm currently using their fulfillment warehouses. I have two GSTIN registrations and am planning to register for an additional 2-3 to expand
      • 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
      • Bug in Total Hour Calculation in Regularization for past dates

        There is a bug in Zoho People Regularization For example today is the date is 10 if I choose a previous Date like 9 and add the Check in and Check out time The total hours aren't calculated properly, in the example the check in time is 10:40 AM check
      • 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
      • BANK FEED - MAYBANK , provider from YODLEE IS NOT WORKING

        As per topic, the provider YODLEE is not working for the BANK FEED. It have been reported since 2023 Q3, and second report on 2023 Q4. now almost end of 2024 Q1, and coming to 2024 Q2. Malaysia Bank Maybank is NOT working. can anyone check on this issue?
      • Next Page