Extension Pointers for Integrating Zoho CRM with Zoho services #2: Handle and manage your Zoho CRM cases efficiently by integrating Zoho Projects and associating cases with tasks

Extension Pointers for Integrating Zoho CRM with Zoho services #2: Handle and manage your Zoho CRM cases efficiently by integrating Zoho Projects and associating cases with tasks

Integrating customer relationship management and project management contributes to the development of an overall effective business management strategy. 

You can integrate Zoho CRM and Zoho Projects through extensions to achieve your desired functionalities and manage your business from a single location. The previous post in the 'Integrating Zoho CRM with Zoho services' series described how to register your Zoho application and retrieve the client credential in order to connect Zoho CRM to the Zoho service of your choice through an extension. In this post, we'll look at how to integrate Zoho CRM with Zoho Projects, along with an example.

Let's consider a scenario in which support representatives handling cases in Zoho CRM need to forward cases that are registered as feature requests to the development team for further consideration and analysis. The representatives can create a task in Zoho projects with the necessary details from the Zoho CRM Cases module by clicking a button from within Zoho CRM. This will make the transition process easier and help to handle cases more efficiently. Now, let's see how this can be achieved using extension.

Creating a connector for Zoho Projects and adding connector APIs
  • Create a new connector in your extension for Zoho Projects using the Connectors feature under Utilities in the left panel of the Zoho Developer console. 
Note: Zoho Projects follows OAuth2.0 protocol for authentication mechanism. You can refer to this post to understand the steps to register Zoho Projects and retrieve your client credentials.


The connector details for our example are:

Request Token URL
https://accounts.zoho.com/oauth/v2/auth?scope=ZohoProjects.portals.READ,ZohoProjects.users.READ,ZohoProjects.tasks.CREATE,ZohoProjects.projects.READ,ZohoProjects.tasks.READ&access_type=offline
Access Token URL
https://accounts.zoho.com/oauth/v2/token?
Refresh Token URL
https://accounts.zoho.com/oauth/v2/token?
Scopes
ZohoProjects.portals.READ,ZohoProjects.users.READ,ZohoProjects.tasks.CREATE,ZohoProjects.projects.READ,ZohoProjects.tasks.READ


The Zoho Projects REST APIs added for our example are mentioned below.

Connector API Name
Method type
URL
Get Portals
GET
https://projectsapi.zoho.com/restapi/portals/
Get Project Users
GET
https://projectsapi.zoho.com/restapi/portal/${portalid}/projects/${projectid}/users/
Create task
POST
https://projectsapi.zoho.com/restapi/portal/${portalid}/projects/${projectid}/tasks/?name=${name}&description=${description}&priority=${priority}&person_responsible=${person_responsible}
Add comment for task
POST
https://projectsapi.zoho.com/restapi/portal/${portalid}/projects/${projectid}/tasks/${taskid}/comments/?content=${content}

Note: You can refer to this post to understand the detailed steps involved in creating a connector, adding the connector APIs, and associating it with the extension.

Creating a button in Cases module and associating the custom function to it
  • Create a button called "Create Task for Case" using the Links & Buttons feature available in the Componentssection of the Zoho Developer console, then associate a custom function to perform the desired action. 
Create Task for Case - Button function code

//Fetching the current record details and retrieving the necessary field information
response = zoho.crm.getRecordById("Cases",case.get("Cases.ID").toLong());
Name = response.get("Subject");
Name = zoho.encryption.urlEncode(Name);
Description = response.get("Description");
Description = zoho.encryption.urlEncode(Description);
Priority = response.get("Priority");
Comments = response.get("Internal_Comments");
Comments = zoho.encryption.urlEncode(Comments);
dynamic_map = Map();
/*Fetching the values for Portal ID and Project ID CRM variables which are obtained as part of the settings widget*/
portalid = zoho.crm.getOrgVariable("xxx__Portal_Id");//The api name of the CRM variable for Portal_Id
projectid = zoho.crm.getOrgVariable("xxx__Project_Id");//The api name of the CRM variable for Project_Id
dynamic_map.put("portalid",portalid);
dynamic_map.put("projectid",projectid);
//Invoking the connector API to retrieve the users present in the project 
resp1 = zoho.crm.invokeConnector("xxx.zohoprojects.getprojectusers",dynamic_map);
response1 = resp1.get("response");
users = response1.get("users");
rolelist = List();
/*retrieving the ID of the user with admin role in the project to be assigned as the person responsible for the task*/
for each value in users
{
if(value.get("role") == "admin")
{
id = value.get("zpuid");
}
}
dynamic_map = Map();
portalid = zoho.crm.getOrgVariable("xxx__Portal_Id");
projectid = zoho.crm.getOrgVariable("xxx__Project_Id");
dynamic_map.put("portalid",portalid);
dynamic_map.put("projectid",projectid);
dynamic_map.put("name",Name);
dynamic_map.put("description",Description);
dynamic_map.put("priority",Priority);
dynamic_map.put("person_responsible",id);
/*Invoking the connector API with the necessary parameters passed to create a project task */
resp = zoho.crm.invokeConnector("xxx.zohoprojects.createtask",dynamic_map);
response2 = resp.get("response");
tasks = response2.get("tasks");
//Retrieving the task id from the response of create task API
for each ids in tasks
{
id1 = ids.get("id");
}
dynamic_map = Map();
portalid = zoho.crm.getOrgVariable("xxx__Portal_Id");
projectid = zoho.crm.getOrgVariable("xxx__Project_Id");
dynamic_map.put("portalid",portalid);
dynamic_map.put("projectid",projectid);
dynamic_map.put("taskid",id1);
dynamic_map.put("content",Comments);
//Invoking the connector API to add a comment to the task 
response3= zoho.crm.invokeConnector("xxx.zohoprojects.addcommentfortask",dynamic_map);
caseinfo = {"Solution":url};
response4 = zoho.crm.updateRecord("Cases",case.get("Cases.ID").toLong(),caseinfo);
return resp;

Note: In our example, the project's administrator is assigned as the person responsible for the task that is to be created in Zoho Projects. We have considered that there is only one admin for a project, who can then assign the task to the appropriate developer.

Obtaining Portal ID and Project ID

According to our example, cases from Zoho CRM need to be associated as a task to a particular project in Zoho Projects. You can find in the above code that the variables Portal ID and Project ID (dynamic variables used in connector APIs) are used while invoking APIs. The values of these variables are specific to a user and thus these values can be obtained from the user during extension installation and stored in CRM variables to be easily retrieved when required.

The variables Portal ID and Project ID are created as CRM variables with the Variable Status as Hidden in the extension.Their values are obtained as follows:



Creating a Settings Widget: We have created a settings widget in our extension in order to retrieve the user-specific portal ID and project ID, and to set the values to the CRM variables.

Settings Widget js code snippet

Util={};
var portalidvalue;
var projectidvalue;
//Subscribe to the EmbeddedApp onPageLoad event before initializing the widget 
ZOHO.embeddedApp.on("PageLoad",function(data)
{
var data = {
}
//Invoking the connector API to get portals of the user and populate them in a select list
ZOHO.CRM.CONNECTOR.invokeAPI("testextensioncrm.zohoprojects.getportals",data)
.then(function(dataa){
response = dataa.response;
responsejson=JSON.parse(response);
portal=responsejson.portals;

for (i = 0; i < portal.length; i++) 
{
portalid=portal[i].id_string;
portalname=portal[i].name;
var portallist = document.getElementById("portallist");
var option = document.createElement("OPTION");
option.innerHTML = portalname;
option.value = portalid;
portallist.appendChild(option);
}
})

/*Fetching the projects associated to the portal selected on click of the "Get Projects" button*/
Util.getproject=function()
{
portalidvalue=document.getElementById("portallist").value;

var data = {

"portalid" : portalidvalue
}
/*Invoking the connector API to get projects of the user with respect to the portal chosen and populate them in a select list*/
ZOHO.CRM.CONNECTOR.invokeAPI("testextensioncrm.zohoprojects.getprojects",data)
.then(function(dataa){
response = dataa.response;
responsejson=JSON.parse(response);
project=responsejson.projects;
$('#projectlist').empty();
for (j = 0; j < project.length; j++) 
{
projectid=project[j].id_string;
projectname=project[j].name;
var projectlist = document.getElementById("projectlist");
var option = document.createElement("OPTION");
option.innerHTML = projectname;
option.value = projectid;
projectlist.appendChild(option);
}
})
}
/*Updating the values of the portal ID and project ID selected in the select list to the CRM variables*/
Util.getvalues=function()
{
portalidvalue=document.getElementById("portallist").value;
projectidvalue=document.getElementById("projectlist").value;
var variableMap = { "apiname": "testextensioncrm__Portal_Id", "value": portalidvalue};
ZOHO.CRM.CONNECTOR.invokeAPI("crm.set", variableMap);
var variableMap = { "apiname": "testextensioncrm__Project_Id", "value": projectidvalue};
ZOHO.CRM.CONNECTOR.invokeAPI("crm.set", variableMap);
});
});
}
})

Now that the functionality is defined, the extension is published and installed in Zoho CRM account using the private installation URL.


Sample output:

Upon installation of the extension, click the Settings button to go the Settings Widget page, then choose your portal and project where you want the task to be created.



Choose the portal of your choice, then click the Get Projects button to fetch the projects associated with that portal.



Next, click Update Values to set the chosen portal and project ID values to the CRM variables Portal_ID and Project_ID,respectively.



Go to the Cases module. A case of type feature request is present in Cases module.



Click the Create Task for Case button available in the view page of the case detail page.



The necessary details as per the code logic are fetched and created as a task in projects.



The detailed task details page with all the information fetched from the case in Zoho CRM Cases module.



Using this method, you can integrate Zoho CRM and Zoho Projects via an extension and perform functionalities as per your business requirements. We hope you find this information useful. Keep following this space for more inputs!


SEE ALSO



    Access your files securely from anywhere

        All-in-one knowledge management and training platform for your employees and customers.







                              Zoho Developer Community




                                                    • Desk Community Learning Series


                                                    • Digest


                                                    • Functions


                                                    • Meetups


                                                    • Kbase


                                                    • Resources


                                                    • Glossary


                                                    • Desk Marketplace


                                                    • MVP Corner


                                                    • Word of the Day


                                                    • Ask the Experts



                                                              • Sticky Posts

                                                              • Kaizen #198: Using Client Script for Custom Validation in Blueprint

                                                                Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                              • Kaizen #226: Using ZRC in Client Script

                                                                Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
                                                              • Kaizen #222 - Client Script Support for Notes Related List

                                                                Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
                                                              • Kaizen #217 - Actions APIs : Tasks

                                                                Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
                                                              • Kaizen #216 - Actions APIs : Email Notifications

                                                                Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are


                                                              Manage your brands on social media



                                                                    Zoho TeamInbox 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

                                                                                                Get Started. Write Away!

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

                                                                                                  Zoho CRM コンテンツ




                                                                                                    Nederlandse Hulpbronnen


                                                                                                        ご検討中の方




                                                                                                                • Recent Topics

                                                                                                                • Where is the desktop app for Zoho Projects???

                                                                                                                  As a project manager, I need a desktop app for the projects I manage. Yes, there's the web app, which is AWESOME for cross browser and platform compatibility... but I need a real desktop app for Projects that allow me to enter offline information where
                                                                                                                • CRM verify details pop-up

                                                                                                                  Was there a UI change recently that involves the Verify Details pop-up when changing the Stage of a Deal to certain things? I can't for the life of me find a workflow or function, blueprint, validation rule, layout rule ect that would randomly make it
                                                                                                                • Does Zoho Writer have Dropdowns

                                                                                                                  I want to add a drop down field in Zoho writer. Is this possible?
                                                                                                                • openUrl in blueprints

                                                                                                                  My customer wants to open a URL at the end of a blueprint transition. Seems this isn't possible right now but it would be very useful. In this thread, https://help.zoho.com/portal/en/community/topic/openurl-not-working the Zoho agent said that it's logically
                                                                                                                • Dropshipping Address - Does Not Show on Invoice Correctly

                                                                                                                  When a dropshipping address is used for a customer, the correct ship-to address does not seem to show on the Invoice. It shows correctly on the Sales Order, Shipment Order, and Package, just not the Invoice. This is a problem, because the company being
                                                                                                                • Prepayment of a sales order

                                                                                                                  How does everyone handle this common (at least it is common for us!) situation? We require all our orders to be fully prepaid before shipment since we manufacture made to order, custom products. Since ZOHO does not allow a sales order to be prepaid, we are forced to create an invoice at the time an order is placed to allow the customer to pay it. Our sales category is therefore skewed, since the sale was actually booked at the time an order was placed, rather then at the time it is shipped, which
                                                                                                                • Access to Specific Zoho Desk layout for external parties

                                                                                                                  Hi, We have a partner who handles for us sales requests from specific markets. He is not a Zoho Desk user. But we want him to b part of a specific Zoho Desk layout to handle inquiries.  How to achieve it in the easiest way possible?
                                                                                                                • Deposit on a Sales Order

                                                                                                                  Good day, 100% of my business is preorders, no inventory. I am trying to run away from QB for one of my businesses, but I require two options that I don't seem to find with Zoho Books. 1 - If there is a way to apply a deposit on a sales order, as with
                                                                                                                • How Does Knowledge Base Search and Article Recommendation Work?

                                                                                                                  Hello, I would like to understand how the Knowledge Base search engine works. Specifically, does it search based on: The article title only? The full article content? Both, the article and the content? Keywords? Tags? Also, how does the system determine
                                                                                                                • Bulk Delete Attachments

                                                                                                                  Is there a way to bulk delete attachments on the form entries? our storage is full and deleting files one by one is pain taking process.
                                                                                                                • How do I sync multiple Google calendars?

                                                                                                                  I'm brand new to Zoho and I figured out how to sync my business Google calendar but I would also like to sync my personal Google calendar. How can I do this so that, at the very least, when I have personal engagements like doctor's appointments, I can
                                                                                                                • Ability to Disable System Banner Messages in Chat Flow Control

                                                                                                                  Dear Zoho SalesIQ Team, Greetings, We would like to request an enhancement related to the system banner messages in Zoho SalesIQ chat flow control. Current Behavior: SalesIQ allows configuring various automatic banner/system messages such as: Waiting
                                                                                                                • Idle Chat Reminders for Agent-Handled Conversations

                                                                                                                  Dear Zoho SalesIQ Team, Greetings, We would like to request an enhancement to the Idle Chat Handling functionality in Zoho SalesIQ—specifically for chats that are handled by human agents after a bot-to-agent transfer. Current Behavior: In Zobot settings,
                                                                                                                • Snapchat

                                                                                                                  Are there any plans to add Snapchat to Zoho Social or is there any API that we can use to integrate into Zoho.
                                                                                                                • Zoho Sign "An unexpected error occured" when clients trying to sign documents

                                                                                                                  We are unable to have clients sign our documents. When attempting to complete the process an error appears saying "an unexpected error occured" and in the document history just shows "signing failure." We are at a complete standstill with no response
                                                                                                                • ¡Vuelven los Workshops Certificados de Zoho a España!

                                                                                                                  ¡Hola usuarios de Español Zoho Community! Hace ya unos días que hemos dado la bienvenida al 2026, y promete ser un año de lo más emocionante. Y es que nos gustaría haceros nuestro particular regalo de Reyes, aunque lleguemos un poco tarde. 🎁 ¡Nos gustaría
                                                                                                                • How to list services on quote instead of products

                                                                                                                  I need to create a customer facing estimate that displays our services. The default quote layout only allows products to be listed. Is there a way to correct this?
                                                                                                                • Syncing calendar with Google Calendar doesn't work when events are sent to auto repeat

                                                                                                                  Hi... The ZOHO CRM -- GOOGLE CALENDAR sync is broken. If I create a single event on either side, sync works, but if I create an event with auto repeat on either side it doesn't work. Furthermore, events created before the sync don't show up in the calendar.
                                                                                                                • Invoice status on write-off is "Paid" - how do I change this to "Written off"

                                                                                                                  HI guys, I want to write off a couple of outstanding invoices, but when I do this, the status of the invoices shows as "Paid". Clearly this is not the case and I need to be able to see that they are written off in the customer's history. Is there a way
                                                                                                                • Zoho Books - France

                                                                                                                  L’équipe de Zoho France reçoit régulièrement des questions sur la conformité de ses applications de finances (Zoho Books/ Zoho Invoice) pour le marché français. Voici quelques points pour clarifier la question : Zoho Books est un logiciel de comptabilité
                                                                                                                • Creating meetings from an email

                                                                                                                  Hi. Similar to Outlook, it would be helpful if a meeting can be scheduled from an email so that the attendees need not be manually entered every time it's created.
                                                                                                                • Please, make writer into a content creation tool

                                                                                                                  I'm tired of relying on Google Docs. I'm actually considering moving to ClickUp, but if Writer were a good content creation tool instead of just a word processor, I would finally be able to move all my development within the Zoho ecosystem, rather than
                                                                                                                • ZohoSalesIQ.Chat cannot send messages

                                                                                                                  Chat cannot send messages. Our app implements the customer service chat window functionality by integrating the Mobilisten SDK. Recently, we encountered an issue: after successful SDK initialization and visitor registration, when the `startWithQuestion`
                                                                                                                • Missed chats on WhatsApp closing after one minute

                                                                                                                  Hi, we have added WhatsApp as a channel. However, if a chat is not picked up within 2mins, the chat is marked as missed and is closed within a minute. Why are they not staying in our "missed" queue for 24 hours as per our WhatsApp preference settings?
                                                                                                                • Feature Request: Add Tax ID Display on Event Tickets

                                                                                                                  Hello Backstage Team, I’ve had several clients bring up an issue regarding tax compliance when creating events. For tax purposes, they are required to show their Tax ID on the event tickets. Currently, this isn’t an option, so they have to manually generate
                                                                                                                • Release Notes | January 2026

                                                                                                                  We have rolled out a set of powerful new enhancements across Zoho Vertical Studio that bring several long-awaited capabilities to your applications. These updates focus on deeper customization, smarter automation, better reporting, and improved usability
                                                                                                                • Email Alias: To keep emails flowing without disruption

                                                                                                                  Email Alias acts like a nickname for a user’s primary email address, allowing multiple email addresses to deliver messages into the same mailbox. Consider the scenario where an employee manages multiple responsibilities, such as responding to sales inquiries,
                                                                                                                • Archive Option in Conversation View

                                                                                                                  Hello, I have a suggestion\request to add an "Archive Thread" button in conversation view of Zoho Mail. The best suggestion I have is to put an "Archive Thread" button next to the "Label Entire Thread" button in conversation view. Most users don't just
                                                                                                                • Inventory "Bulk Actions" button - add more fields to "Bulk Update > Select a field"

                                                                                                                  Can we not get a lot more actions that are commonly used by customers into the "More Actions" button on the Inventory list? More fields listed in the Bulk Update > Select A Field? Possible Bulk update Fields Preferred Supplier ( to quickly move items
                                                                                                                • Bulk upload image option in Zoho Commerce

                                                                                                                  I dont know if I am not looking into it properly but is there no option to bulk upload images along with the products? Like after you upload the products, I will have to upload images one by one again? Can someone help me out here? And what should I enter
                                                                                                                • Function #11: Apply unused credits automatically to invoices

                                                                                                                  Today, we bring you a custom function that automatically applies unused credits from excess payments, credit notes, and retainer payments to an invoice when it is created. Prerequisites: Create a Connection named "zbooks" to successfully execute the function.
                                                                                                                • Tip #60- Exploring Technician Console: Screen Resolution- 'Insider Insights'

                                                                                                                  Hello Zoho Assist Community! Have you ever started a remote session and felt the screen quality wasn’t sharp enough for detailed work? A new user recently explored Zoho Assist after installing the trial version and running a few initial tests. While the
                                                                                                                • Right Moment, Right Message, Right Operator: Never Miss a High-Intent Lead

                                                                                                                  Ever been on a website or app, thinking “Should I buy this or not?” and suddenly a friendly message “Hi! How can I help you?” pops up at the perfect moment? That’s not luck. That’s timing done right. Engaging right visitors at the right moment, with the
                                                                                                                • CRM x WorkDrive: We're rolling out the WorkDrive-powered file storage experience for existing users

                                                                                                                  Release plan: Gradual rollout to customers without file storage add-ons, in this order: 1. Standalone CRM 2. CRM Plus and Zoho One DCs: All | Editions: All Available now for: - Standalone CRM accounts in Free and Standard editions without file storage
                                                                                                                • Zoho CRM Workflow Automation: Activate & Deactivate Workflows Using API

                                                                                                                  Zoho has now enabled: ✅ Activate / Deactivate workflows using API ✅ Schedule workflow activation & deactivation This is extremely useful for real-world automation use cases 💡 🧩 My Use Case I created a scheduled automation that: ☀️ Activates workflows
                                                                                                                • {Action Required} Re-authenticate your Google Accounts to Continue Data Sync

                                                                                                                  Hello Users! To align with Google’s latest updates on how apps access files in Google Drive, we’ve enhanced our integration to comply with the updated security and privacy standards, ensuring safer and more reliable access to your data. With this update,
                                                                                                                • Function #53: Transaction Level Profitability for Invoices

                                                                                                                  Hello everyone, and welcome back to our series! We have previously provided custom functions for calculating the profitability of a quote and a sales order. There may be instances where the invoice may differ from its corresponding quote or sales order.
                                                                                                                • Project-Based Inventory Consumption and Proforma Invoice in Zoho ERP

                                                                                                                  While working with customers across different industries, we have identified a few functional questions and gaps that commonly arise—especially for project-based and service-oriented businesses. Many organizations, such as those in shipping, construction,
                                                                                                                • [Free Webinar] Zoho RPA - OCR, PDF Automation, & More

                                                                                                                  Hello Everyone! Greetings from the Zoho RPA Training Team! We’re excited to invite you to our upcoming webinar on the latest release updates for Zoho RPA, where we’ll unveil powerful new capabilities designed to make your automation journey smarter, faster,
                                                                                                                • Zobot Execution Logs & Run History (Similar to Zoho Flow)

                                                                                                                  Dear Zoho SalesIQ Team, We would like to request an enhancement for Zoho SalesIQ Zobot: adding an execution log / run history, similar to what already exists in Zoho Flow. Reference: Zoho Flow In Zoho Flow, every execution is recorded in the History tab,
                                                                                                                • Next Page