Data storage - Overview
Storing data related to the extension you are working on is essential. It can be saved as key-value pairs for an entity or extension, known as entity and extension properties, respectively. Data can be saved for the following entities using entity properties: projects, tasks, issues, and milestones. Similarly, using extension properties, data can be recorded for an app and stored for the extension.
Support and Limitations
Scenario
A manufacturing firm uses Zoho CRM to manage its production and sales units, and also uses Zoho Projects for task management. Customers of the firm may raise cases of the"feature request" type to the solution experts for an enhancement or a request for a new feature for the existing products. The solution expert logs these requests as cases in Zoho CRM and begins working on the feature request through a task in Zoho Projects. In this way, the Zoho CRM solution expert who is the task owner in Zoho Projects can handle and manage the development-related activities to provide the feature as a solution to the customer through the Zoho Projects task.
Additionally, multiple customers may request the same feature for a product. In this scenario, it would be easier for the task owner or solution expert to keep track of all their CRM cases related to a feature request in one space, so that whenever a requested feature is completed, this can be communicated with customers of these tracked cases.
What can be done to ease the solution expert/task owner work?
The task owner would benefit from viewing a list of all their open Zoho CRM cases from inside the Zoho Projects task tab. This would allow them to view and associate the cases related to the feature request they are working on from within the task.
Once they have completed the feature enhancement and come up with a solution for the request, they can simply preview all of the Zoho CRM cases related to that feature request from within the task itself and offer an update to the customers.
Goal: Ease user experience by allowing them to view and associate Zoho CRM cases within the task details tab.
Solution
To accomplish this goal, we are going to use data storage along with a few other features in our extension.
- First, allow the task owner to view case-specific details from the list of CRM cases. For this, we can create a task details tab widget named "CRM Cases". In this widget, we can include a drop-down menu and select a case to access case-specific details. This can be accomplished using the widgets approach explained earlier in this post.
- Using the data storage concept, store the associated case for the task entity, allowing the task owner to view it as "Associated CRM Cases" alongside the drop-down selection the next time the widget loads. This enables the task owner to associate several cases with the task and view them all in a single widget.

Required components
- A connection between Zoho Projects and Zoho CRM needs to be established to establish a secure integration between the products.
- An extension configuration process includes:
- Creating an extension.
- Configuring the plugin manifest.
- Setting up the widget code.
- Display all open Zoho CRM cases of the task owner as a drop-down list in a task details widget tab called "CRM Cases", and thereby allow the task owner to choose a case for which they want to view further details.
- Implement the modal box feature to display case-specific details of the chosen case and also allow the task owner to associate the case to the task through a button in the modal box
- Store the associated case for the task using the data storage concept (entity.store) in the modal box.
- Display the associated cases by retrieving (entity.retrieve) it from the stored data and having them displayed as part of the widget along with the drop-down that displays the open cases.
Let's explore these components now.
Connection
Extension configuration
Plugin-manifest.json configuration: Once the extension was created, we configured the plugin-manifest.json file to include the created connection and a widget. For detailed understanding on configuring the plugin-manifest.json file, refer to our earlier post.
For our extension use case, the plugin-manifest.json file is configured as shown in the below screenshot.
Setting up the widget code
Now that we've set up the other components, let's move on to writing our widget code and incorporating the data storage and modal box feature.
Displaying CRM cases in "CRM Cases" task tab - Please find the index.html code snippet attached in the post.
- In the code snippet, the current Zoho Projects user's email is retrieved using the current_user instance of zohoprojects.get JS SDK method and saved in a variable called "currentuseremail".
- The user's CRM org ID and their CRM cases are then fetched by invoking the Get Organization Details and Get Records APIs, respectively, using the Zoho Projects request JS SDK method. Certain mandatory parameters must be passed to the SDK method to invoke the mentioned CRM APIs, such as the third-party URL, data object, and connection. If you require further details on how the Zoho Projects Request method works, you can refer to our earlier post, which explains the working and the required parameters for invoking this method in detail.
- From the Zoho CRM get records API response, a drop-down list is generated in the widget, with the Zoho Projects task owner's open CRM cases.
- The end-user can select a value from the drop-down list to view the case-related details. This selected value (the selected case) is then fetched. When the Get Case Details button is clicked, a modal box instance is created and opened using the modal.create and instance methods. When the modal box opens, the selected case ID value is emitted using the emit method and the keyword "stored-files".
- Using the emitted values, the case details is populated in a modal box, and if the solution expert finds that the case is related to the feature request handled in the Projects task, the case ID is saved using the entity.store method and associated with the current task. (This is addressed in the casedetails.html code in the next section).
- The associated value stored in the modal box using the entity.store method is then retrieved in the index.html page using the entity.retrieve method. Using the retrieved associated case ID, when the widget loads, the Zoho CRM Get Records API is invoked again. From the response, the unclosed cases and the cases which have the email ID as that of the current Zoho Projects user's email address (fetched earlier and saved in variable currentuseremail) are filtered and displayed as the "Associated CRM cases" in the widget.
Modal box to display the details of the chosen case - Please check casedetails.html code snippet attached in this post
- In the code snippet, the value emitted from the index.html, using the emit method for the keyword "stored-files" is received by the on method in the modal box UI. Using the received value, a hit is made to the Zoho CRM Get Records APIs using the Zoho Projects Request Method again.
- The essential details are retrieved from the case-specific details returned by the Zoho CRM Get Records API and displayed to the task owner for reference. These details allow them to check on the case and associate it with the current Zoho Projects task if it is related to the feature request.
- If the case is associated, the associated case value ID is saved with the entity.store property.
- This stored and associated value is then received and retrieved using the entity.retrieve in index.html, from which the Associated CRM cases value are populated in the widget as mentioned earlier. This is addressed in the index.html code in the previous section.
Now that we have completed the setup and have all the extension components ready, let's go ahead and see the output.
Sample output:
In this example, we used the data storage for an entity feature to save task-related data and retrieve it when needed. Similarly, we can store data for an app to perform various storage functions such as save, retrieve, update, and delete. We hope you found this information useful. Keep following this space for more insights!

Sign up for a
Zoho Developer account and start developing extensions for Zoho Projects using Sigma.
SEE ALSO
Recent Topics
Bing ads integration and tracking
Hi, Is there any way to track Bing ads in the same way that we are able to track google adwords? It is important for us to be able to determine the conversion rate of our Bing ads. If this is not possible now, will this feature be added in the future?
#20 Your Business Shouldn't Stop Just Because You Do
Imagine you are on a well-deserved vacation. Your clients are expecting invoices at the beginning of the month, recurring customers are due for billing, and payments are still coming in. Do you carry your laptop everywhere, hoping you don't miss a billing
Marketing Tip #26: Optimize product images for SEO
Product images can do more than make your store look good. They can also help customers discover your products through search. Since search engines can’t "see" images, they rely on text signals to understand what an image is about. Two small actions make
Canva Integration
Hello! As many marketing departments are streamlining their teams, many have begun utilizing Canva for all design mockups and approvals prior to its integration into Marketing automation software. While Zoho Social has this integration already accomplished,
Automation Series: Mandatory Time Logging Before Task Closure
In a project, when users work on multiple tasks simultaneously, they track time in different ways, either by starting a timer or by adding a time log. Sometimes users may forget to add time, which can lead to discrepancies in the timesheet. When timesheets
Is there a way to show contact emails in the Account?
I know I can see the emails I have sent and received on a Contact detail view, but I want to be able to see all the emails that have been sent and received between all an Accounts Contacts on the Account Detail view. That way when I see the Account detail
Zoho CRM gets a new email compose and lot more
Dear Customers, [UPDATE October 21, 2021: We have started opening these features to some of the customers already. And, it will be available to all the customers before November 2nd Week, 2021. Sorry for the delay caused] [UPDATE February 21, 2022:
Custom AI solutions with QuickML for Zoho CRM
Hello everyone, Earlier, we introduced Custom AI Solutions in CRM that let you access QuickML for your custom AI needs. Building on that foundation, we’ve now enabled a deeper integration: QuickML models can be seamlessly integrated into CRM, and surface
Introducing document visibility in Zoho Sign
Hello! Complex document workflows often involve multiple stakeholders with different roles. Sending a separate envelope to every person is time consuming and can lead to administrative bottlenecks. With Zoho Sign's document visibility feature, you can
Sent email stuck on processing
My sent emails are stuck on processing, whats going on?
[Webinar] What's new in Zoho Analytics: Q2 2026
Hey data lovers! Our What's New webinar series is bringing you another lineup of exciting features and product enhancements from the past quarter, all designed to help you get more out of your analytics. Get an inside look at new data connectors, Zoho
Alterar número de telefone para receber o código OTP
Boa tarde! Como posso alterar o número de telefone da minha conta para aceder ao meu email corporativo? Estou tentando logar, mas não consigo, pois está sendo enviado o código OTP para o número antigo, preciso aceder urgente meu email, porque e de trabalho.
CRM x WorkDrive: We're rolling out the WorkDrive-powered file storage experience for existing users
Release plan: Gradual rollout to customers without file storage add-ons, in this order: 1. Standalone CRM 2. CRM Plus and Zoho One DCs: All | Editions: All Available now for: - Standalone CRM accounts in Free and Standard editions without file storage
Request to Increase URL Field Character Limit
Hi Arthi, Hope you are doing well. I'm trying to save a URL in the Work Order (WO) module using the URL field, but I receive the following error message: "Please enter a valid Repair File. Maximum 450 characters are allowed." The issue is that the URL
How to change column headings in pivot table?
Hi, Is there a way to rename the column headers of a pivot table? Now some the columns are named with value labels: 'SUM of .....'. We would like to rename those headers. As of now we couldn't find any direct solution to adjust the headers, besides copying and reformat. We want to avoid these extra steps. Best, Tiemen
Undelivered Mail
I suspect that there are recipient's servers that blocks my emails. I receive the following email from mailer-daemon@mail.zoho.eu : A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. pantelis.sarantos@unipakhellas.gr,
Email not loading on PC
Hello, my email opens on but it doesn’t load on PC. I don’t have other issues with the email, all the configurations are ok and I face with following issue in the photo. It says “ mail.zoho.com refused to connect” I will be very thankful if anyone can
Why are bounce/error emails being sent to info@ instead of contact@?
I have my Zoho Mail and WordPress site configured so that normal website emails should go to contact@hybridbatteryservice.com. However, I keep receiving technical bounce/error emails and delivery failure notifications at info@hybridbatteryservice.com
I want to create a gaming website
Hi, I wanted to ask if it's possible to build a custom website using Zoho? I would like to create a website similar to https://busimulatorultimateapk.com/ with almost the same features, functionality, and user experience. I'm not looking for an exact
Do Not Disturb status not respected when Cliq bar is enabled across Zoho apps
Hi Zoho Cliq team, I want to report what appears to be a bug with how the Do Not Disturb status interacts with the embedded Cliq bar in other Zoho apps. **Issue:** When my Cliq status is set to Do Not Disturb, I continue to receive notification tones
Introducing the Employee Portal for internal job posting
Employee referrals and internal applications are one of the most trusted hiring channels. But in many organizations, employees only hear about openings through messages, word of mouth, or after the role has already been open for a while. When employees
Zoho Webinar Summer Broadcast 2026
What if your webinar platform could connect directly with your business tools, automate routine tasks, trigger actions across your workflows, and support every stage of your webinar lifecycle? That’s the question we’ve been answering so far this year.
Zoho CRM Layout Rules: Nine New Actions, Profile-Based Execution, and Interactive Preview
Hello everyone, Availability: This feature is now available for customers in the JP and SA DCs. It is planned to be released for other customers in soon. We’re excited to announce powerful new enhancements to Layout Rules in Zoho CRM - a feature built
Invalid request when trying to access Mail
When I click on the red button to access Zoho Mail at https://mail.zoho.com/zm/, I get a big yellow warning triangle with "invlid request, The input passed is invalid or the URL is invoked without valid parameters. Please check your input and try ag
Whats the average response time for ticket submitted?
I submitted a request to unblock my mail accounts. They seem to be blocked for outgoing mail, and I have been waiting for days to have this fixed with no reply. I have submitted 2 tickets and an email. My work has to completely stop. I pay for the service
All new Address Field in Zoho CRM: maintain structured and accurate address inputs
Availability Update: 29 September 2025: It's currently available for all new sign-ups and for existing Zoho CRM orgs which are in the Professional edition exclusively for IN DC users. 2 March 2026: Available to users in all DCs except US and EU DC. 24
Is there any way to have Dataprep ingest RSS?
As stated by the title. Does the Zoho environment offer tools that I can use to, directly or using workarounds, have Dataprep ingest an RSS feed? Thanks
Introducing Color Coding of Picklist Values
Dear Everyone, Greetings!! Zoho CRM is uplifting the user experience. Recently, we had some notable aesthetic improvements in CRM like Kanban View UI enhancement, New List view UI enhancement, color coding of tags, and color coding of picklists in meetings.
Important updates to your Widget JS APIs
Hello everyone, Greetings from Zoho Creator! This is an urgent notice for developers and Partners who use widgets in their Zoho Creator applications. We previously announced an update to the CDN URLs used for loading the Widget JS API, with a deadline
Deluge sendmail in Zoho Desk schedule can't send email from a verified email address
I am trying to add a scheduled action with ZDesk using a Deluge function that sends a weekly email to specific ticket client contacts I've already verified the email address for use in ZDesk, but sendmail won't allow it in its "from:" clause. I've attached
Mailbox delegation “Send As” error
I believe there may be an issue with mailbox delegation. When I create a delegation from the Admin Console, it works correctly if I select Read permissions. However, if I select Send As permission for the delegated user, I immediately receive the following
Restrict Zoho Cliq Webinars and Announcements to Admins Only
Hi Zoho Team, We hope you're doing well. We would like to raise a feature request regarding in-app announcements in Zoho Cliq, such as the recent webinar popup about the Cliq Developer Platform: While these announcements are useful, they are not always
Desk Contact Name > split to First and Last name
I am new to Zoho and while setting up the Desk and Help Center, I saw that new tickets created or submitted from the Help Center used the Contact Name field. This would create a new Contact but put the person's name in the Last Name field only. The First
how do i get mail.mydomain.com to point to zoho mail web-mail?
I have started using zohomail, and am loving it. With my previous provider, I used to go to mail.mydomain.com, and it would take me to my webmail. I am not able to find the mapping for zoho's webmail to map to it. It is difficult to go to webmail with
Number of decimal places
Hi Latha, I have added the following three fields to the Company module. Currently, these fields only allow a maximum of 2 decimal places. However, for some of our requirements, we need to enter values with up to 10 decimal places. Could you please help
zoho imap connection stopped working 05/28 12pm EST
Hi, beginning Thursday, 5/28, ~12 pm est imap to siteground stopped working. When I tried to reconnect the account, connection was failing with the following message: Unable to connect SMTP server:gvam1107.siteground.biz, Port: 587. I did notice that
User Name in Zoho Cliq Not Updating Across Apps?
We updated the name of a user in Zoho. (From Sue to Taylor) Her name has not been updated in Cliq on all apps. When in Zoho One, if I go to Cliq directly, it is correct, but if I am in another app, and the Cliq bar pops up on the bottom, it will be the
Service currently unavailable
The Zoho Mail Webmail is working, the Mail Admin Console is not: "Our service is temporarily unavailable, please try after sometime." How long must I wait to retry? edit: To add to this, the Webmail is not working 100% - I can open mail in the inbox,
Service currently unavailable
Service currently unavailable It is not possible to access email; the entire Zohoworkplace platform is down
User Permission Log
Our external auditors are asking for a way to view changes made to user permissions (basically, a user permission change log). Is this feature built into Creator?
Next Page