Zoho Sprints follows the agile project management process. The diagram below depicts an overview of the general hierarchy used in Zoho Sprints.
As a business user, you can create multiple teams if you run multiple firms. Depending on your firm's work, you can create subdivisions within each team as Projects, and within each project, you can further break work down into smaller items known as work items. These work items can be of various types, such as a story, a bug, or a task. Each work item can be assigned a priority of None, Low, Medium, or High, based on its urgency and importance. You can create work items and store them in your project backlog space, and the team can later move the top priority work items from the backlog to your sprint space based on business delivery needs.
With multiple phases involved in the agile life cycle management process, analysis is a significant part where the requirement is analyzed in order to proceed to the next implementation phase. For the demo example, let's look at how we can push a backlog item into Zoho Sprints in order to analyze the deal work and move it as a sprint work item when it's ready for implementation.
The Zoho Sprints REST APIs we added for our example are:
Connector API Name
Get Project Backlog
Get item types
Get Project priority types
: You can refer to this
post to see the detailed steps involved in creating a connector, adding the connector APIs, and associating it with the extension.
Obtaining the IDs required to invoke the CREATE ITEM API through a settings widget
In our example, a backlog item is created in Zoho Sprints inside a particular team's project backlog space. For the item to be created in the right location, it is necessary to pass the
required parameters (team ID, project ID, backlog ID, deal name, item type ID, project priority ID
) to the respective API
Here the "deal name" parameter is obtained by getting the record details of that particular deal using the getRecordById API.
Since the other required parameters are user specific, these values can be obtained from the user during extension installation and stored in CRM variables to be easily retrieved when required. Thus the variables 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 IDs and to set the values to the CRM variables.
Settings widget js code snippet - Please find the attachment for the js code snippet
Creating a workflow in the Deals module and associating a custom function to it:
Consider the following scenario: When a deal is moved to the Needs Analysis phase, a workflow is triggered that pushes the deal-related data as a backlog item into a specific team's project backlog space in Zoho Sprints. To accomplish this, let's create a workflow rule called Create work item using the Workflow feature under the Automate section of the Zoho Developer console, and then associate a custom function called Createitem to perform the desired action.
Createitem - custom function code
/*Fetching the description of the deal to be passed as the backlog item name while invoking the CREATE ITEM connector API */
response = zoho.crm.getRecordById("Deals",deal.get("Deals.ID").toLong());
Name = response.get("Deal_Name");
Name = zoho.encryption.urlEncode(Name);
Description = response.get("Description");
Description = zoho.encryption.urlEncode(Description);
dynamic_map = Map();
//Fetching the parameters required for the invoking the CREATE ITEM connector API
teamid = zoho.crm.getOrgVariable("testing70__Team");
projectid = zoho.crm.getOrgVariable("testing70__Project");
backlogid = zoho.crm.getOrgVariable("testing70__Backlog_Id");
itemtype = zoho.crm.getOrgVariable("testing70__Item_type");
priorityid = zoho.crm.getOrgVariable("testing70__Priority_Id");
//Mapping the parameters
/*Invoking the CREATE ITEM connector API to create a backlog item inside the respective team's project's backlog*/
resp = zoho.crm.invokeConnector("xxx.zohosprints.createitem",dynamic_map);
Now that the functionality is defined, the extension is published and installed in the Zoho CRM account using the private installation URL.
Once the extension is installed in CRM, the user can select their user-specific details through the settings widget and click the Update Values button to update those values to the CRM variables.
Now, the workflow will be automatically triggered when a deal stage is moved to the "Needs Analysis" phase.
A backlog item is created in the respective team's project backlog space inside Zoho Sprints as per the user specific values provided.
In this example, we have integrated Zoho CRM with Zoho Sprints to achieve an integrated functionality between two products. In a similar way, you can integrate Zoho CRM with other Zoho products to enable smooth functioning and efficient workflows.
We hope this guide to integrating your Zoho CRM account with Zoho Sprints was helpful. Keep following this space for more extension pointers.