Schedule a call and push visitor data to Zoho CRM with Zobot!

Schedule a call and push visitor data to Zoho CRM with Zobot!

One of Zoho SalesIQ's huge milestones has been the Zobot that was designed to better website visitor interaction, to take over the place of the stereotypical bots and to become the do-gooder when all your operators are busy. This section will majorly focus on providing customers from different business streams with custom bot scripts that they can use for their websites. The post will throw light on a bot that was scripted on Deluge.

What integrations have been accommodated in this bot?

  • Google Calendar- to hold scheduled call dates
  • Zoho CRM- to record visitor details

The Scenario:

We need a bot that queries visitors about what they need help with, schedules calls and automatically records these on the  Google Calendar and also updates visitor details to  Zoho CRM at the end of every conversation.
To fulfil this, the following actions have to be performed:
  1. Configure options for the three different actions specified
  2. Create connections with Google Calendar and Zoho CRM
  3. Associate functions to perform these actions 

Handlers used:

The backbone of the Zobot is the Handler. Handlers are pre-defined responses to any specific actions/ messages in the bot. You can use them to customize the functionalities of the Zobot.

Trigger Handler:

This piece of code invokes a welcome message to the visitors from the Zobot, when they land on the website.

Message Handler:

When the visitor responds to the message triggered, the Message Handler is invoked. The combination of messages received from the website visitor will be analysed and stored in the context handler already, and the bot will respond to the visitors based on the questions received from the answers available.

Context Handler:

This handler can be used when visitors engage in conversations with the bot.  A context is a data definition for collecting multiple inputs to perform a single action. The conversation is mostly in a question-answer format, and can work in association with the message and trigger handlers i.e., the handlers can return a context instead of a message reply. So, all the inputs defined in the context will be collected and the context handler will be invoked. In that case, the context handler is a piece of SalesIQ script which is invoked after collecting all the inputs for a particular context.

What does this Zobot do?

The aforesaid bot was designed as such; it asks the visitor about what service they want to avail -  Enquiry, Support or Schedule a call and does the following in response to the actions chosen.
1. If the visitor chooses Zoho Enquiry or the Support option, it demands a bunch of details like the company size, customer name, email address and contact number.
2. When the email address is acquired, a welcome email is sent to the respective address saying that the visitor has been added to the mailing list.
3. Similarly, when all the required details are acquired, it asks the visitors if they want to schedule calls with representatives and when they agree, it schedules calls.
4. When the schedule a call option is chosen by visitors, it requests visitor details and then brings up a calendar along with preset times and lets them pick a slot according to their convenience. Then, the details about the scheduled call are saved to the integrated Google Calendar connection.
  1. /* Add event to google calendar */ 

  2. _date = value.getYear().toString() + "-" + value.getDay().toString() + "-" + value.getMonth().toString() + "T" + value.getHour().toString() + ":" + value.getMinutes().toString() + ":" + value.getSeconds().toString(); 

  3. paramMap={"start":{"dateTime":_date,"timeZone":"Asia/Kolkata"},"end":{"dateTime":_date,"timeZone":"Asia/Kolkata"},'summary':'Call with ' + name + '. Contact Number : ' + phone}; 

  4. apiresponse = invokeurl
  5.       [
  6.          url :" https://www.googleapis.com/calendar/v3/calendars/primary/events "
  7.          type :POST parameters:paramMap.toString()
  8.          headers:{'Content-type':'application/json;'}
  9.          connection:"your connection name"
  10.       ];
5. At the end of the action, all visitor details will be updated to the synced Zoho CRM account.
  1. /* Add data to Zoho CRM */ 

  2. crmdata = zoho.crm.searchRecords("Leads","(Email:equals:" + email + ")",0,0,Map(),"your CRM connection name"); 
  3. info crmdata;

  4.       if(!crmdata.isEmpty()) 
  5.          { // update existing
  6.                _crmdata = crmdata.get(0);   
  7.               info _crmdata; 
  8.               leadid = _crmdata.get("id"); 
  9.                crmdata = zoho.crm.update("Leads",leadid,{"Last_Name":name},Map(),"your CRM connection name"); 
  10.          } 

  11.        else
  12.         {
  13.           // create new lead
  14.           crmdata = zoho.crm.create("Leads",{"Email":email,"Last_Name":name},Map(),"your CRM connection name"); 
  15.         }

  16.         leadid = crmdata.get("id"); 
  17.         info leadid;
  18.         info apiresponse;

  19.        if(apiresponse.containsKey("status"))
  20.        { 
  21.           status=apiresponse.get("status"); 
  22.           if("confirmed".equalsIgnoreCase(status)) 
  23.            {
  24.             question = {"name":"thanks","replies":{"Thank you.","Your appointment has been scheduled with our Sales rep on " +    slot}}; 
  25.             response.put("questions",{question}); return response; 
  26.              } } 
  27.           question = {"name":"thanks","replies":{"Sorry, please try later"}}; 
  28.           response.put("questions",{question}); return response;
  29.       } 



Note:

I've used the code snippets specified above in the Context handler of the Zobot.
We've attached the full script for the bot, do give it a try on your website.
 
I hope this gave you deeper insights about how our Zobots work. 
You can learn how to construct your own Zobots and where to include handlers by heading to our  User Guide
 
Regards,
Michelle.

    • Recent Topics

    • PDF Template have QTY as first column

      I want to have the QTY of an item on the sales orders and invoices to be the first column, then description, then pricing. Is there a way to change the order? I went to the Items tab in settings but don't see how to change the order of the columns on
    • RAG (Retrieval Augmented Generation) Type Q+A Environment with Zoho Learn

      Hi All, Given the ability of Zoho Learn to function as a knowledge base / document repository type solution and given the rapid advancements that Zoho is making with Zia LLM, agentic capabilities etc. (not to mention the rapid progress in the broader
    • Welcome to the Zoho ERP Community Forum

      Hello everyone, We are thrilled to launch Zoho ERP (India edition), a software to manage your business operations from end to end. We’ve created this community forum as a space for you to ask questions, comment answers, provide feedback, and share your
    • In App Auto Refresh/Update Features

      Hi,    I am trying to use Zoho Creator for Restaurant management. While using the android apps, I reliased the apps would not auto refresh if there is new entries i.e new kitchen order ticket (KOT) from other users.   The apps does received notification but would not auto refresh, users required to refresh the apps manually in order to see the new KOT in the apps.    I am wondering why this features is not implemented? Or is this feature being considered to be implemented in the future? With the
    • Consolidated report for multi-organisation

      I'm hoping to see this feature to be available but couldn't locate in anywhere in the trial version. Is this supported? The main aim to go to ERP is to have visibility of the multi-organisation in once place. I'm hopeful for this.
    • IMAP mail after specify date

      Hi My customer's mail server is on premise and mail storage is very huge. So It never finish sync. and finally stop sync. Cloud CRM have a option like zoho mail sync mail after some date.
    • Claude + MCP Server + Zoho CRM Integration – AI-Powered Sales Automation

      Hello Zoho Community 👋 I’m excited to share a recent integration we’ve worked on at OfficehubTech: ✅ Claude + MCP Server + Zoho CRM This integration connects Zoho CRM with Claude AI through our custom MCP Server, enabling intelligent AI-driven responses
    • Notes badge as a quick action in the list view

      Hello all, We are introducing the Notes badge in the list view of all modules as a quick action you can perform for each record, in addition to the existing Activity badge. With this enhancement, users will have quick visibility into the notes associated
    • Search Bar positioning

      Why is the Search bar on the far right when everything is oriented towards the left?
    • Basic Mass Update deluge schedule not working

      I'm trying to create a schedule that will 'reset' a single field to 0 every morning - so that another schedule can repopulate with the day's calculation. I thought this would be fairly simple but I can't work out why this is failing : 1) I'm based in
    • The Social Playbook - January edition: Getting started with content creation

      Social media isn’t just about posting some random content. It’s about why certain content works, how brands stand out, and what makes people pause mid-scroll. The Social Playbook is a monthly community series where we break all of that down. Through real
    • Import Error: Empty values for mandatory fields - Closing Date

      Hello, I've tried multiple times to import a CVS Potential list from another Zoho account. But the error message I get is: Empty values for mandatory fields - Closing Date There are valid dates in this field, so I don't understand why this error messages
    • Adding custom "lookup" fields in Zoho Customization

      How can I add a second “lookup” field in Zoho? I’m trying to create another lookup that pulls from my Contacts, but the option doesn’t appear in the module customization sidebar. In many cases, a single work order involves multiple contacts. Ideally,
    • Special characters (like â, â, æ) breaking when input in a field (encoding issue)

      Hey everyone, We are currently dealing with a probably encoding issue when we populate a field (mostly but not exclusively, 'Last Name' for Leads and Contracts). If the user manually inputs special characters (like ä, â, á etc.) from Scandinavian languages,
    • Feature Requests - Contact Coloured Picklist Visibility & Field Visibility During Ticket Creation

      Hi Desk Team, I have 2 feature requests for you. Since Coloured Picklists are now available in Desk, It would be great if the colours were visible on the Related Details (Contact Information) when creating a ticket. In the screenshot below, I have 2 fields
    • How to integrate XML with Zoho CRM

      Hi, I have an eCom service provider that gives me a dynamic XML that contains order information, clients, shipments... The XML link is the only thing I have. No Oath or key, No API get... I want to integrate it into Zoho CRM. I am not a developer nor
    • Feature Request - Ability to Customise Contact Info Card on Ticket Details View

      Hi Desk Team, I've added a "Contact Priority" and "Account Prioirty" field and it would be very useful to agents if they could see that information in the Contact Info card on the Ticket Details view. It would be great if we could choose some fields to
    • Tax in Quote

      Each row item in a quote has a tax value. At the total numbers at the bottom, there is also a Tax entry. If you select tax in both of the (line item, and the total), the tax doubles. My assumption is that the Tax total should be totalling the tax from
    • Zoho Flow integration with Facebook Messenger and Whatsapp

      Hi there,  any plans of adding integrations with Facebook Messenger and Whatsapp into Zoho Flow? Seems that more and more business are delivering automated updates such as "your order is received",  "your order has been shipped" and so on via these two platforms. Not sure if Whatsapp has the API access needed i am pretty sure that Facebook Messenger has... Kind regards Bo Thygesen 
    • Really want the field "Company" in the activities module!

      Hi team! Something we are really missing is able to see the field Company when working in the activities module. We have a lot of tasks and need to see what company it's related to. It's really annoying to not be able to see it.🙈 Thx!
    • Multi-currency and Products

      One of the main reasons I have gone down the Zoho route is because I need multi-currency support.  However, I find that products can only be priced in the home currency, We sell to the US and UK.  However, we maintain different price lists for each. 
    • Campaigns unsubscribe/manage preferences links

      Hi, Where can I edit the unscubscribe and manage preferences link in the footer of the email. I would like it so that when you click 'manage preferences' an form opens up that allows the person to choose what type of emails they do and don't wish to
    • email address somehow still not verified (?!)

      L.S. After creating a new email template in CRM I was about to send a group email to my clients, then Zoho CRM announced that they would change the sender address to some kind of Zoho-e-ddress because my email address "has not been verified". Not only
    • Marketing Tip #17: Add credibility to your online store with Review Widgets

      One of the fastest ways to build trust in an online store is to show real customer feedback right where people are deciding to buy. Third-party widgets let you embed things like Google Reviews, Instagram feeds, or even a WhatsApp chat button. These add
    • adding several team members to an Opportunity

      How can we add several team members to one opportunity for collaboration? I have researched and only found something called Deal Team which I cannot find in my CRM to configure.
    • PDF Annotation is here - Mark Up PDFs Your Way!

      Reviewing PDFs just got a whole lot easier. You can now annotate PDFs directly in Zoho Notebook. Highlight important sections, add text, insert images, apply watermarks, and mark up documents in detail without leaving your notes. No app switching. No
    • Bulk update Profile Permissions

      Dears, What should we do if we add new forms or reports and need to update more than 20 permissions? Updating them one by one feels pretty harsh, doesn’t it?
    • From Zoho CRM to Paper : Design & Print Data Directly using Canvas Print View

      Hello Everyone, We are excited to announce a new addition to your Canvas in Zoho CRM - Print View. Canvas print view helps you transform your custom CRM layouts into print-ready documents, so you can bring your digital data to the physical world with
    • Filter in fields from Jira extension

      We have installed the Jira extension so we can maken Jira issues from Zoho desk. In Zoho desk I can also see the Jira issue status for example but I can not filter on this field. I would like to setup an filter showing me the closed Jira issues. How can
    • text length in list report mobile/tablet

      Is there a way to make the full text of a text field appear in the list report on mobile and tablet? With custom layouts, the text is always truncated after a certain number of characters.
    • Zoho Creator customer portal limitation | Zoho One

      I'm asking you all for any feedback as to the logic or reasoning behind drastically limiting portal users when Zoho already meters based on number of records. I'm a single-seat, Zoho One Enterprise license holder. If my portal users are going to add records, wouldn't that increase revenue for Zoho as that is how Creator is monetized? Why limit my customer portal to only THREE external users when more users would equate to more records being entered into the database?!? (See help ticket reply below.)
    • Link Contacts to Billed Accounts

      Hello, I want to do a survey on all my customers of 2025. For that I want to select all contacts linked to accounts who where billed in 2025. How to I create this link to I can then use Zoho Survey with this database of contacts?
    • Export all of our manuals from Zoho Learn in one go

      Hi, I know there's a way to export manuals in Zoho Learn, but I want to export everything in one go so it won't take so long. I can't see a way to do this, can I get some assistance or is this a feature in the pipeline? Thanks, Hannah
    • Bring Zoho Shifts Capabilities into Zoho People Shift Module

      Hello Zoho People Product Team, After a deep review of the Zoho People Shift module and a direct comparison with Zoho Shifts, we would like to raise a feature request and serious concern regarding the current state of shift management in Zoho People.
    • Historical Sales Info - Blend with Finance Invoice Line Items, Access in CRM and Desk

      My company has been using Zoho One since 2021, with sales data going back through 2020. However, we have been in business much longer, and we have historical sales information that we want to have at our fingertips when talking with customers (usually
    • Pre-Zoho Sales Info - Best Way to Add to Desk / CRM

      My company has been using Zoho One since 2021, with sales data going back through 2020. However, we have been in business much longer, and we have historical sales information that we want to have at our fingertips when talking with customers (usually
    • Shift-Centric View for Assigning and Managing Shifts in Zoho People

      Hello Zoho People Product Team, Greetings and hope you are doing well. This feature request is related to Zoho People - please don't move it to zoho one! We would like to submit a feature request regarding the shift assignment and management view in Zoho
    • CRM function REST API response format

      Is there a way to control the JSON response returned by the CRM function REST API? If I call a function using either OAuth or an API key it returns a 200 OK response with a string in the format shown below. I am using a particular feature of an external
    • Add Employee Availability Functionality to Zoho People Shift Module

      Hello Zoho People Product Team, Greetings and hope you are doing well. We would like to submit a feature request to enhance the Zoho People Shift module by adding employee availability management, similar to the functionality available in Zoho Shifts.
    • Using MPN across multiple SKUs and inventory tracking

      I have several different SKU's that share a common MPN and would like to track inventory by MPN. SKU1 has MPN1 assigned SKU2 has MPN1 assigned Here is an example If I start with 5 of MPN 1 in stock I want each SKU1 and SKU2 to show as 5 in stock, If I
    • Next Page