Building Extensions #10: Creating widgets with the JS SDK bundle in Zoho Desk - Data Storage API

Building Extensions #10: Creating widgets with the JS SDK bundle in Zoho Desk - Data Storage API

This series aims to equip developers with all they need to build extensions for Zoho Desk in Zoho Sigma and publish them in Zoho Marketplace.

In our previous post, we discussed Request APIs, what they're used for in extensions, and how to use them in your Zoho Desk extensions. In this post, we'll examine the next set of APIs in the JS SDK bundle—Data Storage APIs—and show you how to use them in the Zoho platform (Sigma) to build the Zoho Desk extensions.

Data Storage APIs

You may find that you require an extension that has data storage and retrieval capabilities. Zoho Desk allows you to store extension-related data in a database so that it can be retrieved and used when required. This can be data from a third-party application, or any other data related to the extension's functionality that needs to be preserved for future use. With the Data Storage APIs, you'll have access to a data store where the extensions can set (store) and get (retrieve) data using the Data Storage APIs. A key-value pair is used in managing the details about the data that's stored and retrieved, and is explained in detail in this post. When the data is no longer required, it can even be removed using the delete API.

The following SDK methods provide database management functionalities in your extensions.

Get data

The get API retrieves data from the extension's connected database. The request includes two parameters: key and queriableValue. The API request must include at least one of them.
  • key - Helps to identify what is being called by the API.
  • queriableValue - Specifies a common lookup group which will be useful for lookup from the database.
Here is a sample code snippet of the get data function:

     ZOHODESK.get("database", { "key": "3", "queriableValue": "test" })
    .then(function (response) {
        //response returns the value, based on the key specified
    })
    .catch(function (err) {
        // Error handling
    })

Set data

The set data API asynchronously sets data in the extension's connected database. The request includes three parameters: key, value, and queriableValue. The API request must include all three parameters. Each parameter is subject to further conditions:
  • The value passed by key can have a maximum length of 50 characters. The only special characters allowed are commas (,), underscores (_), and colons (:). The value of this parameter cannot be NULL.
  • The data passed by value must be a JSON object whose size cannot exceed 1 KB. Empty JSON objects can be passed, too. 
  • The value passed by queriableValue can have a maximum length of 50 characters. The only special characters allowed are commas (,), underscores (_), and colons (:). The value of this parameter can be NULL.
Here is a sample code snippet of the set data function:

      ZOHODESK.set("database", { "key": "3", "value": { "test": "testid" }, "queriableValue": "test" })
    .then(function (response) {
        // response returns the value saved
    })
    .catch(function (err) {
        // Error handling
    })

Delete data

The delete data API completely removes the selected data from the connected database. The key parameter must be included in the API request.

Here is a sample code snippet of the delete data function:
      
      ZOHODESK.delete("database", { "key": "3" })
    .then(function (response) {
        // response returns the status of deletion
    })
    .catch(function (err) {
        // Error handling
    })

Scenario: Let's say you're building an extension that involves creating events in Zoho Calendar from within Zoho Desk—i.e., the user creates Calendar events without switching from Zoho Desk to Zoho Calendar. In this case, the events created can be fetched from Zoho Calendar and are categorized and listed in the extension, such as completed event, upcoming event, or any other events, according to requirements. The Data Storage APIs can be used to get those events' data, store them in the extension database, and list those events in the extension's widget.

To implement this scenario, you must establish a connection between Zoho Desk and Zoho Calendar with the required scope. This will allow you to make requests between these services by invoking their APIs. Please check the Connectors post to learn more about creating connections. Once the connection is established and the configurations are completed in the plugin-manifest.json file, you can proceed with executing your extension functionalities.

The code below demonstrates how an event is created in Zoho Calendar using the Request API and the events are listed in Zoho Desk using the set method.
  • Use ZOHODESK.request to invoke Zoho Desk's "Create Events" API.
    Here, we are pushing the event data into Zoho Calendar.
  • Construct the request object for ZOHODESK.request.
    {
        "type": "POST",
        "headers": {},
        "postBody": {},
        "connectionLinkName": "calendarEvent",
        "data": {
            "eventdata": {
                "dateandtime": {
                    "timezone": "Asia/Kolkata",
                    "start": "20220225T130000+0530",
                    "end": "20220225T133000+0530"
                },
                "title": "Today's morning meeting"
            }
        }
    }
  • Extract the required values from the response of the request.
  • Use ZOHODESK.set to invoke Zoho Desk's "set record" API.
    ZOHODESK.set("database", {
        "key": userId,
        "value": {
            "eventId": eventData.id
        },
        "queriableValue": "eventIds"
    })


In this code, we're doing the following:
  • Creating events in Zoho Calendar by making a call to the Calendar events API, post method. The Request API SDK of Zoho Desk is used to invoke the Zoho Calendar API. The events are created with event date, event start time, and end time, with the time zone defined.
  • As mentioned, we need to list those events in our extension for our quick reference, so the required event information is fetched from the Request API's response.
  • Finally, we're storing the event information in our extension database using the set method. Here, we have defined key as userId, value as eventData.id, and queriableValue as eventIds. So all the events (eventData.id) created by the user (userId) will be stored within the database (eventIds).

Now that we have the event information in our extension database, we can use the get Data Storage API, define the key and queriableValue to retrieve the event information, process them, and display the events in your customized widget in the extension.

We hope that this example code has given you a clear picture of when and how to use the Data Storage APIs in building extensions for Zoho Desk.

Stay tuned for our next post where we will discuss another SDK method.

<<Previous                                                                                                                                       Next>>

    Access your files securely from anywhere

        All-in-one knowledge management and training platform for your employees and customers.







                              Zoho Developer Community




                                                    • Desk Community Learning Series


                                                    • Digest


                                                    • Functions


                                                    • Meetups


                                                    • Kbase


                                                    • Resources


                                                    • Glossary


                                                    • Desk Marketplace


                                                    • MVP Corner


                                                    • Word of the Day


                                                    • Ask the Experts





                                                              Manage your brands on social media



                                                                    Zoho TeamInbox Resources



                                                                        Zoho CRM Plus Resources

                                                                          Zoho Books Resources


                                                                            Zoho Subscriptions Resources

                                                                              Zoho Projects Resources


                                                                                Zoho Sprints Resources


                                                                                  Qntrl Resources


                                                                                    Zoho Creator Resources



                                                                                        Zoho CRM Resources

                                                                                        • CRM Community Learning Series

                                                                                          CRM Community Learning Series


                                                                                        • Kaizen

                                                                                          Kaizen

                                                                                        • Functions

                                                                                          Functions

                                                                                        • Meetups

                                                                                          Meetups

                                                                                        • Kbase

                                                                                          Kbase

                                                                                        • Resources

                                                                                          Resources

                                                                                        • Digest

                                                                                          Digest

                                                                                        • CRM Marketplace

                                                                                          CRM Marketplace

                                                                                        • MVP Corner

                                                                                          MVP Corner









                                                                                            Design. Discuss. Deliver.

                                                                                            Create visually engaging stories with Zoho Show.

                                                                                            Get Started Now


                                                                                              Zoho Show Resources

                                                                                                Zoho Writer

                                                                                                Get Started. Write Away!

                                                                                                Writer is a powerful online word processor, designed for collaborative work.

                                                                                                  Zoho CRM コンテンツ




                                                                                                    Nederlandse Hulpbronnen


                                                                                                        ご検討中の方




                                                                                                                • Recent Topics

                                                                                                                • Zoho Sprint Backlog View, filter by item status

                                                                                                                  Hello, In Zoho Sprints, it would be great to be able filter out specific items in the Backlog based on their status. We would like to track items that were Removed from our backlog without seeing them constantly in the Backlog view, as this view should
                                                                                                                • WATERFALL CHART IN ZOHO ANALYTICS

                                                                                                                  Hi Team, I would like to know whether Zoho Analytics currently supports a Waterfall Chart as a built-in visualization type. If yes, could you please share the steps to create one? If not, is there any workaround or recommended method to build a Waterfall
                                                                                                                • Export contacts from Bigin's mobile app to your Android device

                                                                                                                  Hello everyone! We're happy to announce that you can now export customer contacts from the Bigin mobile app to your device. Scenario A small-scale business owner has two pipelines in Bigin—one for procuring raw materials and the other for selling his
                                                                                                                • ASAP iOS SDK – Xcode Compatibility Update

                                                                                                                  Hello everyone, We have been delivering the ASAP iOS SDK developed using Xcode 16.1 to provide Help Center support within mobile applications. Thus, ASAP iOS SDK versions upto 4.5.8 are compatible with development environments running in Xcode 16.1 and
                                                                                                                • Sub form auto field population based on parent form

                                                                                                                  I have a parent form called "Sites" with a text field called "Site". I have a subform called "Design Comments" (actual form name "Review Comments") with a lookup field name "Sites1" that looks up from the Sites form. I want the Sites1 lookup field to
                                                                                                                • A note-taking app right inside your project management space

                                                                                                                  How do you feel when you check off the last task from your to-do list after a long day at work? Euphoric, blissful, satisfied? Now, imagine completing the same checklist from your PM platform, without juggling tools. Sounds simple and handy? That’s exactly
                                                                                                                • Email Forwarding: Maintain business continuity

                                                                                                                  As an administrator, ensuring uninterrupted email communication is critical when a role-based employee is unavailable due to extended leave or a temporary role change. Emails from customers, partners, and internal teams must continue to be received and
                                                                                                                • Tip #61- Collaborate live with Invite Technician- 'Insider Insights'

                                                                                                                  Hello Zoho Assist Community! From the series of Technician Console, we will be exploring Session. Let's jump right into a brief overview. We’ve all been there: you’re deep into a complex remote session, and you realize you need a second pair of eyes.
                                                                                                                • How to integrate Zoho CRM, Zoho Forms and a WIX Web Site

                                                                                                                  Attached video demonstrates how to use Zoho Forms included in Zoho One, to design a Contact Us form to be embedded into a WIX web site and integrated into Zoho CRM.
                                                                                                                • Bug Causing Major Sync & SO Access Failures in Zoho POS

                                                                                                                  We are experiencing critical and recurring issues in Zoho POS that all trace back to role-permission handling defects in the latest POS app version. These issues directly affect syncing, login ability, and Sales Order access for role-restricted users
                                                                                                                • 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:
                                                                                                                • Add Custom Reports To Dashboard or Home Tab

                                                                                                                  Hi there, I think it would be great to be able to add our custom reports to the Home Tab or Dashboards. Thanks! Chad Announcement: The feature is being rolled out across DC's and Edition in phases. To know more refer to the announcement post here.
                                                                                                                • Hiding Pre-defined Views

                                                                                                                  You can enhance Zoho with custom views - but you cannot hide the pre-defined views. Most users focus on 4 or 5 views. Right now for EVERY user EVERY time they want to move to one of their 4 or 5 views - they have to scroll down past a long list of pre-defined
                                                                                                                • why can't agent see accounts & contacts

                                                                                                                  My new user, with 'Agent' privileges, cannot see records that don't belong to them. How can I give them access? Why isn't this the default configuration in Zoho?
                                                                                                                • Sender Email Configuration Error.

                                                                                                                  Hello Team, Hope you are all doing well. We are in the process of creating the Zoho FSM environment in the UAE. When we try to add the sender email address “techsupportuae@stryker.com”, we receive the error message: “Error occurred while sending mail
                                                                                                                • 【Zoho CRM】フィルター機能のアップデート:ルックアップ項目を使ったデータフィルタリング

                                                                                                                  ユーザーの皆さま、こんにちは。コミュニティチームの藤澤です。 今回は「Zoho CRM アップデート情報」の中からフィルター機能のアップデートをご紹介します。 ルックアップ項目を使ったデータフィルタリングがより詳細に行えるようになりました。 この機能は詳細フィルターとカスタムビューで利用でき、必要な情報を正確に取得できます。 これにより、タブ間を移動することなく、より深く正確な方法でデータを絞り込むことが可能になります。 ◉できること 詳細フィルターとカスタムビューで、ルックアップ先タブの項目が選択可能
                                                                                                                • This will be long, Please bear with me - Next Gen Layout - Search

                                                                                                                  In general, I think that Zoho are going in the right direction with the Next Gen UI. The latest update brings some nice improvements and all-in-all from a user's perspective I think the improvements are generally very good. However, there are some areas
                                                                                                                • Zoho Books | Product updates | July 2025

                                                                                                                  Hello users, We’ve rolled out new features and enhancements in Zoho Books. From plan-based trials to the option to mark PDF templates as inactive, explore the updates designed to enhance your bookkeeping experience. Introducing Plan Based Trials in Zoho
                                                                                                                • Zoho Books | Product updates | August 2025

                                                                                                                  Hello users, We’ve rolled out new features and enhancements in Zoho Books. From the right sidebar where you can manage all your widgets, to integrating Zoho Payments feeds in Zoho Books, explore the updates designed to enhance your bookkeeping experience.
                                                                                                                • Quotes Approval

                                                                                                                  Hey all, Could you please help in the following: When creating quotes, how to configure it in a way, that its approval would work according to the quoted items description, not according to quote information. In my case, the quote should be sent to approval
                                                                                                                • Important Update: Facebook Pages API Deprecation

                                                                                                                  Dear Zoho Analytics users, As of January 26, 2026, Facebook has officially deprecated Facebook Pages API version 18. This update involves the removal of several metrics that were previously supported by the API. As a result, these changes will affect
                                                                                                                • Adding a Deal to and Existing Contact

                                                                                                                  I want to easily add a Deal to an existing Contact. If I click on New Deal on the Contact page this currently this is what happens: All of the mandatory field (and other field) information exists within the Contact. Is there a simple way for it to automatically
                                                                                                                • Custom SMTP is now available in Zoho Sign

                                                                                                                  Hi there! Want to send Zoho Sign emails from your organization's or personal email server? Look no further! Zoho Sign has introduced custom Simple Mail Transfer Protocol (SMTP) for Enterprise users across all data centers. By enabling custom SMTP, you
                                                                                                                • Email was sent out without our permission

                                                                                                                  Hi there, One customer just reached out to us about this email that we were not aware was being sent to our customers. Can you please check on your end?
                                                                                                                • Flexible Partial-Use Coupons (Stored Value Credits)

                                                                                                                  Subject: Feature Request: Ability for users to apply partial coupon balances per transaction Problem Statement Currently, our coupons are "one-and-done." If a user has a $50 coupon but only spends $30, they either lose the remaining $20 or are forced
                                                                                                                • Prevent accidental duplicate entry of Customer Ordersome

                                                                                                                  Zoho Support has confirmed that Zoho currently does not have any method (using Deluge, flow or any other method) to alert a user when a sales order has been entered twice using the same customer reference number (i.e. a duplicate). Most ERP platforms
                                                                                                                • Collapsing and expanding of lists and paragraphs

                                                                                                                  hello Would you ever implement Collapsing and expanding of lists and paragraphs in zoho writer ? Best regards
                                                                                                                • Migrating Brevo Automation Logic to Zoho Campaigns

                                                                                                                  Hello Zoho Campaigns Support Team, I am in the process of migrating my email marketing from Brevo to Zoho Campaigns. I have around 10,000 contacts, which I have already successfully exported from Brevo and imported into Zoho Campaigns. I now need guidance
                                                                                                                • Is there a way to delete workspaces?

                                                                                                                  I want to remove one of the workspaces in my Campaigns account. I don't see any obvious way to do this. Am I missing something?
                                                                                                                • New Custom View -Sorting the Custom fields

                                                                                                                  While creating a New Custom View in invoice , Customers, Bills ,expense etc , the sorting of custom fields are not available , a query function "order by / sort by  " may also be included in  Define new criteria module  which will be more beneficial to
                                                                                                                • Make CAMPAIGNS email look as simple as possible

                                                                                                                  Hi there I'm trying to make my Campaigns email look as much like a normal email as possible. I'm a bit stuck with the "justification" of the email email block. Can I LEFT JUSTIFY the "whole email" to make it look "normal"? (Please see screenshot attached)
                                                                                                                • [Webinar] Top 10 Most Used Zoho Analytics Features in 2025

                                                                                                                  Zoho Analytics has evolved significantly over the past year. Discover the most widely adopted features in Zoho Analytics in 2025, based on real customer usage patterns, best practices, and high-impact use cases. Learn how leading teams are turning data
                                                                                                                • Sorry! we encountered some problems while sending your campaign. It will be sent automatically once we are ready. We apologize for the delay caused.

                                                                                                                  Hello. Lately we are having problems with some campaigns, which show us this error message. Sorry! we encountered some problems while sending your campaign. It will be sent automatically once we are ready. We apologize for the delay caused. We can't find
                                                                                                                • Can I remove or divert certain contacts from an active Campaigns workflow?

                                                                                                                  I have created a workflow in Zoho Campaigns, which sends different emails, once contacts have been added to a mailing list. To choose which email to send to the contacts, there are conditions, which divert contacts based on their company type and their company size. There was a subsection of this workflow, where company size wasn't selected correctly, and some contacts have been sent down the wrong path and received the wrong email. The workflow contains a reminder loop and a further series of emails.
                                                                                                                • How to map fields from Zoho Recruit to Zoho People

                                                                                                                  I've got these fields from my Job Offer that I'm trying to map to the Work information fields in Zoho People, but they arent showing up. For example, how do I get the department name field (in the job post) to map to the work information field in Zoho
                                                                                                                • UTM in zoho campaigns

                                                                                                                  Helloo everybody!!! Someone know how IF ZOHO CAMPAIGNS has UTM for tracking the url of any campaigns. thank u
                                                                                                                • Full Context of Zoho CRM Records for Zia in Zoho Desk for efficient AI Usage

                                                                                                                  Hello everyone, I have a question regarding the use of Zia in Zoho Desk in combination with CRM data. Is it possible to automatically feed the complete context of a CRM record into Zia, so that it can generate automated and highly accurate responses for
                                                                                                                • Knowledge base printing

                                                                                                                  I saw a posting about printing the knowledge base as I was looking for the answer, but we would like the ability to print out the entire knowledge base with a click, keeping the same organization format.   Bonus would include an index of keywords and
                                                                                                                • Search not working!

                                                                                                                  I have items in my notebook tagged but when I search for a tag nothing comes up! Any fix for this?
                                                                                                                • Zoho Books | Product updates | January 2026

                                                                                                                  Hello users, We’ve rolled out new features and enhancements in Zoho Books. From e-filing Form 1099 directly with the IRS to corporation tax support, explore the updates designed to enhance your bookkeeping experience. E-File Form 1099 Directly With the
                                                                                                                • Next Page