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
No data/body passed to REST server for DELETE by InvokeURL
Hello Zoho, It seems no data or body of HTTP request is passed to REST server when request type DELETE is used for InvokeURL function. I tried to send DELETE using cURL command and from Python, it worked without problem. The problem occurs only with Deluge's
Recurring Bookings
Will Zoho Bookings ever offer an option to the customer to schedule recurring meetings (unlimited) for the same days/times? Making a client schedule the same days/times for an entire month is a tedious process. I'd like to offer the option upfront to
iCloud integration
I noticed from reading other threads that native integrations with Google Meet and Microsoft Teams are right around the corner. Are there other integrations and fixes to existing integrations coming? There are 2 things keeping me from using Zoho Bookings:
How do I associate pricebooks to a customer?
I setup a few pricebooks, that worked fine. But now the only thing I can do with it, when I enter a quote or sales order, I can select which pricebook to use, but I have to do this product by product every time I add one. Is there a way to connect a pricebook
Introducing Dark Mode / Light Mode : A New Look For Your CRM
Hello Users, We are excited to announce a highly anticipated feature - the launch of Day, Night and Auto Mode implementation in Zoho CRM's NextGen user interface! This feature is designed to provide a visually appealing and comfortable experience for
Subforms and automation
If a user updates a field how do we create an automation etc. We have a field for returned parts and i want to get an email when that field is ticked. How please as Zoho tells me no automation on subforms. The Reason- Why having waited for ever for FSM
Pulling Specific Products from Sales Orders in Books to a CRM Record
We currently process orders directly through our website (woocommerce) as well as through manual sales orders in zoho books. When an order comes through the website, all of the individual products from that order show up in the CRM record of that customer.
Functions - How to pass Dynamic Parameters / Arguments?
I am trying to create a generic function that I can use to update a given field with the name of the user and a given field with a datetime. The purpose of this is to have a history of major actions within the CRM record itself so it is easier to query
Locking Certain Feilds
Hello! I was wondering if there was a way to lock certain fields from being changed until another field had been filled in. For example, my origination has a chain of blueprints that have to be filled in for someone to properly convert from the "Leads"
How to void partially paid bill?
Hello. I have following problem and can't figure out how to solve it. I created a bill from vendor for 180gbp for purchase of some items. It was partially paid (60gbp) and so far so good - 120gbp overdue and items were successfully added to inventory
Email Notification to WordPress Blog Subscribers
You know when a new WordPress blog is published, your subscribers will be notified via email with a link to that blog? Jetpack does it but I'm hoping to get away from it or any other specialized WordPress plugin (like MailPoet), and instead, use a dedicated
CRM workflow to trigger Zoho Sign (One)
Hi, We have had integration in the past with SignNow in our standard CRM. A onboard would fill out name and address and in turn this would trigger a webhook out of Zoho CRM into Zapier and to SignNow. We've recently upgraded to Zoho One and cannot find anyway to automate the Sign process from CRM to Zoho Sign, is this possible?
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
Calendar View for Zoho Tickets
Is there a way to view your tickets with due dates on a calendar view? I can not find a way to merge my Zoho Calendar and Tickets. This would be extremely helpful to my team.
Zoho Book - Banking Module - Cash Credit account
I have a CC account with a bank. I initially added the account as a 'Bank Account' under the banking module in Zoho Books. However, this CC Bank Account is showing as an asset instead of a liability. I have added the account as a credit card account but
Zoho Sign Custom Domain
Any plans for Custom Domain?
Multiple date selection
Hello, we want create app for our company. We need create tasks for our employers. For example - 1 employer have task every Friday the whole year. Second have task every Monday for 6 months. For simple way create Multiple date selection in date form
Book project costs to tasks
Hi all, New to zoho but far from new to this sort of platform. I've been scouring the web for a suitable platform for my growing business. I'm currently using Xero and WorkFlow Max but it lacks a key need. I signed up to zoho projects and books to test
SalesIQ-Desk integration update: Seamless helpdesk ticket editing in-chat!
Did you know you can now edit your desk support tickets within SalesIQ? Happy to announce the latest update to the SalesIQ-Desk integration. Managing your customer support tickets within SalesIQ just got even smoother and better. No more toggling between
Been getting this error, every now and then "Get count limit exceeded, please try again after 3 mins"
it is really annoying.
Route Optimizer
Does Zoho Inventory offer route optimization for our in-house deliveries? It will save us time to manually route our daily orders. Thank you
Campaign API Error 2001
I'm getting a 2001 Error stating "Error in subscription. Please try after some time." I've waited but it continues to persist. I"ve copied and pasted the exact request on the API website yet that doesn't work either.
How to list Expenses that have not been matched to a Bank Transaction
In ZoHo books I use expenses to record invoices I receive. I know I should probably uses Bills for this but Bills was not available in the Free edition I initially used. When I upgraded I contunued to use Expenses. I'm trying to find a way of listing
How are you handing birthdays?
I'm deciding on the best way to handle contact birthdays in my set-up. None of the options seem ideal, so I am interested in how others approach this. The aim is to have a usable ui to track birthday without knowing or requiring the year. I'm currently
Fiverr is better than Zoho Partners
For anyone out there looking for help with Zoho Creator's confusing Deluge, I highly recommend hiring NON ZOHO PARTNERS on Fiverr. I've had much better experiences with those who are NOT certified by Zoho. Almost every single "certified" zoho partner
Marketing Automation pour maximiser le ROI : évaluer les performances et optimiser les campagnes
Le Marketing Automation a transformé la manière dont les entreprises mènent leurs actions marketing, offrant une solution efficace pour simplifier les processus, améliorer la productivité et, surtout, maximiser le ROI. Dans un environnement commercial
Spotlight series #25 - Create presentation outlines using Zoho Show's Chrome extension
Hello all, the feature in this month's spotlight is Zoho Show's Chrome extension. The first step to creating a good presentation is outlining your ideas—a crucial process that sets the foundation for everything that follows. But this often involves extensive
Will zoho thrive be integrated with Zoho Books?
title
Multi-line fields character limits
Is there a way to set the character limit higher on multi-line fields so that we are not losing information pasted into the field? When the text is entered or pasted, there is no error to say that the text is too large. After saving and going back to view most of the text is gone. Also, when viewing the resume, the text is not wrapped in the multi line fields and can t be read without scrolling across the page.
Workload Reports
Under Reports > Workload Reports, would it be possible to get Kanban view sorted by Task Owner? Seems like it'd be an easier/ quicker view of how many tasks are assigned to each user and what status they're at. Also gives you more information about the
attributed automatically database section
Hello everyone and happy holidays... here in zoho CRM, I created 3 bases: - Properties (House, apartment ...) - Transactions (Notaries, ...) - Real estate ads I want when the address is identical on these three bases, that in "Properties" the transactions
Custom Module I made shows the records I uploaded are there but they are not showing up.
Here's a screenshot of the module - It shows there are around 2000 records but it says that there aren't any. The module is viewable by administrators and I am on an administrator account so I am not sure why the records aren't showing. Any help would
Webform & spam
Hi, We set up 2 webform on our website, fowarding the content to Zoho CRM. Since it has been opened up, we are getting lot of spam message (for now about 20 a day). To lower the amount of false new leads we added the captcha field and new enquieries are send to the Approval Leads list. However we still get some spam. Is there any "anti spam" mechanism built in Zoho CRM, or how is the best way to avoid these kind of spam ? Thanks
Need Help with Journey in Zoho Marketing Automation
Hello everyone, I’m new to Zoho Marketing Automation and am trying to build a journey that triggers based on the contract end date of customers. My goal is to send them an email with an ebook one day before their contract ends. To achieve this, I used
Announcing Trident desktop app for Zoho Mail & Zoho Workplace users
Hello Community, I hope you are doing well and staying safe. As you know, our Mail & workplace teams have been constantly working on adding more value to our offerings to ensure you and your organization continue enjoying your Zoho experience. As part
Kudos to the Zoho Flow Team!
Hi Zoho Flow Team, Way to go on the new design—it looks fantastic! We especially love the festive touch with the Christmas decorations. It's a delightful and thoughtful addition that brings a bit of holiday cheer to the experience. Keep up the amazing
Website not found when trying to unlock Zoho vault with fingerprint(authenticator) in windows 11
Whenever I try to unlock the Zoho vault with fingerprint(authenticator) it shows the Website not found on the server. To replicate the issue follow the below steps: Download the zoho vault extension and login. And now open the zoho vault extension ->
Kaizen #170: FAQs on Notification APIs
Hello all!! Welcome back to another post in the Kaizen series! In this post, we will address the most frequently asked questions about Zoho CRM's Notification APIs from the Zoho CRM Developer Community Forum. Notification API This API allows you to subscribe
Extracting data from cells in zoho sheets for zoho books
I am currently uploading my bank statment in excel format to zoho workdrive. I would like flow to extract certain data and send it to zoho books. Would scripting in zoho flow be able to help me with this? By this I mean should I attempt this in zoho flow
Multiple templates (Settings > Email templates)
Hi Zoho, We would like to have more options to select a template when sending an email in Zohosign. Currently we can only add 1 template per option: Is this possible? Kind regards, Tristan
Next Page