A Spreadsheet is enough to create and update your QnA bot. Check how!

A Spreadsheet is enough to create and update your QnA bot. Check how!

There is an update on this bot, and it is not available for new implementations. If you have implemented it already, it will work as expected. 
​​​​
Yes, now you can create and update your QnA bot with the help of a spreadsheet. 
We've built a Zobot that can answer FAQs with the help of Google Spreadsheet instead of scripts. Also, we have integrated the Zobot with Dialogflow to respond to other common questions that are not updated in the spreadsheet. 
 
For your benefit we're sharing the logic and scripts for the bot, do give it a try! 
 
Bot Requirements and Integration:   
  • Google Spreadsheet : To store main menu options, FAQs, and new questions that are handled neither in spreadsheet nor Dialogflow
  • Dialogflow  : To handle free-form questions that are not available in spreadsheet 
What does this bot do?
  • This bot will trigger a chat once the visitor hits your site, i.e. the bot is intended to be proactive. 
  • You should construct the main menu, questions and answers to the FAQs using the Google spreadsheet and the bot can dynamically respond according to the queries received. The bot can search the queries received from the visitors in the spreadsheet and assist the visitors with the exact answer.
Note:  The Google spreadsheet where the Question and answers are stored should be named as ‘ SalesIQ-ZobotSheet '. And the columns should be populated in the following order:                                                                   
  • Column 1: Question department (the menu option)
  • Column 2: Question
  • Column 3-7: Response 
  • If the bot doesn't find the question in the spreadsheet, then it automatically takes the help of Dialogflow integration to respond. 
  • If the queries received from the visitor is not available neither in the spreadsheet nor in the Dialogflow, then the bot will collect the queries in a separate google spreadsheet. So, you can write an answer and add them to Q&A bot spreadsheet later. Any response obtained from  Default Fallback Intent in Dialogflow will be treated as an unknown question and prompt the user to re-enter the question. The unknown question will be saved to another spreadsheet. 
Note : You should create a separate spreadsheet to collect the unknown question and name the sheet as ' SalesIQ-ZobotSheet-UnknownQuestions' . The sheet will be populated in the following order: 
  • Column 1: Unknown question
  • Column 2: Date and time in which the question was asked 
  • If you wish to add more questions to the bot or to remove the existing question, you don't have to make any changes to the code. You can just reflect the changes in the google spreadsheet or your Dialogflow account.
  • We have constructed this bot to read only the first 26 rows of the synced spreadsheet (SalesIQ-ZobotSheet.) If you wish to add more questions to the spreadsheet you can extend the limit by changing the upper limit in each Google spreadsheet connection URL.
Bot flow:

The bot initiates the chat with a welcome message and the main menu. Once, the visitor responds by choosing an option, and the flow continues as depicted



How to create the bot? 
  • Navigate to  Settings > Zobot > Add . Provide the required information and choose the  SalesIQ Script platform. 
  • Now, copy the script from  here  and paste in the Message Handler section.
To integrate with your  Dialogflow account  and Google spreadsheet you've created, make the changes marked in red in the message handler code:       
  • Replace the link of your  SalesIQ-ZobotSheet  spreadsheet in the URL
  • Replace your  Connection name
  • Replace the link of your  SalesIQ-ZobotSheet-UnknownQuestions  spreadsheet in the URL
  • Replace your  Connection name
  1.             apiresponse = invokeurl  
  2.             [ 
  3.                  url:"https : // sheets.googleapis.comv4/spreadsheets/ your-sheet-id-goes-here /values/SalesIQ-ZobotSheet!A2:A26?majorDimension=RO
  4. WS" 
  5.                   type :GET 
  6.                   connection:" your-connection-name-goes-here
  7.              ]; 
  8.  

  9.              apiresponseForInput = invokeurl 
  10.              [ 
  11.                   url:" https : //  sheets.googleapis.comv4/spreadsheets/y our-sheet-id-goes-here /values/ SalesIQ-ZobotSheet-UnknownQuestions!A2:E2:append?valueInputOption=USER_ENTERED"  
  12.                    type :POST  
  13.                    parameters:paramsSheet.toString() 
  14.                    headers:{"Content-Type":"application/json"} 
  15.                    connection:" your-connection-name-goes-here
  16.              ]; 

To connect your dialogflow account, replace the Authentication Id in the message handler: 
  1.                         headersMap = {"Authorization":"Bearer  your-dialogflow-client-id-goes-here ","Content-type":"application/json"}; 
  • Copy the script from  here , choose Context Handler from the drop-down and paste there.
  • Now, copy the script from  here,  then choose Trigger Handler from the drop-down and paste.    
To integrate with your Dialogflow account and Google spreadsheet you've created, make the changes marked in red in the Trigger Handler code: 
  • Replace the link of your  SalesIQ-ZobotSheet  spreadsheet in the URL 
  • Replace your  Connection name 
  • Replace the link of your  SalesIQ-ZobotSheet-UnknownQuestions  spreadsheet in the URL 
  • Replace your  Connection name
  1.             apiresponse = invokeurl 
  2.             [ 
  3.                  url:" https : // sheets.googleapis.comv4/spreadsheets/ your-sheet-id-goes-here /values/SalesIQ-ZobotSheet!A2:A26?majorDimension=RO
  4. WS" 
  5.                  type :GET 
  6.                  connection:" your-connection-name-goes-here
  7.             ]; 
  8.              
  9.              apiresponseForInput = invokeurl 
  10.              [ 
  11.                   url:" https : //  sheets.googleapis.com/v4/spreadsheets/ your-sheet-id-goes-here /values/SalesIQ-ZobotSheet-UnknownQuestions!A2:E2:append?valueInputOption=USER_ENTERED"  
  12.                    type :POST 
  13.                    parameters:paramsSheet.toString() 
  14.                    headers:{"Content-Type":"application/json"} 
  15.                    connection:" your-connection-name-goes-here
  16.             ]; 
 
 To connect your dialog flow account, replace the Authentication Id in the message handler: 
  1.       headersMap = {"Authorization":"Bearer  your-dialogflow-client-id-goes-here ","Content-type":"application/json"};   
  • Finally, Publish the bot.    
  Heads up!
  • Each option in the main menu/Question department can support a maximum of 30 characters. Hence the values in Column-1 of the SalesIQ-Zobot spreadsheet should not exceed 30 characters
  • To go to the next line, you can use the ‘ \n ’ in Dialogflow. In Google spreadsheet, you don't have to mention any next line char as the indentations explicitly and special chars in the cell will be reflected as it is in the chat.
  • To configure multiple responses in Dialogflow, you should create separate t ext respons  for each message.
  • To configure multiple responses in Google spreadsheet, you should configure each message as a separate column in the same row (maximum five responses.) 

To learn more about Zobot and its integrations, please visit our  Resources Section
Here is a brief visual on how the QnA bot works.



Happy Zoboting !!! 


Regards,
Fiaz 


    • Recent Topics

    • Where is the settings option in zoho writer?

      hi, my zoho writer on windows has menu fonts too large. where do i find the settings to change this option? my screen resolution is correct and other apps/softwares in windows have no issues. regards
    • How to set page defaults in zoho writer?

      hi, everytime i open the zoho writer i have to change the default page settings to - A4 from letter, margins to narrow and header and footer to 0. I cannot set this as default as that option is grayed out! so I am unable to click it. I saved the document
    • Develop and publish a Zoho Recruit extension on the marketplace

      Hi, I'd like to develop a new extension for Zoho Recruit. I've started to use Zoho Developers creating a Zoho CRM extension. But when I try to create a new extension here https://sigma.zoho.com/workspace/testtesttestest/apps/new I d'ont see the option of Zoho Recruit (only CRM, Desk, Projects...). I do see extensions for Zoho Recruit in the marketplace. How would I go about to create one if the option is not available in sigma ? Cheers, Rémi.
    • How to import data from PDF into Zoho Sheet

      I am looking to import Consolidated Account Statement (https://www.camsonline.com/Investors/Statements/Consolidated-Account-Statement) into zoho sheet. Any help is appreciated. The pdf is received as attachment in the email, this document is password
    • Zoho Projects Android app: Integration with Microsoft Intune

      Hello everyone! We’re excited to announce that Zoho Projects now integrates with Microsoft Intune, enabling enhanced security and enterprise app management. We have now added support for Microsoft Intune Mobile Application Management (MAM) policies through
    • Cant't update custom field when custom field is external lookup in Zoho Books

      Hello I use that : po = zoho.books.updateRecord("purchaseorders",XXXX,purchaseorder_id,updateCustomFieldseMap,"el_books_connection"); c_f_Map2 = Map(); c_f_Map2.put("label","EL ORDER ID"); c_f_Map2.put("value",el_order_id); c_f_List.add(c_f_Map2); updateCustomFieldseMap
    • Wrapping up 2025 on a high note: CRM Release Highlights of the year

      Dear Customers, 2025 was an eventful year for us at Zoho CRM. We’ve had releases of all sizes and impact, and we are excited to look back, break it down, and rediscover them with you! Before we rewind—we’d like to take a minute and sincerely thank you
    • About Zoneminder (CCTV) and Zoho People

      Hi team I would like to implement a CCTV service for our branches, with the aim of passively detecting both the entry and exit of personnel enrolled in Zoho Peeple, but my question is: It is possible to integrate Zoho People with Zoneminder, I understand
    • Introducing the Zoho Projects Learning Space

      Every product has its learning curve, and sometimes having a guided path makes the learning experience smoother. With that goal, we introduce a dedicated learning space for Zoho Projects, a platform where you can explore lessons, learn at your own pace,
    • Create CRM Deal from Books Quote and Auto Update Deal Stage

      I want to set up an automation where, whenever a Quote is created in Zoho Books, a Deal is automatically created in Zoho CRM with the Quote amount, customer details, and some custom fields from Zoho Books. Additionally, when the Sales Order is converted
    • How to show branch instead of org name on invoice template?

      Not sure why invoices are showing the org name not the branch name? I can insert the branch name using the ${ORGANIZATION.BRANCHNAME} placeholder, but then it isn't bold text anymore. Any other ideas?
    • Admin asked me for Backend Details when I wanted to verify my ZeptoMail Account

      Please provide the backend details where you will be adding the SMTP/API information of ZeptoMail Who knows what this means?
    • Unable to remove the “Automatically Assigned” territory from existing records

      Hello Zoho Community Team, We are currently using Territory Management in Zoho CRM and have encountered an issue with automatically assigned territories on Account records. Once any account is created the territory is assigned automatically, the Automatically
    • Kaizen #223 - File Manager in CRM Widget Using ZRC Methods

      Hello, CRM Wizards! Here is what we are improving this week with Kaizen. we will explore the new ZRC (Zoho Request Client) introduced in Widget SDK v1.5, and learn how to use it to build a Related List Widget that integrates with Zoho WorkDrive. It helps
    • Set connection link name from variable in invokeurl

      Hi, guys. How to set in parameter "connection" a variable, instead of a string. connectionLinkName = manager.get('connectionLinkName').toString(); response = invokeurl [ url :"https://www.googleapis.com/calendar/v3/freeBusy" type :POST parameters:requestParams.toString()
    • Possible to connect Zoho CRM's Sandbox with Zoho Creator's Sandbox?

      We are making some big changes on our CRM so we are testing it out in CRM's Sandbox. We also have a Zoho Creator app that we need to test. Is it possible to connect Zoho CRM's Sandbox to Zoho Creator's Sandbox so that I can perform those tests?
    • I Need Help Verifying Ownership of My Zoho Help Desk on Google Search Console

      I added my Zoho desk portal to Google Search Console, but since i do not have access to the html code of my theme, i could not verify ownership of my portal on Google search console. I want you to help me place the html code given to me from Google search
    • Timeline Tracker

      Hi Team, I am currently using Zoho Creator – Blueprint Workflows, and I would like to know if there is a way to track a timeline of the approval process within a Blueprint. Specifically, I am looking for details such as: Who submitted the record Who clicked
    • Primary / Other Billing Contacts

      If you add an additional contact to a Zoho Billing Customer record, and then mark this new contact as the primary contact, will both the new primary and old primary still receive notifications? Can you stop notifications from going to the additional contacts
    • Missing Import Options

      Hello, do I miss something or is there no space import option inside of this application? In ClickUp, you can import from every common application. We don't want to go through every page and export them one by one. That wastes time. We want to centralize
    • CRM x WorkDrive: File storage for new CRM signups is now powered by WorkDrive

      Availability Editions: All DCs: All Release plan: Released for new signups in all DCs. It will be enabled for existing users in a phased manner in the upcoming months. Help documentation: Documents in Zoho CRM Manage folders in Documents tab Manage files
    • Is it possible to enforce a single default task for all users in a Zoho Projects ?

      In Zoho Projects, the Tasks module provides multiple views, including List, Gantt, and Kanban. Additionally, users can create and switch to their own custom views. During project review meetings, this flexibility creates confusion because different users
    • [Free Webinar] Zoho Creator webinars - Learning Table and Creator Tech Connect Series in 2026

      Hello everyone, Wishing you all a wonderful new year! May 2026 and the years ahead bring more opportunities, growth, and learning your way 🙂 We’re excited to kick off the 2026 edition of the Learning Table Series and Creator Tech Connect Series ! Learning
    • Reply and react to comments

      Hi everyone! We're excited to bring to you a couple of new features that'll make your sprint process simpler. A cloud application brings with it an array of social media features that can be efficiently used in your organizational setup. As an agile scrum
    • Restrict Users access to login into CRM?

      I’m wanting my employees to be able to utilize the Zoho CRM Lookup field within Zoho Forms. For them to use lookup field in Zoho Forms it is my understanding that they need to be licensed for Forms and the CRM. However, I don’t want them to be able to
    • Module Customisation - Lookup function not available

      Good evening, Within my business, I can have multiple customers, who have multiple mobile assets. When I set these assets up, I enter information such as vehicle registration, Vehicle identification number (VIN), Unit number, YOM, in addition to others.
    • zoho click, and nord VPN

      Unfortunately, we've been having problems with Zoho Click, where essentially the line cuts off after about a minute's worth of conversation every time we are on VPN. Is there a way we can change this within the settings so it does not cut the line off
    • Zoho Calender

      a) does the clanender in zoho project allow you to see the name of the event in the celnder view, it currently says either "Task (1) or "Milestoen (1)" b) Alternatively does the calender in Zoho project integrate with zoho calender?
    • Matching ZOHO Payments in Banking

      Our company has recently integrated ZOHO Payments into our system. This seemed really convenient at first because our customers could pay their account balance by clicking on a link imbedded in the emailed invoice. Unfortunately, we can't figure out how
    • Team Gamification

      Would love to motivate, engage and encourage our team with our social media posts. Would like to include Gamification features of Social Media in Zoho Social or Marketing Automation. And also bring in Social Advocacy tools/tracking/management to these,
    • Power up your Kiosk Studio with Real-Time Data Capture, Client Scripts & More!

      Hello Everyone, We’re thrilled to announce a powerful set of enhancements to Kiosk Studio in Zoho CRM. These new updates give you more flexibility, faster record handling, and real-time data capture, making your Kiosk flows smarter and more efficient
    • New Enhancements to Zoho CRM and Zoho Creator Integration

      Hello Everyone, We’ve rolled out enhancements to the Zoho Creator and Zoho CRM integration to align with recent updates made to the Zoho Creator platform. With enhancements to both the UI and functionality, This update also tightens access control by
    • Work Type - Limitation

      Hello, I'm setting up work types and have noticed, a limitation on the parts area to 10 lines. Can this be increased to 20 or greater? In addition to this, when I attempt to add the work type to a work order, the correct labour hours doesn't flow through.
    • Emails sent through Bigin are not posting in IMAP Sent folder

      I have set up my email to work from within Bigin using IMAP.  I am using IMAP so I can sync my email across multiple devices - phone / laptop / desktop / iPad / etc.  I want all my emails to populate my email client (outlook & iphone email) whether or
    • Turning the page for Zoho SalesIQ: 2025 to 2026

      As we wrap up 2025, we would like to take a moment to reflect on what we set out to achieve this year, what we’ve delivered, and where we’re headed next. What we focused on in 2025 This year was all about strengthening the core of engagement and AI, making
    • Stage-probability mapping feature in custom module

      Hi, I'm building a custom module for manage projects. I would like to implement the stage-probability feature that Potentials has. Is this possible?
    • Temporary Outage in Zoho Cliq Affecting US Users – July 23, 2025

      We experienced a service disruption in Zoho Cliq that impacted core functionality for users in the US region. The issue occurred between Jul 23, 2025, 06:54:00 PM IST and 07:13:13 PM IST, lasting approximately 19 minutes. To restore service stability,
    • Why Sharing Rules do Not support relative date comparison???

      I am creating a Sharing Rule and simply want to share where "Last Day of Coverage" (Date field) is Greater than TODAY (Starting Tomorrow). However, sharing rules don't have the option to compare a date field to a relative date (like today), only to Static
    • Zoho Cliq not working on airplanes

      Hi, My team and I have been having this constant issue of cliq not working when connected to an airplane's wifi. Is there a reason for this? We have tried on different Airlines and it doesn't work on any of them. We need assistance here since we are constantly
    • Problem with Workdrive folders

      I'm having a problem a problem accessing files in a Zoho work drive folder when using the Zoho writer app. The problem folder appears grayed out in the Zoho work drive window in both the online and writer application. However I can open the folder in
    • Next Page