Discover the benefits of using widgets!
We explored the significance of widgets, prerequisites, and the availability of JS SDK methods as part of our previous post. In this post, let's go over a detailed example of using widgets along with certain Zoho Projects JS SDK methods.
Use case: A developer is working on a Zoho Projects task and wants to know if there are any existing references that could be used to get a head start on their work.
Goal: Our goal here is to simplify the developer's job by presenting them with articles that are relevant to the task at hand.
Solution: Widgets! To achieve this goal, it would be ideal for the developer to have access to relevant Zoho Desk articles from a tab on the Task Details page. This can be accomplished by developing a custom widget.
Required components:
- A connection between Zoho Projects and Zoho Desk.
- An extension configuration process that includes:
A. Creating an extension
B. Configuring the plugin manifest
C. Setting up the widget code to display the Zoho Desk articles on the Zoho Projects Task Details tab
1. Connection
We have created a connection to establish a secure integration between Zoho Projects and Zoho Desk.
2. Extension Configuration
A. Extension creation: We have created a new extension for Zoho Projects.
B. Plugin-manifest.json configuration: Once the extension is created, we next configure the plugin-manifest.json file to include the created connection and a widget.
For our extension use case, the plugin-manifest.json file is configured as shown in the below screenshot.
C. Setting up the widget code:
Now that we have the connection established, the extension created, and the plugin-manifest.json configured, let's go ahead and set up the custom widget code to achieve our goal.
Index.html - Widget code
<!DOCTYPE html>
<html>
<head>
<title>App Default Screen</title>
<style>
div.a {
line-height: 200%;
}
</style>
</head>
<body>
<div class="a">
<ul id="demo" style="font-size:20px"> <b>Article Details</b></ul>
</div>
</body>
<script>
var subject = "";
Util = {};
zohoprojects.init().then(function() {
//Fetching the task subject using the Zoho Projects JS SDK method
zohoprojects.get("task.name").then(function(response) {
subject = response.data;
var articledetails = {
type: "GET",
headers: {
"orgId": "xxxxxxx",
"Content-Type": "application/json"
}
};
//Using the request JS SDK method to invoke and get the Desk articles matching the task subject
using the connection
zohoprojects.request(url, articledetails, "zohodeskforlistingarticles").then(function(response) {
var list = document.getElementById('demo');
var a = document.createElement("a");
var result = response.result;
var data = result.data;
//Looping through the articles
for (i = 0; i < data.length; i++) {
var title = data[i].title;
var author = data[i].author;
var authorname = author.name;
var weburl = data[i].webUrl;
var entry = document.createElement('li');
entry.innerHTML = title.link(weburl) + " by " + authorname;
list.appendChild(entry);
}
});
});
});
</script>
</html> |
- Here, we utilized the Zoho Projects JS SDK method to extract the task name, which is the task subject.
- We then used the Zoho Projects Request method to invoke the Zoho Desk API to search for articles.
- The Request method is used to make requests to third-party applications. It must be invoked with the belowparameters:
- Third-party API URL: This is the URL of the third-party application's API that needs to be invoked. In our case, we need to fetch articles from Zoho Desk based on a search value, so we used the Zoho Desk Articles Search API. We've included a search query parameter in the API as the title of the help article (wildcard search), and we've set the value of the search query parameter (title) as the task's subject. As a result, the API will look for any Zoho Desk help articles that satisfy a wildcard match with the task subject.
- Data object: Depending on the type of action being performed, each API requires a method type, body, header, and/or parameters to be invoked. To invoke the third-party application API, a data object with the necessary API details must be created. In our scenario, a header providing the Zoho Desk org ID is required to call the Zoho Desk article search API, which we have hardcoded.
- Connection: To work on the data of a third-party application safely, we would need to connect to that application. The link name of the connection created for the third-party application is the value of the connection parameter. This value will be available in the JSON code generated when the third-party application connection is established. This connection allows you to invoke the Zoho Desk API securely.
- Once the API is invoked by providing the necessary parameters for the Request method, the response for the invoked Zoho Desk search articles API is returned. We extract the information we require from the response, like the title, author name, and web URL. We then list and display this data in the Zoho Projects task details widget, Related Articles.
Sample output
- Access your Zoho Projects portal and enter into a task.
- Choose the Related Articles task tab, which is the widget we created.
- The widget displays the available Zoho Desk articles that are related to the task at hand.
- Finally, click on an article to view its detailed information in Zoho Desk.
Using this method, developers working on Zoho Projects tasks can discover relevant articles and get helpful information to troubleshoot problems.
You can further enhance this use case by including a text box in the widget that allows the developer to enter a keyword and search for related articles using the Zoho Desk search articles API.
You can also accomplish use cases such as creating a task tab widget to associate data with a task. Every time the task loads, task-specific data can be displayed on the Task tab. To accomplish these kind of use cases, the data storage feature is available in Zoho Projects. We look forward to exploring the data storage feature,, and other use cases for custom widgets, in future posts.
We hope you found this information useful. Follow this space for further updates!
Sign up for a Zoho Developer account and start developing extensions for Zoho products using Sigma.
SEE ALSO
Recent Topics
Cannot See Available Deal States in Zoho Blueprint
I am trying to create a blueprint to manage our sales pipeline and ensure data accuracy at each stage. I have already created a similar blueprint for handling leads. However, when I attempt to create the 'Deal Management' blueprint, the different stages
Is there a CRM Deluge function available to convert an RTF (rich text field) to plain text (with no formatting tags)?
I know that we can run reports so that RTF fields can either show as plain text or the text or the text with the formatting fields included (which is wonderful, btw, as it helps me adjust tags when I need to troubleshoot and just see what I need to see
Como conectar a API de Conversões da Meta com a Zoho (Analytics, CRM e SalesIQ)?
Não estou conseguindo saber de quais anúncios são os leads que chegam pelo SalesIQ e nem como retornar a informação pra Meta dos leads que tiveram conversão em venda.
IMAP Migration — Map Sent Items to Sent....
Here's a common problem. The Sent folder on the other email service is called Sent Items. Rather than put those into the Sent folder on migration, it creates a separate folder. Is there any way I can have this done as part of the migration process. One of the Sent Items on an account I expect to migrate shortly has 25,000 messages. Manually moving them would be time-consuming and work against the migration feature. Solutions? Peace, Gene Steinberg
Tips & Tricks Series - #3 Setting question weights in quiz questions
Hello everyone! Welcome back to our Tips & Tricks series, where we share useful features and best practices to help you get the most out of Zoho Learn. Today, we’ll be looking at question weights in quizzes. Not all questions in a quiz need to carry the
TimeBro/Memtime Time Tracking Import Errors
Our staff use Memtime (formerly TimeBro) to track working time, and we have the Zoho Projects integration installed, so that the entries are mapped to Projects/Tasks/Issues automatically. Today, we've started getting the following error when attempting
Zoho Visual Editor Not Opening
Hello There I am trying to build a website using zoho and I can't open the visual editor. It keep saying Loading... Do you know why it is happening. Thanks in Advance Regards Rajat
Automate Backups
This is a feature request. Consider adding an auto backup feature. Where when you turn it on, it will auto backup on the 15-day schedule. For additional consideration, allow for the export of module data via API calls. Thank you for your consideration.
Tip #85 – Never Lose Track of What Happened in a Session with Session Recording – 'Insider Insights'
Tip #85 – Never Lose Track of What Happened in a Session with Session Recording – 'Insider Insights' Hello Zoho Assist Community! A technician wraps up a complex remote session. The issue is fixed, the customer is happy, and everyone moves on. But three
LinkedIn RSC is now live in Zoho Recruit
LinkedIn Recruiter System Connect (RSC) is here. Your Zoho Recruit data (candidates, jobs, notes, stage updates, resume attachments, and more) now syncs with LinkedIn in real time. Note: LinkedIn RSC is included with your LinkedIn Recruiter Corporate
Cross Module Filtering – Use Fields from Lookup modules in Custom Views criteria and Advanced Filters
Hello everyone, Zoho CRM now enables you to achieve deeper filtering of records in a module, using fields of a lookup, thereby enhancing your data management experience manifold. This filtering based on lookup module fields is now available in advanced
Turn off workflow Applied pop-up
hi We are new to Desk. I have a rule to set to "waiting for customer" when agent sends reply. This comes up every time. How to i turn off? Or am i seeing as admin.
Make your IM workflows smarter: Automate sessions and personalize responses
There are two simple ways to make IM workflows more efficient: automate how sessions are handled and personalize how agents communicate. Here's a look at both. 1. Automate IM session updates with the API The Update an IM Session API lets you update session
Discover related products for contacts and companies with new topping
Greetings! We hope you're all doing well. We've heard your request for an easier way to view products associated with a contact or company—without having to open and go through every deal individually. To help you achieve this, we're happy to introduce
What’s New in IM: Shared Phone Number and 1,000 Templates
Instant Messaging continues to evolve in Zoho Desk, giving teams more flexibility in how they manage WhatsApp conversations and messaging workflows. Here are two capabilities worth exploring. 1. Manage WhatsApp conversations across Zoho services using
Cliq iOS can't see shared screen
Hello, I had this morning a video call with a colleague. She is using Cliq Desktop MacOS and wanted to share her screen with me. I'm on iPad. I noticed, while she shared her screen, I could only see her video, but not the shared screen... Does Cliq iOS is able to display shared screen, or is it somewhere else to be found ? Regards
CLIENT PORTAL (If clients can place orders directly on the portal)
Zoho client portal is excellent. Everything is there except one thing. Client should be able to place orders directly on the portal. This would enhance the portal and end users will be extremely happy. This suggestion infact came from one of our client.
Exceed Limit Execution
Hi Everyone, I begin to encounter some execution limit hit, The 1st part wherein when a record was being submitted, it checks and patch existing rows (Site Asset Services) matching the submitted row (PMS form) error: row1.Serial_N=Final_Rec.AV_Serial_N;
[For info] As CRM administrators its important to be aware that potentially sensitive business logic & operational parameters are available via unauthenticated URLs
There are a collection of files within Zoho CRM that COULD contain potentially sensitive commercial parameters and logic in them, and that can be accessed without authentication. This includes the CRM Data Model, Custom Picklist values, Custom Role /
WhatsApp Calling Integration via Zoho Desk
Dear Zoho Desk Team, I would like to request a feature that allows users to call WhatsApp numbers directly via Zoho Desk. This integration would enable sending and receiving calls to and from WhatsApp numbers over the internet, without the need for traditional
View Products (items) in Contact and Company
Hi, I would like to know if there is an option to view all the products /(items) that were inserted in the pipeline deal stage for exemple "Win Pipeline" within the company and contacts module section? For instance, view with the option filter for the
zoho desk
Hello, Did Zoho Desk have any issues today? Are tickets coming in late? I have an email account linked, and messages seem to be arriving with a delay—some email threads aren't coming through completely, and so on.
Transform your line of items into line items: ICR can now record your table values as subform values
Enhancement in Zoho CRM Dear Customers, We hope you're well! Zia Vision’s ICR capability can now recognize, extract, and store tabulated values in your subforms. An ideal example is a university application form. It has printed fields and handwritten
Minor enhancements in Zoho CRM Dashboards: drill-down for Funnels, flexible Duration settings, and more
Dashboards in Zoho CRM help you visualize data across modules, track performance, and make informed decisions. Components like charts, KPIs, and funnels bring together key metrics in a single view, making it easier to spot trends and take action. Over
Get a realistic picture of your revenue with Forecast Adjustments in Zoho CRM
#crm25q1 Dear Customers, We hope you're doing well! Today, we're here with an important enhancement for business decision makers: forecast adjustments. Let's get straight to it! With technology on the rise and CX at its core, businesses are constantly
Three new ways to manage Instant Messaging in Zoho Desk
Managing IM conversations isn't just about responding to customers. It's also about getting each conversation to the right team. Here are three updates in Zoho Desk that can help with exactly that. 1. Transfer IM tickets across departments Sometimes a
Ask the Experts 32: Managing Privacy, Security, and Data Administration in Zoho Desk
Hello everyone, As organizations increasingly rely on AI, machine learning, and automation, there are pressing questions around privacy, security, and data governance. Every customer interaction involves sensitive business information, whether it's troubleshooting
Zoho Cliq 7.0: Built for Uninterrupted Work
Work today moves fast, but follow-ups, meetings, and coordination still get messy more than we often like to admit. Zoho Cliq 7.0 is all about making everyday work feel a little lighter—better collaboration, smoother workflows, more helpful assistance,
Zoho CRM Functions: Redesigned Interface, Rich Analytics, and Multi-Language Support
Hello everyone! We have given Functions in Zoho CRM a major overhaul with a new interface that makes it easier to build, organize, monitor, and troubleshoot your functions throughout their lifecycle. As part of this revamp, we have also introduced a unified
Native SMS and MMS Channel Support
89% of US consumers say they prefer to communicate with businesses via SMS / MMS (aka "texting"). (link) Unfortunately, Zoho Desk does not currently support the most popular channel for consumer communications in the United States. For those of us in
Smarter holiday planning with yearly-specific Holiday Lists
Hello everyone! Managing holidays and business hours is now easier and more efficient. Holiday Lists now support holidays that fall on different dates every year, while business hours now supports more than one holiday list. This helps businesses manage
Api de conversão da Meta
Como conectar a Zoho com a api de conversão do Meta Ads?
Collapsible Sections & Section Navigation Needed
The flexibility of Zoho CRM has expanded greatly in the last few years, to the point that a leads module is now permissible to contain up to 350 fields. We don't use that many, but we are using 168 fields which are broken apart into 18 different sections.
Side-panel “Quick Preview & Edit” for Deals and Tasks (Web)
Hi all, I’d like to submit a feature request to improve record navigation and data entry speed in Zoho CRM. NOTE: This feature exists on Pipedrive, HubSpot, and Bigin by Zoho. Requested Feature: Add a side-panel / slide-in “quick preview” for records
Why can't we choose Fixed Asset account for Purchased Items? (eTims issue?)
Hello, When the company purchase items not for sale and not supposed to be in the inventory stock, like equipment for operational use, there is no way to access the Fixed Asset accounts in the drop down list. Is that an eTims limitation again? Or something
"Track Inventory for this item" is forced checked by default for goods items (eTims issue?)
Hello, Since connecting our Zoho books to eTims (Kenya) the "Track Inventory for this item" is forced checked by default (eTims issue?) in the Item creation page for any type of goods. So when purchasing anything that the company does not intend to sale,
Can you import projects into Zoho Projects yet?
I see some very old posts asking about importing project records into Zoho Projects. But I can't find anything up to date about the topic. Has this functionality been added? Importing tasks is helpful. But we do have a project where importing projects
reset password
Hi I need to reset my password and need help
Is it possible to set a value to a field based on certain conditions
Greetings Say i have a field that i want to set its value based on the value of another field.. for example if "number" field has value greater than 10, i want to set my field's value to X. Or if radio group had option 1 selected, then i want to set my
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
Next Page