Plug Sample #5 - Read and write values/data in a Google Sheet with Zobot

Plug Sample #5 - Read and write values/data in a Google Sheet with Zobot

We all know google sheets are one of the widely used spreadsheet software. It helps us to make data-driven decisions. When connecting the Zobot with sheets, the bot can display values/data from a spreadsheet, like the available stock details (Item price, quantity). Create a new record, such as feedback, comments or even update the existing fields based on your requirement. In this post, we will focus on using plugs to achieve the below google sheets actions with REST API. 
  • Fetching records from Google sheets
  • Creating records in Google sheets
As we're aware, Plugs in the Codeless bot builder are used to create custom actions or third-party integrations using deluge. You can create a plug and add it as a card in the bot builder, like rest cards. Now let's learn how to create this plug step by step. 
 
Step 1 - Creating a connection with Google service.   
  • In your SalesIQ Dashboard, navigate to Settings > Developers > Plugs > Click on Add.
  • Provide your plug a name, and description, select the Platform as SalesIQ Scripts, and finally, click on Connection to your left bottom. You will be redirected to the connection interface. 

  •  Click on Create connection at the top right corner. Under Default connection, select Google service. 


  • Click on Create And Connect. Upon successful authentication,  Zoho SalesIQ will be connected with the Google service. 
Note: The Connection Link Name is used to scripts to invoke URL tasks.
 

 
Step 2 - Create the plug using Connection:
 
First let's look at fetching records from Google sheets. Any data that is available in sheets can be fetched. For example, if you're running an e-commerce business and maintaining all the stock information such as item name, quantity, price etc. on sheet, those details can be fetched here and displayed to the visitor. 
  • Copy, paste the below code and changes the sheet ID, name, row range, and connection name. 
  1. //Add a output parameter named "allproducts" and select "Option list" as datatype
  2. google_spreadsheet_id = "1y92rI_ITWLxpXOQMtyO8W9_7P6HwygxfneeVxdoRd-E";
  3. sheet_name = "Fetching+records";
  4. //specify the correct range like "a1:b11"
  5. url = "https://sheets.googleapis.com/v4/spreadsheets/" + google_spreadsheet_id + "/values/" + sheet_name + "!a2:b11?majorDimension=ROWS";
  6. //googlesheets - Connection link name made using the connection interface (Step 1)
  7. apiresponse = invokeurl
  8. [
  9. url :url
  10. type :GET
  11. connection:"googlesheets"
  12. ];
  13. values = apiresponse.get("values");
  14. productList = List();
  15. //Adding all the product and ID in an option list | Ref - https://www.zoho.com/salesiq/help/developer-section/plugs-datatype-optionlist.html
  16. for each  entry in values
  17. {
  18. id = entry.get("0");
  19. product = entry.get("1");
  20. productList.add({"id":id,"text":product});
  21. info productList;
  22. }
  23. response = Map();
  24. //parasing the plug output 
  25. // allproducts - Name of output parameter; productList - Value to be associated to "allproducts"
  26. response.put("allproducts",productList);
  27. return response;
  • Then, click save, preview the plug and publish it. For your reference, we have made the sheet public.
Note: API invoked in the plug spreadsheets.values.get API


  • The above reference shows the spreadsheet ID and the sheet name.
Now, let's look at creating records in Google sheets. Any type of data can be pushed to sheets, such as feedback, comments, etc. 
  •  Copy, paste the below code and change the sheet ID, name, and connection name.
  1. //Add two input parameters named "visitorID","feedback" and select the datatype as "String"
  2. if(session.containsKey("visitorID"))
  3. {
  4. id = session.get("visitorID").get("value");
  5. }
  6. if(session.containsKey("feedback"))
  7. {
  8. feedback = session.get("feedback").get("value");
  9. }
  10. google_spreadsheet_id = "1y92rI_ITWLxpXOQMtyO8W9_7P6HwygxfneeVxdoRd-E";
  11. sheet_name = "Create+records";
  12. //specify the correct range like "A3:B3"
  13. url = "https://sheets.googleapis.com/v4/spreadsheets/" + google_spreadsheet_id + "/values/" + sheet_name + "!A3:B3:append?valueInputOption=USER_ENTERED";
  14. params = {"majorDimension":"ROWS","values":{{id,feedback}}};
  15. apiresponse = invokeurl
  16. [
  17. url :url
  18. type :post
  19. parameters:params.toString()
  20. headers:{"Content-Type":"application/json"}
  21. connection:"googlesheets"
  22. ];
  23. info apiresponse;
  24. response = Map();
  25. return response;
  • Then, click Save, preview the plug and Publish it. For your reference, we have made the sheet public
Note: API invoked in the plug spreadsheets.values.append
 
  •  Navigate to Settings > Bot > Add, provide the necessary information, and select Codeless Bot Builder as a bot platform or open an existing bot.
  •  Select the Plugs under Action Card and select the required plug (Only published plugs will be listed here)
  •  Provide the plug inputs and outputs.
  •  Click Save


In the above video, we've used a plug, fetched some products and displayed them as options to the visitor. 
 
Heads up:
Related links:
To know more about the features of Zobot, kindly visit our Resources Section. 

Best regards,
Sasidar Thandapani



        • Recent Topics

        • Domain verification failure

          Hello Zoho Support, I purchased my domain directly through Zoho Mail, but the domain verification keeps failing with the message “TXT verification failed.” I’ve already waited and retried several times, but it still won’t verify. Could you please manually
        • Unable to send message;Reason:554 5.1.8 Email Outgoing Blocked.

          My email account is unable to send emails, and I urgently need to use it. How can I resolve this?If there is anything we have done wrong, please let us know in advance so we can actively cooperate to improve. User ID: 850482493
        • URGENT: Email stopped workin - can't access admin panel

          For some reason email sending stopped working. When I try to send an email it fails with "Unable to send message;Reason:451 4.7.1 Temporary system error" I can receive email just fine I see in my notifications some errors about the MX records, however
        • Can I associate an invoice to a Project after the fact?

          We have generated an invoice but would like to assoicate it to a Zoho Project after the fact.  Is there any way to accomplish that? Thanks, Scott
        • Emails I send as a cc or bcc NEVER GO THROUGH TO THA RECEIVER !!

          every time i send a cc or bcc copy of an email to anyone when I’m using my zohomail.com email - no one ever gets the cc of bcc copy if the email: why???? And i triple check that the email addresses are correct; then i get back an email message (EVERYTIME)
        • Cannot see correct DNS config for mail after moving domain to another provider

          I have moved my domain from one provider to another and after that zoho mail stopped working (expected). Problem is, zoho mail admin panel still shows (10 hours after move) that all records are correct while I haven't changed anything in my domain DNS
        • Add Support for Authenticator App MFA in Zoho Desk Help Center

          Hello Zoho Desk Team, We hope you are doing well. We would like to request an enhancement related to security for the Zoho Desk Help Center (customer portal). Currently, the Help Center supports MFA for portal users via SAML, JWT, SMS authentication,
        • How to unlink a SAML user from the existing Zoho Desk user (domain change case)

          Hi everyone, I’m trying to understand how to handle a situation where a customer changes their company domain. In our setup, users authenticate via SAML, so when the domain changes, the SAML system treats them as a new user. However, in Zoho Desk, I’d
        • Price Managment

          I have been in discussions with Zoho for some time and not getting what I need. Maybe someone can help explain the logic behind this for me as I fail to understand. When creating an item, you input a sales rate and purchase rate. These rates are just
        • Related to zoho survey

          Hi team. I want to know something regarding zoho survey question builder. I have two questions each of dropdown (One answer) - question type. In the first question, there are 16 answer choices and in the second question, there are 3 answer choices. For
        • 60 Days Into Zoho - Tiktok Branding Startup -7 Questions?!

          Wsp Everybody I co-own a TikTok Branding / Consulting Startup & have been using Zoho for the past 60 days - Am now looking to make our overall operations & processes more Efficient & Effective! Curious to know how others are using the platform & what's
        • Text Message

          When trying to sent a text message, it says its an error i should contact a zoho agent
        • Zoho POS is now available for Canadian retailers

          Hey everyone, We're excited to introduce the all-new Canadian edition of Zoho POS, which helps retail businesses simplify and manage their end-to-end business operations. Start by signing up and exploring the 15-day free trial. Sign up now How does Zoho
        • Payroll In Canada

          Hi, When can we expect to have payroll in Canada with books 
        • Mass update to change or shift all project dates and keep project structure + shift all sub-tasks dates with main tasks

          Most users would expect that if they change the start date of their project then that will be reflected inside the actual project and any project structure would be retained.  Additionally if a task list with associated sub-tasks is moved, most users would expect that those sub-tasks would also be moved along with their parent task.  This is not the case. For a total Project shift of dates: * the start and end date from > "Edit Project" page can have a radio button added to "shift all project tasks
        • Closing Accounting Periods - Invoice/Posting dates

          Hi, I have seen in another thread but I'm unsure on how the 'transaction locking' works with regards to new and old transactions. When producing monthly accounts if I close December 24 accounts on 8th Jan 25 will transaction locking prevent me from posting
        • In-person ZUG Meetups for Real Estate Professionals - US Q1 2026

          The Real Estate Zoho User Group is going on a multi-city, in-person meetup tour across the US, and we’d love to see you there! These meetups are a great opportunity to: Connect with fellow real estate professionals using Zoho Share challenges and discover
        • Zoho CRM custom fields not showing in zoho creator

          Hi Team, I have created a Products form with Zoho CRM integration and connected it to Products module of CRM. But when I see the reports of Products in Zoho creator then I am not able to see custom fields of Products module. Only standard fields of Products
        • Sending email notifications based on language

          Hello. I would like to know how we can bypass the default notifications (which are just in English) for when a ticket is created/replied to/closed, to be in other languages, based on the language field in the ticket? I can create other email templates,
        • 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.
        • Zoho Error: This Operation has been restricted. Please contact support-as@zohocorp.com for further details

          Hello There, l tried to verify my domain (florindagoreti.com.br) and its shows this error: This Operation has been restricted. Please contact support-as@zohocorp.com for further details. Screenshot Given Below -  please check what went wrong. Thanks
        • Whatsapp Limitation Questions

          Good day, I would like to find out about the functionality or possibility of all the below points within the Zoho/WhatsApp integration. Will WhatsApp buttons ever be possible in the future? Will WhatsApp Re-directs to different users be possible based
        • Download a file from within a zoho creator widget

          I have a widget running in Zoho Creator , it displays uploaded documents in a table file, and I have added a download link in the view. ( The widget is created with html, css and javascript). I do not succeed in getting the download working. Do I have
        • Correlated subqueries not supported in Zoho Analytics. This creates huge limitations

          Running into a major limitation in Zoho Analytics: correlated subqueries simply don’t work, even in completely standard SQL patterns inside a JOIN. Example: LEFT JOIN "Bills" b ON d."Id" = b."Deal ID" AND EXISTS ( SELECT 1 FROM "Bill
        • Zoho / Outlook Calendar sync

          The current Marketplace -> Microsoft -> Meetings integration needs 2 changes. 1. The current language for the Two-Way sync option should be changed. It currently states, "Sync both your Zoho CRM Calendar and Office 365 Calendar meetings with each other."
        • Email content just contain 'OK' ,not what we expect

          create campaign API URL: https://campaigns.zoho.com/api/v1.1/createCampaign req params: {'campaignname': 'General_Outreach_d0cfc415-43aa-4b96-bb09-558e76a3dda3_50_20251117_214806_660', 'from_email': 'admin@allinmedia.ai', 'subject': 'ALL IN MEDIA', 'list_details':
        • Introducing the all-new email parser!

          Greetings, We are pleased to introduce to you, a brand-new, upgraded version of the Zoho CRM Email Parser, which is packed with fresh features and has been completely redesigned to meet latest customers needs and their business requirements. On that note,
        • 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?
        • Reopen ticket

          Hello! Can I reopen a ticket just using the API ticket/sendReply ? What's the rules to do it? I'm trying but it doesn't reopen the ticket, it just send the reply
        • Allow Admins to Transfer Ownership of Their Own Files & Folders

          Hi Zoho WorkDrive Team, Hope you are doing well. We would like to request an important enhancement to the ownership-transfer functionality in Zoho WorkDrive, specifically regarding administrator capabilities. As administrators, we have the ability to
        • Tip#46: Capture accurate log hours

          Hello everyone, Use the newly introduced timer settings that will streamline the usage of timers and help admins or workspace owners to manage the time entries of the workspace users better. Check out the below mentioned timer settings added to the Timesheet
        • Moving to app-specific authentication for Google integrations

          Hello everyone, We’re making an important change to how Google integrations work in our platform. Until now, we used a common Google project across Zoho to enable integrations like Google Drive, Calendar, and more. Going forward, we’ll be moving to an
        • Double opt-in notifications and customizable confirmation messages for your webforms

          Dear CRM Community, We are excited to announce a major upgrade to our Webforms feature. You can now customize the confirmation message shown to your users who double opt-in from your webform and also customize your confirmation emails when they submit
        • Lost the ability to sort by ticket owner

          Hi all, in the last week or so, we have lost the ability to sort tickets by Ticket Owner. Unlike the other columns which we can hover over and click on to sort, Ticket Owner is no longer clickable. Is it just us, or are other customers seeing this too?
        • Using a CRM Client Script Button to create a Books Invoice

          Hello, I need help handling error messages returned to my client script from a function. The scenario I have setup a client script button which is available from each Deal. This CS executes a crm function, which in turn creates an invoice based on the
        • How Can i put a form in Zobot

          Hi,how can i integrate a form which has a multiple options to choose from.the form should be opened or displayed by zobot after it meets a requirement in the conversation. Thanks in advance !
        • Has Anyone successfully integrated Zoho and Sage Intact?

          Hey all, We’re evaluating Zoho One + Sage Intacct and I’m trying to connect with anyone who has actually implemented the two together.Specifically, I’d love to know: -- Which functions you kept in Zoho vs. Intacct (e.g., Product Catalog, AR/AP, invoicing,
        • Playback and Management Enhancements for Zoho Quartz Recordings

          Hello Zoho Team, We hope you're all doing well. We would like to submit a feature request related to Zoho Quartz, the tool used to record and share browser sessions with Zoho Support. 🎯 Current Functionality As of now, Zoho Quartz allows users to record
        • Zoho Analytics - Feature Request For Time Based Data Source Fetch

          Hi Analytics Team, I have a client using Zoho CRM and they want a weekly report at 4:30pm every Friday, emailed to the sales team showing a pie chart of Closed Won Deals for that week. This is easy to achieve in Analytics but not so easy to ensure the
        • Which user's capacity is used for Shared Mailbox storage?

          We use shared mailboxes at our company, and their size is increasing daily. Which user(s)'s total mailbox limit is being used up by this space?
        • Next Page