Title: Store, retrieve, and access entity-specific data in widgets using | Community | Zoho Projects

Title: Store, retrieve, and access entity-specific data in widgets using | Community | Zoho Projects

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

The entity properties allow you to store, retrieve, update, and delete data for an entity, while the extension properties allow you to do the same with an extension. Learn more about data storage functions that can be performed using entity and extension properties.

The data stored for an entity using entity property will be retained if the extension is uninstalled. However, when an extension is uninstalled, any data stored using the extension property is lost. You can refer to the limitations of entity properties and limitations of extension properties for additional details.

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:
  1. Creating an extension.
  2. Configuring the plugin manifest.
  3. 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

We have created a connection to establish a secure integration between Zoho Projects and Zoho CRM. You can refer to this post for detailed guidance on establishing a connection.
                                                                  
                                     

Extension configuration

Extension creation: We have created a new extension for Zoho Projects. Learn more about the steps to create an extension

                                      

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 tabPlease 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


    Access your files securely from anywhere


            Zoho Developer Community




                                      Zoho Desk Resources

                                      • Desk Community Learning Series


                                      • Digest


                                      • Functions


                                      • Meetups


                                      • Kbase


                                      • Resources


                                      • Glossary


                                      • Desk Marketplace


                                      • MVP Corner


                                      • Word of the Day



                                          Zoho Marketing Automation


                                                  Manage your brands on social media



                                                        Zoho TeamInbox Resources

                                                          Zoho DataPrep 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 Writer

                                                                                    Get Started. Write Away!

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

                                                                                      Zoho CRM コンテンツ






                                                                                        Nederlandse Hulpbronnen


                                                                                            ご検討中の方





                                                                                                  • Recent Topics

                                                                                                  • Unable to add organization consultants and contractors in Zoho People

                                                                                                    Hello Team: I am unable to add my few consultants and contractors in Zoho People. How to add these people as Users?
                                                                                                  • MORE BUGS: Client Script, Deluge and Widget JS SDK don't work as expected when trying to retrieve a record that has been "rejected" as part of an approval process.

                                                                                                    Client Script $Page.record is null when accessing a record that has been "rejected" as part of an approval process. Deluge zoho.crm.getRecordById(moduleName, recordId) returns {"status":"failure"} when recordId is a valid, but rejected record. OK... I
                                                                                                  • Mandatory verification of custom domains in portal

                                                                                                    Hello all, Happy New Year! Wishing you a successful and fruitful year ahead. We are committed to ensuring a safe and secure experience for all users of Zoho Creator users. As part of this commitment, we regularly introduce updates to ensure our platform
                                                                                                  • Lost all my notes, help :(

                                                                                                    The thumbnails correctly preview the text, the file info correctly shows the amount of characters, but all of my notes just get stuck at this screen when I open them. :( ... I have so many projects in here, I don't know what to do, is there any way to
                                                                                                  • Zoho Calendar 2024: A Year in Review

                                                                                                    Hello, community members! Happy new year from all of us here at Zoho Calendar. As we turn the page to a new year, we extend our heartfelt gratitude to every member of our Zoho Calendar community for your continued support and enthusiasm. Your feedback
                                                                                                  • How manage to hardware and software contracts.

                                                                                                    So I have been tasked with setting up on crm a way of managing our software and hardware contracts. with a filter switch, so if they are no longer on say a hardware contract but still on a software, we would like the history about the hardware contract
                                                                                                  • Function #4: Schedule Customer Statements

                                                                                                    Regularly sending statements to customers is an imperative part of many business processes as it helps foster strong customer relationships and provides timely guidance on payments. While you can generate the statement of accounts and have it sent over
                                                                                                  • Automation#27: Retain Ticket Owner on Moved Tickets

                                                                                                    Hello Everyone! This week, we present to you a custom function that retains the ticket owner when a ticket is moved from one department to another. Here’s more to help you understand the custom function: At Zylker Techfix, Alex, the Support Engineer manages
                                                                                                  • Lookup field, odd issue

                                                                                                    So I tried creating and app that has the names of engineers so I can use that for a lookup in the other apps that are being created . I add the look up in a new app, launch the app and when I try to fill out the form its just blank in the drop down menu
                                                                                                  • Zoho CRM Workflow Merge Tag For a File Upload

                                                                                                    Hello, is there anyway to add a merge tag for a file upload field in Zoho CRM Workflow emails? I don't see it as an option in the drop down. Thanks, Hannah Moderation Update: I'm locking this post as a similar discussion is ongoing in the thread linked
                                                                                                  • Custom function daily limit and procedural programming

                                                                                                    Dearest Zoho Today, support confirmed that if I call a custom function from another custom function then I will use up two, with regards to my daily limit. A few times, we have blown our daily limit and that means that ordinary business processes don't
                                                                                                  • Lookup field - Can I avoid using advanced search?

                                                                                                    I have a lookup field in my app that has surpassed 500,000 records, now basic search is disabled and I'm forced to use advanced search. That adds multiple steps to what used to be very simple. Before: Select field > Type last digits of product code and
                                                                                                  • Zoho Flow reads record Tag as number instead of text string. How do I change it?

                                                                                                    I have experience with flow and have a number of them working. This flow is supposed to add a record in a custom module when a Contact record is edited or created with a specific tag. Trigger criteria is "Tag contains 'Athlete' ". However, the flow does
                                                                                                  • Calendar Overflow in Open URL popup

                                                                                                    Hi everyone, When Opening a form which has a date field in openurl popup, this happens. Is there any way I can change the calendar width and height or is there any other possible way this can be changed? Thanks.
                                                                                                  • Deluge Script - "Mismatch of data type expression" Error When Retrieving Account ID

                                                                                                    Hi everyone, I'm working on a Deluge Script in Zoho Creator to create Accounts and Locations. I'm running into a "Mismatch of data type expression" error when trying to retrieve the ID of a newly created Account. Here's the relevant part of my code: accountResponse
                                                                                                  • Issue with Exact Phone Number Match in Zoho CRM Search Record API

                                                                                                    Hello Everyone, I am working on a custom function that works as a REST API. This function receives API calls via a third-party webhook, where the payload data contains various details, including phone numbers, names, dates, etc. A single payload can contain
                                                                                                  • PDF API FROM ZOHO CREATOR DELUGE SCRIPT

                                                                                                    Hi I am in need of using a PDF Api to compress and Merge PDF files from zoho creator. Any support on this would be really helpfull any sample code for any PDF API would be extremely heplfull
                                                                                                  • Update field in “Validations on form submission”

                                                                                                    Hello, I have a hidden field in my form. I created a workflow that is executed when a record is created and triggered an event in the “Validations on form submission”. At this point I retrieve an external ID and need to add this value to the hidden field
                                                                                                  • Stop automatic email linking to deals after it is closed lost or Won & Done?

                                                                                                    How do I closed automatic linking of emails to deal which are closed or Won & Done? This is really important for us because sometimes if a new RFQ comes in the email is gets linked into an old deal which is lost or won and done.
                                                                                                  • Mapping for date field from one module to another.

                                                                                                    Hi there, I want to be able to map a date field(due date) in a module (sales order) to another module's(Purchase Requisition) date field(Promised customer date). Is this possible when the due date field is a zoho system date field while the promised customer
                                                                                                  • How to customize the task reminder notification email

                                                                                                    HI guys,  I hope someone can help with this enquiry: We have included an additional/new field of information when an activity is assigned/created, however this new field is not part of body of the task reminder notification e-mail that is generated by
                                                                                                  • Multiple contact email linking for a deal

                                                                                                    How can I add multiple contacts to a deal to have their emails auto link to a deal. At the moment only one primary contact is available for a deal, but we work with manufacturing and power plants where multiple contacts are associated with a deal and
                                                                                                  • Error when changing user permission from read only to user.

                                                                                                    Hi there, Ive tried to change one of my users to be able to edit, however i kept getting the error user license exceed.
                                                                                                  • Support of Total Experience - for exclude/include non-relevant expeience

                                                                                                    Hi, Currently, in Zoho People for employees, we can use “Total Experience,” which is a system field that can be an either total relevant experience” or “total experience (i.e. relevant + non-relevant)”. But there is no way to have two different fields.
                                                                                                  • API (v2) Search Criteria using CONCAT

                                                                                                    With API I can search for a contact using First_Name and Last_Name. However, when I need to search the Contact Module using a full name — and because CRM does not provide an API for full name — I am not finding a way to do this in the traditional way
                                                                                                  • SPAM

                                                                                                    Email notificaitons from Zoho People are quarantined by Microsoft. DKIM is configured and shown as authenticated but it seems that emails are not signed.
                                                                                                  • Zoho Billing in 2024 : A Year of Growth

                                                                                                    You asked! We listened! 2024 saw a lot of updates in Zoho Billing to improve your overall billing management experience. Let us take a look back at some of the major updates in 2024. New Features & Enhancements Sales Enhancements Create One-Time Invoice
                                                                                                  • Strange pop up windows when sales order saving.

                                                                                                    Hi, May I ask what's the meaning of this pop up window. Our client script don't have this setting..
                                                                                                  • Splitting a List into different rows

                                                                                                    I am getting a List from a for each loop. But I can't figure out how to separate each item that is separated by a comma. Example Zone 1 - Front Door,Zone 2 - Rear Door,Zone 3 - Side Door I need it too look like this: Zone 1 - Front Door Zone 2 - Rear
                                                                                                  • ZOho Recruit API hiring Pipeline

                                                                                                    I was wondering if it's possible to update the hiring pipeline using the API. I am messing around and I can change the status of the applications and it shows the application as rejected but the pipeline stay's at the stage that applicant was at. Also
                                                                                                  • Linkedin - Recruiter System Connect

                                                                                                    Hi there! Does anyone here know how to connect Zoho Recruit to Linkedin Recruiter via Recruiter System Connect?
                                                                                                  • Pay milage expense with undepositied cash

                                                                                                    Hello When I add millage, the only probable option to "pay through" is Owner's Equity. I pay for the fuel using undeposited cash but I can set "paid through" to undeposited funds while entering mileage. I do not have employees and this is the mileage
                                                                                                  • How to add new leave type?

                                                                                                    Hi All, I wanted to know on how can I add new leave type, if anyone of you can explain me in details on the process that will be very helpful to me, and I am using the latest update of zoho people. thank you.
                                                                                                  • Language Field on Contact Person-level

                                                                                                    Dear at Zoho Books, would it be possible for you to have a Field for 'Language' for the Contact Persons under a Company. In CRM and Bigin we could create a Custom Field (Dropdown) for this effect but without any present in Zoho Books we could never sync
                                                                                                  • 2025 Just Got More Exciting for Developers!

                                                                                                    Hello, Greetings to the Zoho Books Community! As we step into the New Year, we're thrilled to roll out something truly special for our Zoho Finance enthusiasts – the "Zoho Finance Developer" Community! This is your exclusive space to connect with fellow
                                                                                                  • Notify on new comment

                                                                                                    I would like to notify users when a new comment is added to ticket/request? So if someone is following request they would get email or text saying that comment has been added to this request. Or request/ticket owner get notified. Thanks Luis
                                                                                                  • Automatically add user on customer portal

                                                                                                    Hi Guys, I have a doubt about how to automatically add user details to the customer portal. Once the user details are submitted through the user form, those details should be automatically updated in the customer portal. how to do that any one have idea
                                                                                                  • Marketer's Space: A Look Into Personalization - How to Tailor Customer Experience Through Segmentation, Merge Tags, Journeys, and Dynamic Content

                                                                                                    Hello marketers, Welcome to another post in Marketer's Space. In today's competitive market, personalizing your marketing campaigns is no longer optional—it's essential. Personalization tailors your marketing campaigns to individual customers based on
                                                                                                  • How can I delete Customer Portal User?

                                                                                                    Hi, I have added two portal user. Now I want to delete these users (setup->customer portal->users), but I can only activate, deactivate and re-invite user. Before adding these users in customer portal, I have added them in contacts and after that I have deleted them. I  have added theses two user with my 2 different email id. The reason behind is before going live I wanted to test my invitation mail, how its looks in template and its embedded link to accept the invitation, whether acceptance link
                                                                                                  • 5名限定 課題解決型ワークショップイベント Zoho ワークアウト開催のお知らせ(1/30)

                                                                                                    ユーザーの皆さま、こんにちは。Zoho ユーザーコミュニティチームの藤澤です。 1月開催のZoho ワークアウトについてお知らせします。 登録フォーム:https://us02web.zoom.us/meeting/register/nLdH2Q2JRIm2Mm3TQ7W5eQ ━━━━━━━━━━━━━━━━━━━━━━━━ Zoho ワークアウトとは? Zoho ユーザー同士で交流しながら、サービスに関する疑問や不明点の解消を目的とした「Zoho ワークアウト」を開催します。 Zoho サービスで完了させたい設定やカスタマイズ、環境の整備など……各自で決めた目標達成に向け、
                                                                                                  • Next Page