Building a dynamic scheduling assistant with Zobot!

Building a dynamic scheduling assistant with Zobot!

We received requirement for a bot that can dynamically generate date-time slots which do not overlap existing event timings in Google Calendar ie., if a slot is booked then it will fade away from the time-slot widget.

Bot Requirements:    
A bot that can:  
  • Construct dynamic non overlapping date-time slots  
  • Exclude a specific date or week days while generating the slots 

What does this Zobot do ?  

  • When a visitor lands on the site, the bot displays a welcome message and asks for the visitor's name and email.
  • The bot will then display a list of date-time slots for the visitor to pick one to schedule the appointment. The slots displayed:
                        a) Do not overlap any existing appointments or events in the synced Google Calendar.
                        b) Do not include any dates in 'dates to exclude' and 'days to exclude' lists that were configured by you.
  • Once the visitor picks a slot, an event is created in the synced google calendar. The slot hence forth will not be displayed to visitors anymore.
  • If every slot has been filled and there are no slots to display, the Zobot will display a 'Sorry' message to the visitor and send out an email to a configured email ID with the visitor details. 

Bot flow :



Capabilities: 

  • Dynamic date-time slot generation : Generate and display slots that do not overlap existing appointments and events 
  • Configurable list : You can include/exclude any number of dates and days in the calendar. You can configure the slots that should be initially available for all the dates and the number of dates from the current date to display in the slot . 

Integrations : 

  • Google Calendar : To retrieve events in the calendar 
Steps to configure the bot :

      1. Navigate to  Settings > Zobot > Add. Provide the required information and choose the SalesIQ Script platform.   
      2. Copy and paste the Trigger Handler and Message Handler scripts from the sample script link below.
      3. You should make the following changes in both Trigger Handler and Message Handler scripts: 
                  •   You should mention the number of dates to be display in the 'dateLimits' list.
                  •   Add the the Initial set of time slots to be displayed for all the dates in 'staticTimeSlots' list.
                  •   Mention the dates you wish to exclude from the list in the 'datesToExclude' list.
                  •   If it is Week days ie., (Monday or Tuesday) you wish to exclude then mention the days in the 'daysToExculde' list.
  1.  //Number of dates to display
  2.  dateLimits = {"1","2","3","4","5","6","7","8","9","10"};
  3. //Static time slots that will be initially available for all days
  4. staticTimeSlots = {"10:00","12:00","15:00","17:00"};
  5. //Dates to exclude from the slots
  6. datesToExclude = {"02-04-2019"};
  7. //Days to exclude from the slot
  8. daysToExclude = {"Sunday","Saturday"};
                To integrate with google calendar, 
                  •   Replace the existing one with your connection name
                  •   Replace the calendar ID (if required.) By default, the events are created in the primary calendar of the synced Google account.    
  1. cal = invokeurl
  2. [
  3.      url :"https://www.googleapis.com/calendar/v3/calendars/Calendar-ID/events"
  4.     type :GET
  5.     connection:Google-calendar-connection-name
  6. ]

     4. Then, copy the context handler script from the sample script link below and paste it in the Zobot Context handler  section and make the following changes 
            •  You should customise the email recipient address and the email subject and body content
  1. sendmail
  2. [
  3.     from : zoho.adminuserid
  4.     to : recipient-email-id 
  5.     subject : email-subject 
  6.     message : email-body
  7. ]

To avail the sample scripts for this bot click on this link  

Here is a small visual as on how this bot works:

 

To learn more about Zobot, visit our Developer guides. Happy Zobotting !!

Regards, 
Fiaz  

      • Recent Topics

      • Zoho Creator Developer Console | Improved Distribution and Lifecycle Management for apps

        Hello everyone, We're excited to introduce new enhancements now in the Zoho Creator Developer Console. These updates strengthen private app distribution through licensing controls and extend environment support across all installed apps, helping teams
      • Zoho Books emails suddenly going to Spam since 11 Nov 2025 (Gmail + now Outlook) — anyone else?

        Hi everyone, We migrated to Zoho Books in July 2025 and everything worked fine until 11 Nov 2025. Since then, Zoho Books system emails are landing in customers’ Spam (first Gmail, and now we’re seeing Outlook/Office 365 also starting to spam them). Impacted
      • Sync images with Shopify/Cart

        Hello, sync images with shopify or other cart, it cuts out the double work of having to upload to shopify/cart and zoho. Thanks
      • External User onboarding for zoho connect is not really intuitive.

        So the external user is sent an invite, which has a button that directs them to login to zoho to view the invite, but if they don't have a zoho account, they cannot access that invite, which seems kinda silly, as there is not real way on for them to create
      • Having trouble fetching contents of Zoho Connect Feeds using the API, requesting alternative API documentation.

        I'm trying to retrieve feed/post data from Zoho Connect using the API but facing challenges with the current documentation. What I've tried: OAuth authentication is working correctly (getting 200 OK responses) Tested multiple endpoints: /pulse/nativeapi/v2/feeds,
      • How to upload file to Connect using API?

        Hi there. I looked at the API documentation and nowhere did it mention how to use the API method to upload a file even though it is mentioned that it is possible to be done so. Please help.
      • Select the task view on the board in the Zoho Connect iPhone app

        Hello. How do I select the task view on the board in the Zoho Connect iPhone app? The Android app has this functionality.
      • Auto tagging

        Some of the articles I enter into Notebook get there when I enter them in Raindrop.io and IFTTT copies the articles in Notebook. When this happens the notes are tagged but instead of useful one word tags with topic the tag pertains to the specific article
      • WebDAV support

        I need WebDAV support so that I can upload/download (and modify) documents from my local file system. Is anything planned in his direction?
      • Constant refresh required in lots of Zoho tabs

        "Hey Zoho, if you can sync my notification bell across 15 tabs using a BroadcastChannel, why can't you send a 'Data Refresh' signal the same way? We don't need a browser reload—we just need the data to sync without us clicking F5 like it's 1999." "PS:
      • What's New in Zoho Billing | January 2026

        Excited about the latest enhancements in Zoho Billing? Our January updates bring an intelligent AI assistant, smarter subscription management, and improved tax compliance, saving you time and reducing manual work. Dive into the details below to see how
      • Inserting images into Articles or Knowledgebase

        Hi, Are there any plans in improving the Knowledgebase text editor so it would allow inserting images through Windows clipboard via copy-paste? Say for example I took a screenshot using the snipping tool in Windows and I'd like to insert that image to
      • Links not functioning in Zoho mail

        Links that are included in emails I receive are not activating. Nothing at all happens when I click on them. I have researched FAQs and this forum to no avail. Any suggestions?
      • Zoho Mail iOS app update: Manage folders and tags

        Hello everyone! In the most recent version of the Zoho Mail iOS app, we have brought in support to manage(create, edit and delete) the folders and tags. Create folders Create Tags Edit/ Delete folder In addition to this, we have also brought in support
      • [Important announcement] Zoho Writer will mandate DKIM configuration for automation users

        Hi all, Effective Dec. 31, 2024, configuring DKIM for From addresses will be mandatory to send emails via Zoho Writer. DKIM configuration allows recipient email servers to identify your emails as valid and not spam. Emails sent from domains without DKIM
      • Our Review Of Zoho CRM after 60 Days

        The purpose of this is to just share with Zoho why I love their product, but ultimately why I could not choose Zoho CRM for our next CRM. About two months ago we begun a CRM exploration process for our financial planning firm, based in Texas. We already
      • Showing the map along with mileage expense

        When you use the GPS to track mileage, it shows you the map of the actual path travelled. It would be very useful and practical to save that map with the mileage expense, so that when the report is created, it provides a map of each mileage expense associated
      • Link Purchase Order to Deal

        Zoho Books directly syncs with contacts, vendors and products in Zoho CRM including field mapping. Is there any way to associate vendor purchase orders with deals, so that we can calculate our profit margin for each deal with connected sales invoices
      • Extend the Image Choice Field

        Hi, The New Yes/No field is great for what it does, and the Image Choice Field is good but could be better with some functions from the Yes/No field. Take an example, rather than just Yes/No you want Yes/No/Maybe (Or more than 3 choices), but unlike the
      • Zoho Desk: Macro to assign Ticket to self

        Hello, We are using macros in Zoho Desk to set some fields and send a response. I would also like to assign the ticket to myself (or whoever applies the macro). I can only set a fixed agent in the macro, so I would have to create one for every agent.
      • Turn off Knowlege Base Follow options and Follower lists

        Is there a way to hide or turn off the option in the Knowledge Base for users to follow specific departments/categories/sections/articles? If not, is there a way to turn off the public list of followers for each of those things? Otherwise, customer names
      • New Feature: Audit Log in Zoho Bookings

        Greetings from the Zoho Bookings team! We’re excited to introduce Audit Log, a new feature designed to help you track all key actions related to your appointments. With Audit Log, you can maintain transparency, strengthen security, and ensure accountability.
      • Automated Task reminder

        First question: If a task does not have a reminder set, will it still send an email notification that the task is due today? If not, how can I set up an automated reminder to send the task owner an email that it is due on a certain date?
      • Zoho Support - contract notifications

        Hi, I have a few questions about using Zoho support. Is there a way to add custom contract notifications like (90 days before expiry send notification e-mail to agent and customer, then another 60 days before expiry and another 30 days.). And is it possible
      • Kaizen #230 - Smart Discount-Based Quote Approvals Using CRM Functions and Approval Process

        Hello everyone! Welcome back to the Kaizen series! Discount approvals are a standard part of sales governance. Most organizations need something like this: Discount % Required Action < 10% Auto-approve 10–19.99% Sales Manager approval ≥ 20% VP Sales approval
      • How to create a new Batch and update Stock via Inventory?

        Hi everyone, We are building an automation where a user enters batch details (Batch Number, Mfg Date, Expiry, and Quantity) into a Custom Module. I need this to trigger an API call to Zoho Inventory to: Create the new batch for the item. Increase the
      • OAuth2 Scope Error - Incorrectly defaulting to CRM instead of Analytics.

        Hello Zoho Team, I am trying to connect n8n to Zoho Analytics API V2 for a simple automation project. Despite using the correct Analytics-specific scopes, my OAuth handshake is failing with a CRM-related error. The Problem: The authorization screen shows:
      • Archive Option in Conversation View

        Hello, I have a suggestion\request to add an "Archive Thread" button in conversation view of Zoho Mail. The best suggestion I have is to put an "Archive Thread" button next to the "Label Entire Thread" button in conversation view. Most users don't just
      • Is it possible to create a meeting in Zoho Crm which automatically creates a Google Meet link?

        We are using Google's own "Zoho CRM for Google" integration and also Zoho's "Google Apps Sync" tools, but none of them provide us with the ability to create a meeting in Zoho CRM that then adds a Google Meet link into the meeting. Is this something that
      • Trigger a Workflow Function if an Attachment (Related List) has been added

        Hello, I have a Case Module with a related list which is Attachment. I want to trigger a workflow if I added an attachment. I've seen some topics about this in zoho community that was posted few months ago and based on the answers, there is no trigger
      • How can I link Products in a Deal Subform to the Products Module

        Hello, I have a pricing subform on our Deals page and use a lookup field to associate a product with each line. I want to be able to look at a product page within the Products module and see a list of the deals connected to that product. I have this working
      • Email Field Validation Incorrectly Rejects RFC-Compliant Addresses (Forward Slashes)

        I've encountered a validation issue with Zoho Creator's Email field that rejects RFC-compliant email addresses containing forward slashes, and I'm hoping the Zoho team can address this in a future update. The Issue When entering an email address containing
      • Call result pop up on call when call ends

        I’d like to be able to create a pop up that appears after a call has finished that allows me to select the Call Result. I'm using RingCentral. I have seen from a previous, now locked, thread on Zoho Cares that this capability has been implemented, but
      • ZOHO.CRM.UI.Record.open not working properly

        I have a Zoho CRM Widget and in it I have a block where it will open the blocks Meeting like below block.addEventListener("click", () => { ZOHO.CRM.UI.Record.open({ Entity: "Events", RecordID: meeting.id }).catch(err => { console.error("Open record failed:",
      • Payment system for donations management

        I manage an organization where we receive donations from payers. Hence, there is no need to first create invoices and then create payments received against the invoices. What are the recommended best practices to do this in ZohoBooks?
      • Recording the deducted TDS on advance received from Customer (Zoho Books India)

        Hi, How can we record the tds that has been deducted by my customer for the advance that he has paid to me. 1) My customer has paid Rs 10000 to me as advance (Rs 9800 as cash and deducted Rs 200 as TDS). I am not able to record the tds that has been deducted
      • Changing Account Type in Chart of Accounts

        Does anyone know how to change/edit the account type for an Account name in Chart of Accounts. Zoho will not let me do this for some reason
      • Bulk bank rule creatioin

        Hi team, I am exploring Option to create a multiple bank rule. Could please suggest the option to implement this?
      • Zoho books aide

        Bonjour, je rencontre un problème avec Zoho Books. J’ai effectué une demande de support via l’interface prévue à cet effet, mais je n’ai jamais de retour. Je ne reçois ni email de confirmation, ni information concernant la prise en charge de ma demande,
      • Smart Data, Smarter Contracts — Ensuring Consistency Between Metadata and Documents

        In contract management, data accuracy is not just a nice-to-have—it is essential. A single mismatch between what your system shows and what is written in the contract can ripple into approval delays, compliance risks, and broken trust in your data. Imagine
      • Next Page