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
How to update image in a Zoho Creator report through widgets (JS API)
I need help with how to transfer an image file from one report to another in Zoho Creator using widgets (JS API). Say I'm fetching a record from the All_Products report. And this report contains a Product_Image field. I then want to transfer this Product_Image
Issue with Sending and Receiving Emails in Zoho Mail
Dear Zoho Support Team, I am facing an issue with my Zoho Mail account. I am unable to receive emails from others, and also when I try to send emails, they are not getting delivered. This is affecting my daily work, so I request you to please check and
Adding an element to the Creator Canvas will automatically adjust its dimensions.
I designed a report with fixed dimensions using Creator Canvas. However, whenever I add a new element, the system automatically adjusts the dimensions, even if the new element fits perfectly within the set boundaries. This is quite frustrating. Has anyone
Installing/Using Python Package in Zoho Creator
Hi, I have a Python function in my ZC application that depends on a specific Python package. If I was running this on my own server, I would just install the package using pip (e.g. pip3 install stripe). Is there a way to install the package in my ZC
I dont have acess to my own domain emails
an agency made these 3 emails for us , including the one im using here. but the super admin access is through the agency email. i want to reclaim my admin console access to these emails. how can i contact zoho support?
Domain Activation Pending
Hello Zoho Support, I have resent the domain activation email for abovecapital.online several times, but I still have not received the activation link. Please check the email delivery status and help me resend the activation email or update the registrant
Zoho Webinar - Sharing System Audio (NOT AVAILABLE)
Hi, We are having a serious problem with Zoho Webinar. In the webinars we run, we very often share the audio from a video we are streaming directly from YouTube or other applications. Until recently we were using Zoom, but as we use other Zoho applications
IP blocked on SMTP
Please unblock my server IP: 135.181.19.115 We are using WP Mail SMTP for legitimate transactional emails.
Zoho rejecting external email – “Email policy violation detected”
Hello, I was informed by external senders that their emails to my addresses were rejected by Zoho Mail. The emails were sent from external domains (including pfms.ba.gov.br domains), not from my own domain. However, Zoho rejected the messages with the
unable to log in on iphone and unable to log in one auth
im unable to log in to my mobile
Tip #48: An exclusive system for risk management
Zoho Sprints' risk management feature gives teams a structured, industry-grade system for identifying, quantifying, and mitigating risks to eliminate probable impact. Project or product teams that run on Zoho Sprints might be using sprints, work items,
Follow-Up: No Response to Previous Inquiry on Workplace Plan Scalability
I have previously sent a few emails to your support address but have not received any response. I am unsure whether my messages are being delivered successfully or possibly filtered as spam. My most recent inquiry was regarding clarification on user scalability
Unable to receive any email
Hello I have several problems. I am unable to receive any emails sent to my Zoho account. Also, when I send an email, my account appears in the spam folder, and my profile picture doesn't appear; instead, a question mark appears.
Edit a previous reconciliation
I realized that during my March bank reconciliation, I chose the wrong check to reconcile (they were for the same amount on the same date, I just chose the wrong check to reconcile). So now, the incorrect check is showing as un-reconciled. Is there any way I can edit a previous reconciliation (this is 7 months ago) so I can adjust the check that was reconciled? The amounts are exactly the same and it won't change my ending balance.
Not able to receive mails
Am able to send mails. But not able to receive. The mail bounces back saying Your message wasn't delivered because the address couldn't be found, or is unable to receive mail.
Loading Zoho Webmail
Zoho Webmail don't work. Yesterday webmail works in the same web browser (Firefox). Webmail works on google chrome. Try to repair for Firefox.
Account blocked
My account contato@fernandovarella.com.br was blocked due to suspicious login activity. I am the owner of the account and domain. Please unblock web access and outgoing mail.
Can anyone tell me my setup right or wrong?
Tell me about this, my root domain not receive mails from other senders, only receiving from mails connected with zoho network , i have to need sender.net camp... also For MX MX | dandakaranya.com | mx3.zoho.in | 50 | Auto MX | dandakaranya.com | mx2.zoho.in
Cannot sign up customer for Zoho Mail
I tried last morning to sign up a customer for Zoho Mail, but it says it is unable to create the account right now. I contacted the support, but did not get any response yet. I am located in Iceland, if that helps. Anyone else experiencing this as well?
Subject: Issue creating temporary mailbox due to OTP verification requirement
Hello Zoho Mail Support, We are following your recommended approach for email migration and need clarification on how to proceed correctly. Our intended migration approach is: Create a temporary mailbox katja.migration@nellajanuttu.fi Copy all emails
The response from the remote server was: 554 5.7.1 : Relay access denied
Team I am getting the below error when i send email from gmail to my zoho email. I am receiving few emails from other domains. Can you please verify attached config and let me know how to fix this issue ?
Zoho mail not working from yesterday
Zoho mail for server ninjamedia.in not working from yesterday. Please look into it. Error
First Response Time, Where to find?
Hi Currently I'm building a feeder file that auto-fetch ticket details when created/updated. On my table headers, apart from custom fields, I'm specifically looking for First response time. Currently I'm checking capabilities using Zoho Flow but couldn't
Issue with Zoho Emails Going to Spam Despite Verified DNS Records
Dear Zoho Support Team, I am writing to report an issue with my Zoho email account. All emails sent from my domain are consistently being delivered to recipients' spam folders, even though all required DNS records have been correctly configured and verified.
Delink of mail id from one auth
Hi , Please help me to do delink my email id from one auth , the phone is not supporting the higher version i would like to have options with ease process Please help and unable to view the inbox due to the same issues Regards Rekha
Outgoing blocked for almost a week – ticket #2472334 – no response yet
Hi, My Zoho Mail account has been blocked for outgoing messages due to “unusual activity.” The reason is that I forwarded all of the messages from my website contact form (95% spam) from my ZOHO to my personal Gmail. I submitted a support request (Ticket
Límite archivo adjunto
Buenos días Actualmente tengo el plan mail lite, 7 usuarios de 10gb de almacenamiento para correos, quisiera saber cuáles son los límites para adjuntar un archivo adjunto, exceptuando la opción de archivo pesado, ya que últimamente tengo problemas para
Lead Email Mandatory in “Add Lead to Journey” Action
We are currently using the Zoho Marketing Automation Add lead to journey action inside Zoho Flow. We noticed that the field “Lead email address” is mandatory when adding a lead to a journey. Our concern is: Many of our CRM leads do not have an email address.
Undelivered Mail uncategorized-bounce errors when sending invoices
Recently we have been getting Undelivered Mail bounce notification when sending invoices. Reason: uncategorized-bounce Some go through no problem some bounce back. We recently sent 10 invoices, 6 received bounce notifications. After reaching out to the
Unable to activate orphaned accounts on a existing domain.
When I attempt to tag this customer through the partner portal, the Check Availability step first indicates the email is available, but on submission returns this error: "This user does not have account in this service or this user is not an admin. Please
Ability to Edit the "Current Job Title" dropdown field
Current experience/Issue: When a user (candidate) uploads resume to Zoho Recruit candidate portal, some fields are prefilled with the info from the resume/cv correctly. However, we've observed that; 1. the "Current Job Title" dropdown field is usually
Unable to Add Users - Zoho Mail Restriction
I am trying to add new users to my Zoho Mail organization, but I am getting the error: "This user is not allowed to add." We are a legitimate business using Zoho Mail for email hosting only. Our company is based in Saudi Arabia, and we may be accessing
Bigin Forms Enhancement: Acknowledge visitors via WhatsApp
Greetings, We hope all of you are doing well! We're excited to share a new enhancement to Bigin's forms. Let's take a look at it in detail. Acknowledge visitors via WhatsApp The Acknowledge Visitor option in Bigin Forms means visitors receive an instant
Integrate your Outlook/ Office 365 inbox with Zoho CRM via Graph API
Hello folks, In addition to the existing IMAP and POP options, you can now integrate your Outlook/Office 365 inbox with Zoho CRM via Graph API. Why did we add this option? Microsoft Graph API offers a single endpoint to access data from across Microsoft’s
Zoho Customer Grievance Escalations Matrix
We have been with Zoho for little over a 24 months having several licenses for Zoho One and with standalone license for Zoho Commerce Advanced Plan along with their so called "Premium Support" for which they charge you a pretty hefty amount. It's been
Data entry and automatic barcode sticker printing
Hello there I am very new to Zoho.. and not sure if it can do, or should I say, I can easily set it up to do, or first basic requirement. We take in up to 1000 unique used products every week. They come from up to 50 regular suppliers. The are used household appliances. We try to fix most of them. For waste regulation purposes we have to track every machine from the source/supplier it cam from to if it was repaired and put back on the market? or stripped and scrap for material recovery. Is it possible
Inventory Barcode Creation - Add Picture of Item
Hi I am trying to set up bar code labels and include a picture of the item on the label - any idea on how to add that field to the barcode generator?
Setting up a barcode system with Zoho Creator
Hello! I am researching how to set up a barcode inventory system that is compatible with Zoho Creator. I am working with an art inventory, and I want to be able to refer to each piece of artwork with a barcode. My goal is to be able to generate a barcode, store that barcode in a Zoho Creator database, be able to print out a barcode label from that database, and have the database pull up a record when the barcode associated with that record is scanned. I understand that there are barcode generating
New Built In QR/Barcode Generator Print Settings
I'm trying out the new QR/Barcode generator field in Creator. I would think most people will want to print these, like I do. I am not seeing any way to control the height or width of the barcode for printing (inside the print/pdf template builder). The
Inventory SKU barcode printing
Hi I am a developer and am wondering if zoho creator or even zoho inventory have the capability to print barcodes upon submitting a form. I have been researching the forums and have not been able to find any way to do this natively in Zoho. Can someone
Next Page