Storing and managing module-specific data in Zoho Sprints extensions

Storing and managing module-specific data in Zoho Sprints extensions

Storing and handling data related to Zoho Sprints modules is a key necessity when managing an extension. In this post, we'll look at the advantages of data storage and how it can be used with an example demonstration.

Data storage

An introduction

In general, storing data makes it easier to access it later when there is a need to perform the relevant functionalities. Zoho Sprints allows you to store, retrieve, edit, and delete module-specific data while handling widgets in an extension. You can check out details on data storage in this documentation.


The supported Zoho Sprints modules

Zoho Sprints currently supports data storage across these modules:
  1. Item - GET | SET | UPDATE | DELETE
  2. Sprint - GET | SET | UPDATE | DELETE
  3. Release - GET | SET | UPDATE | DELETE
  4. Meeting - GET | SET | UPDATE | DELETE
  5. Projects - GET | SET | UPDATE | DELETE
  6. Timesheet - GET | SET | UPDATE | DELETE
  7. Epic - GET | SET | UPDATE | DELETE
There are individual APIs to get, set, update, and delete module-specific data in Zoho Sprints. You can refer to the data storage APIs for each of these operations linked above.

Use case scenario

Consider the following scenario: a team member handles a feature request as a release in Zoho Sprints. Assume they completed the feature and finished the release, and they recorded a release note. Now, say a new enhancement request arrives for the same feature, and another team member is required to work on it. It would be best if the new member reviewed the previous release notes before commencing the feature enhancement.

In this case, a widget can be created to allow members to log their release notes, including the date and version. When a new member begins their enhancement work, they can refer to previously logged release notes and versions to proceed with their work. Once completed, they can log their own release notes accordingly.


Steps to implement this use case
  1. Create a connection
  2. Create an extension and configure its plugin-manifest.json file
  3. Create a widget to handle the data storage logic
Let's go over each of these processes in depth using an example.

1. Create a connection
  1. Go to Sigma and navigate to the Connections section in the left panel of your Sigma workspace.
  2. Choose Zoho Sprints as the service from the dropdown list, then select your Zoho Sprints organization.
  3. Create a default connection for Zoho Sprints to fetch release details, store data, and retrieve extension storage data, ensuring that the required API scopes specified in the documentation are correctly added. Refer to our previous post on connections for guidance.


2. Create an extension and configure a widget in the plugin-manifest.json file
  1. Navigate to the Extensions section in the left panel of your Sigma workspace.
  2. Click the New Extension button and create a new extension. You can refer to this post for detailed guidance on creating a new extension.
  3. In the plugin-manifest.json file of the extension, include the sample JSON code that was generated for the Zoho Sprints connections.
  4. Configure a widget by providing the name, the embedding location, and the URL path of the HTML file to be rendered. For our example, a widget with the following details has been created:
➤ name: Log Release Notes
➤ url: The location of the releasenotes.html file (inside app folder) that will render the user interface required for our widget. We'll be creating this widget in the next section of this post.
➤ location: The release right navigation bar
➤ logo: The location of a standard Zoho Sprints logo (logo.svg) that is by default available while creating the extension. You can include and use your customized logo as well.


3. Create a widget to handle data storage logic

Once the connection is created and configured in the plugin-manifest.json file of the newly created extension, the next step is to design the widget that renders the UI and handles the logic to log release notes.

releasenotes.html file - The code is added as an attachment to the post.
  1. In the above code snippet, the mandatory init method is invoked in order to use the other required JS SDK methods. Then, the method to get the current location details is invoked. For our example, this method returns the release details which include the extension ID, team ID, project ID, user ID, and release ID.
  2. Using the retrieved details, the Zoho Sprints API to get extension release data is invoked. This API checks if any data has been stored against the release. If yes, it returns a status code of 200; else, it returns 404, which means no data was discovered.
  3. If the code is 200, the widget's Previous Release Notes section displays any previously recorded release data. If it's 404, the end user is presented with the message "No prior release notes."
➤ In our example, when the end user (member) accesses the widget for the first time, no release data would have been logged, so it will return code 404 and display the message accordingly.
  1. Next, under the widget's section to add new release data (notes, date, and version), the user enters the current release notes and clicks the button Add release note. Here, the Zoho Sprints API to set extension release data is invoked. This method requires a "If-Match" header parameter with an ETag as its value.
➤ ETag is an identifier that's generated each time data is stored. When storing data for the first time, the "If-Match" parameter can be an empty string.
➤ When the method is invoked, the data entered by the end user, including the release notes, release data, and version, is saved, and an ETag value is returned.
  1. The next time the widget is opened, the get extension release data API is invoked again. This time, because data has been stored, code 200 will be returned, and the data and its related ETag will be fetched and displayed to the end user in the Previous Release Notes section.
  2. When saving the most recent data using the set extension release data API, the previous ETag will be given to the header. Once the new data is stored, a new ETag is generated, and the cycle continues.
This way, the end user is prompted every time with the previous logged release note, helping them check and log their own.

Testing the extension

Once the development is completed, you can test the extension using the Run option in the Sigma cloud editor.


In this post, we explored the concept of storing and retrieving the data stored in the release module. Using this, you can get, set, update, and delete data for the supported modules in Zoho Sprints using the data storage concept. We hope you found this post useful. Keep following this space for more updates. Stay tuned!


SEE ALSO





        • Recent Topics

        • API - Bank Accounts | Reconciliation Discrepancy

          Unless I'm reading it wrong, the documentation for the Bank Reconciliations API is inconsistent with itself. https://www.zoho.com/books/api/v3/bank-accounts/#create-a-bank-reconciliation The text definition says that the transaction_id should be a string,
        • Customer Statement Showing Incorrect Negative Balance Due to Unused Advance

          Dear Zoho Support Team, We are facing an issue with the Customer Statement in Zoho Invoice related to customer advances/mobilization advances. The issue is that when a customer has made an advance payment that has not yet been fully utilized against invoices,
        • Employment Contract / HRMS Documents - Zoho People

          How do I create customized HR documents for disbursal from Zoho People ? Example, say offer letters ? appointment letters ? Memos ? We want to be able to preset these in one or ther other form and issue them to employees who are in Zoho People.
        • Mobile authentication for Zoho Creator portals

          Note: This feature was previously available in beta for IN data center users on request. It is now generally available for all users in the IN and US data centers on paid plans of Zoho Creator. Currently, it will be available only for Indian (+91) mobile
        • HOw to disable or block OTP login on browser.

          Hi Support, One of my employee tried & successfully logged in via OTP login mode on his mobile device even though user does'nt have login password . As per our company policy we don't allow user to login on any other device. This feature is available
        • Change email address

          I would like to change the email address to info@gogetherenterprises.com
        • Free Methods to Convert PST to MBOX on Mac & Windows

          Converting PST files to MBOX is often needed when moving Outlook mailbox data to email clients such as Thunderbird, Apple Mail, or other MBOX-supported applications. The process can be different on Windows and macOS, and free methods may involve several
        • Enhanced audit trail in Zoho Creator

          Hello everyone, We're pleased to announce that the Audit Trail feature has been significantly enhanced by expanding its scope to give you a more complete picture of activity across your applications. What was once a simple record-and-report log is now
        • Allocating inventory to specific SO's

          Is there a way that allocate inventory to a specific sales order? For example, let's say we have 90 items in stock. Customer 1 orders 100 items. This allocates all 90 items to their order, and they have a back order for the remaining 10 items which could
        • Zoho Sheet as KB Document

          It would be nice if Zia Agents could take Zoho Sheets as part of the knowledge base. The use case here is that it's infinitely easier for humans to maintain a spreadsheet table than any .md / TAML / JSON document. For situations where humans are responsible
        • Introducing native agents: Configure your CRM with natural language

          Hello all, Configuring your CRM just got a lot faster. We're introducing native agents into Zoho CRM that configure your settings using natural language. Instead of navigating multiple screens, describe what you need and the agent builds it for you. What's
        • Transferring CRM Templates

          I have two different scenarios for transferring the CRM template and would like to know if it is possible to do for either.   1.  When designing my CRM template, I created all the fields in the Leads module.  I have not duplicated all of the fields (or their positions on the page) in other modules like the Contacts, Potentials, Accounts, etc.  Once I get my Leads template designed the way I want, I would like to copy the fields and their page positions to the other modules.  Is it possible to do
        • Is it possible to clone my Lead module layout to Customer and Potential layouts?

          I've customized all fields and their order for Leads module and I would like to know if I'm able to clone those fields into another modules, only to avoid repeated work. Awaiting.
        • URGENT: Stalled DC Migration >72 Hours - Records Locked [Ticket #: 167813877

          The DC migration was started on 1st October at 6 pm and we were informed migration period as 48 hours but even after more than 72 hours, the migration seems still in progress. We sent two emails to check the status but no responses. We need the migration
        • 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.
        • Account not Active For any support or queries, kindly contact support@zohomail.com

          HI! I am trying to sign up to Zoho Mail which is not working. All I can see is the following error message, " Please help me. Account not Active For any support or queries, kindly contact support@zohomail.com"
        • How can I add a Custom Field (or Customer_name) to a picklist?

          Our workflow is Shopify-->SO -->Picklist-->Package-->Shipment. We would like to have the Picklist template to include a custom field "Customer_Notes" (we have created this field already). This way we get alerted when a customer has notes on their account.
        • Introducing Zoho Commerce 2.0 — It's more than just selling!

          Hello! We are proud to launch Zoho Commerce 2.0, a reimagination of how online businesses look, feel, and function. This launch is both timely and symbolic, as we reaffirm our commitment to empowering small and medium enterprises with powerful, yet simple-to-use
        • Zoho Thrive connection to off-line purchases

          Is it possible for Zoho thrive to connect to subscriptions or Books and pull purchase data from clients who purchase off-line or maybe through a different sales department where items are not listed on a website for sale? Say I have a customer that signed
        • Payroll Options

          Would like to see a payroll service implemented; Maybe not a true payroll but at least the ability of tracking payments to employees without making them a vendor. please help. Thanks. I didn't find the right solution from the internet. References: https://zohofinance.uservoice.com/forums/283818-zoho-books
        • Esta dirección de correo electrónico ya se encuentra en uso en otra organización... agregar usuarios

          Buenos dias , tengo este problema a la hora de agregar usuarios mi dominio es implementos.com.pe
        • How to setup noreply@ example.com

          How do I setup noreply@example.com so the mail never gets delivered. I currently have a catchall setup aswell.
        • How do you associate multiple contacts to a deal in the mobile app?

          When opening a deal in the mobile app, only one customer shows as the contact. How can we add multiple contacts on our mobile device?
        • Zoho Books Support

          Dear Team, Zoho Books offers a demo before you purchase zoho books. But after that when he actually purchases the product he has to rely on toll free number or help documents. But this might get frustrated in the initial period. Specially in initial period.
        • Linking Multi-UOM Barcodes to Products in Zoho Books

          Greetings, I'm using Zoho Books for retail shop and I'm running into a bit of a challenge with products that have multiple Units of Measurement (UOMs) and corresponding barcodes. For example, I sell cigarettes both as individual packets and in cartons
        • Best practices for importing phone numbers

          I've recently found a problem with my phone provider, integrated with Zoho CRM, where a phone number that starts with 00 instead of + won't work. The problem has no solution: they tell me to replace all 00 with + I've always preferred using 00 instead
        • Has anybody managed to do ANYTHING with Zoho CRM Zia Agents?

          I have 'hired' a few agents from the 'store', and also built the super simplest Agent I could think of (retrieve the email address for a given Contact), and none of them work. I get errors like "LLM Inference failed" even from the store Agents (e.g. "Search
        • custom function

          I want to send a request following the webhook pattern with Endpoint Type Intranet, I received a Zoho access response from Daniel. Please advise on how to implement invokeUrl with Endpoint Type Intranet and a probe
        • ERROR CODE :554 - Your access to this mail system has been rejected due to poor reputation of a domain used in message transfer

          This message was created automatically by mail delivery software. A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. *****, ERROR CODE :554 - Your access to this mail system has been rejected due
        • Announcing the new SKILL.md for Zoho CRM and the updated OAS repository!

          We are introducing a new zoho-crm skill to make working with Zoho CRM Developer tools (like APIs, functions, widgets, client scripts, queries etc) easier and faster, with the help of AI in your preferred AI harness like Claude Code, Codex, Cursor, VSCode
        • Function #46: Auto generate list of lapsed customers using Custom Button

          Hello everyone, and welcome back to our series! Customer retention is one of the key factors that impact the long-term success and sustainability of a business. High customer retention rates indicate satisfied customers, quality products or services,
        • Lookups and Custom Modules

          I created a Custom Module that I'm calling "Item Purchasing Group". This module will store information for groups of Items that must be purchased together (including minimum overall quantities and/or values, etc.). This will have a one-to-many relationship
        • Zoho Writer for Android - Headings

          Hello Zoho team, I have created structured doc with headings in writer web version on pc. Then I have opened it in my phone. Write is crashing while used function: menu "three dots", Document Navigation, Headings. Zoho Writer for Android 6.1.4 Samsung
        • Can't connect to POP and SMTP over VPN

          I use Thunderbird to access Zoho Mail via POP and SMTP. I have configured an app-specific password for Thunderbird to use. Everything is properly configured and works correctly — until I enable my VPN. I'm using a paid commercial VPN service (Mullvad).
        • Ask the Experts: Five-hour live Q&A session with Zoho WorkDrive product experts

          Have questions about WorkDrive 5.0? Let’s talk! We recently launched Zoho WorkDrive 5.0, packed with powerful updates to help your team work smarter, stay secure, and get more value from your business content. From content-centric workflows and AI-powered
        • Possible to reorder Pipelines position?

          I have multiple Pipelines and want to reorder their positions, so that in the Deals module record for the Pipeline field, I have them ordered in a certain way. Is there a way to reorder the position of the Pipelines without deleting existing Pipelines
        • Pleas unblock E-Mail-Adress service@montana-energie.de / kontakt@montana-energie.de

          Dear Zoho Support, Could you please unblock service@montana-energie.de / kontakt@montana-energie.de which belongs to a regular customer with whom we are having frequent business-related conversations. Thank you very much in advance, Erdem Kar homewise
        • Unable to preview attachments using Apple Safari on Mac

          When attempting to preview an image attachment in Zoho desk the image will fail to load and present a "missing" icon in the middle of the display.  This is using Safari 14.0.3 on macOS Big Sur 11.2.3.
        • Kaizen #262 - Using Zoho CRM Skill to build Queries

          Hello everyone! Welcome back to another edition of the Kaizen series, where we uncover powerful ways to extend and customize Zoho CRM. In the previous Kaizens, we explored how the zoho-crm skill can help developers work with Zoho CRM APIs, Client Scripts
        • 【10/30福岡】他社はZoho CRM×AIをどう使う? 営業に役立つ実践デモ&事例解説|10〜12月のイベント予定も!

          ユーザーの皆様、こんにちは! ゾーホージャパンの中野です。 10月30日(金)の福岡ユーザー交流会では、CRM×AIのデモ / 事例紹介と、 Zoho社員によるAIエージェントの解説を通じて、自社での活用を考えるヒントをお届けします。 ■ 福岡で学べる・話せる3つのこと ① CRM×AIで、営業の仕事はどう変わる? 株式会社etikaの宮村佳祐さんが、具体的な連携デモをご紹介します。 ・提案中の商談に、参考になる過去の類似受注案件を表示 ・打ち合わせの文字起こしをCRMに自動連携し、項目を更新 ・取引先のニュースを集約し、営業担当者へお知らせ
        • Next Page