Extension pointers for integrating Zoho CRM with Zoho products #5: Manage your Zoho CRM project deals with agile methods by integrating Zoho Sprints

Extension pointers for integrating Zoho CRM with Zoho products #5: Manage your Zoho CRM project deals with agile methods by integrating Zoho Sprints

Sprints play a critical role in agile methodology as they involve breaking work down into smaller, deliverable, and implementable pieces to ensure smooth, frequent, and timely delivery.

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.

Creating a connector for Zoho Sprints and adding connector APIs:

Create a new connector in your extension for Zoho Sprints using the Connectors feature under Utilities in the left panel of the Zoho Developer console. 

Note: Zoho Sprints follows OAuth 2.0 protocols for authentication. You can see how to register Zoho products and retrieve your client credentials here.



The connector details for our example are:

Request Token URL
Access Token URL
Refresh Token URL
Scopes
ZohoSprints.teams.READ,ZohoSprints.projects.READ,ZohoSprints.sprints.READ,ZohoSprints.items.READ,ZohoSprints.items.CREATE&access_type=offline

Add the necessary connector APIs for your functionality. Please refer to the Zoho Sprints API guide for details. 



The Zoho Sprints REST APIs we added for our example are:


Note: 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
dynamic_map.put("teamid",teamid);
dynamic_map.put("projectid",projectid);
dynamic_map.put("backlogid",backlogid);
dynamic_map.put("dealdesc",Description);
dynamic_map.put("dealname",Name);
dynamic_map.put("itemtype",itemtype);
dynamic_map.put("priorityid",priorityid);
/*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);
info resp;

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.

The code snippets used in this forum post are available in the github link.

SEE ALSO


    • Sticky Posts

    • 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
    • Kaizen #152 - Client Script Support for the new Canvas Record Forms

      Hello everyone! Have you ever wanted to trigger actions on click of a canvas button, icon, or text mandatory forms in Create/Edit and Clone Pages? Have you ever wanted to control how elements behave on the new Canvas Record Forms? This can be achieved
    • Kaizen #142: How to Navigate to Another Page in Zoho CRM using Client Script

      Hello everyone! Welcome back to another exciting Kaizen post. In this post, let us see how you can you navigate to different Pages using Client Script. In this Kaizen post, Need to Navigate to different Pages Client Script ZDKs related to navigation A.
    • Kaizen #210 - Answering your Questions | Event Management System using ZDK CLI

      Hello Everyone, Welcome back to yet another post in the Kaizen Series! As you already may know, for the Kaizen #200 milestone, we asked for your feedback and many of you suggested topics for us to discuss. We have been writing on these topics over the
      • Recent Topics

      • Adding Taxes to paid consultations in Zoho Bookings

        I created a 'paid' consultation under Zoho Booking and integrated it with payment gateways for online/instant payment before a booking is done. How can I add 'taxes' to the price of consultation? I can add taxes to other Zoho apps (liks Books, Checkout,
      • Zoho CRM Reports Module on Mobil App

        I have the mobile app and the reports module doesn't appear in the sidebar for some reason. I saw a Youtube video where the user had the Reports module on mobile. Is there a setting to show it on mobile? Thanks.
      • Inquiry on Help Centre Tab Customisation

        Hi Zoho team, I’m wondering if it’s possible to further customise the Help Center tabs, specifically the descriptions under Knowledge Base, Community, and Tickets. While the current setup allows customising tab names, being able to tailor the descriptions
      • Passing a form object to a function

        Suppose I have a sort_order field in multiple tables and I want to increment it by +1 onCreate of a new record. Is there a way to pass the form object as an argument into the function to keep things DRY? The following function from Zia works, but I'd
      • Can you copy and paste a page within a form?

        I have been looking at trying to copy/duplicate a whole page within a form. I can't see how I can do this without having to add all the data in again. This is very time consuming. Any help would be great.
      • SMS to customers from within Bigin

        Hi All, Is there anyone else crying out for Bigin SMS capability to send an SMS to customers directly from the Bigin interface? We have inbuilt telephony already with call recordings which works well. What's lacking is the ability to send and receive
      • Unable to sort as Descending order

        Trying to change the sort order for a lookup field (checkboxes) from Ascending to Descending and keep getting an error in Deluge that the order must be Ascending Did anyone ran into this? Thanks Eyal
      • How do I copy an email message to one or more other folders?

        I can move a message to another folder using the "move to" option but I can't figure out how to copy a message. 
      • New feature request: Allow copy of email message to another folder

        Hello Zoho team, This is a suggested new feature to allow copy an email message to either another folder or the same folder. Within the same Zoho account. This is not a support request about "label". This is a suggested new feature to allow copies of
      • Hotmail is blocking the zoho mail IP

        Greetings, Since last Tuesday (5 days ago today) I wrote to Zoho support and I still haven't received a single response (Ticket ID: 2056917). Is this how you treat people who pay for your email service? I am making this public so that those who want to
      • Desk DMARC forwarding failure for some senders

        I am not receiving important emails into Desk, because of DMARC errors. Here's what's happening: 1. email is sent from customer e.g. john@doe.com, to my email address, e.g info@acme.com 2. email is delivered successfully to info@acme.com (a shared inbox
      • Creator Simplified #11: Create a custom button to download files

        Hey there! This time, let's see how to create custom buttons to download the files uploaded in the file upload field. Sample use-case A training app has a module that provides the materials for all the available courses. Students can click on the corresponding
      • Hide horizontal lines at bottom of form

        Hi I have a page with 3 forms embedded in html snippets. On each of the forms I can hide the submit button easily but I am left with the horizontal lines that bound that section and I cannot figure out to remove them (see below for the two sets of horizontal
      • Autosaving of Form Field

        HI can anyone suggest a way of autosaving or simulating an autosave function for a specific field in a form. The story is as follows. I have a bunch of technicians who write notes on how they do a repair. Sometimes they write for a couple of hours the troubleshooting process. If they click incorrectly, press ESC, Cancel or the browser crashes the information is lost which can be heartbreaking so my guys use notepad and then copy the information in. The only way around this is to click submit on the
      • Zoho Tracking Image location

        So we've been having an issue with tracking email opens. Specifically in Gmail. Our emails are not that long either, maybe 4 sections of image/250 characters of text/button per section.  But all my test accounts I used via Gmail we're showing opens. But then come to find out the tracking image is at the very bottom of the email. So If the message is clipped (It always just clips our social icons on the bottom) and the user doesn't click the show more button it never tracks the open.  Looking at other
      • AI Interview Insights: Turn Recorded Interviews into Quick Transcripts & Summaries

        Evaluating interviews shouldn’t require replaying long recordings or taking manual notes. With AI Interview Insights, you can now review complete transcripts and AI-generated summaries of your One-way (Recorded) interviews right inside Zoho Recruit. This
      • Employee Appraisal Applicability - Why is Date of Joining Hard-Coded?

        In the new (to me, at least) Performance Appraisal Cycle wizard, it's possible to set criteria to determine for whom the appraisal process should apply. This makes sense on its face. However, one MUST use the Date of Joining criterion as a filter. Why
      • Spotlight series #6: The Show app for Android TV has a new look!

        Hello everyone! We are delighted to introduce our revamped and redesigned Show app for Android TV.  Smart TVs are exploding in popularity. Android TV alone has over 110 million active monthly devices. Zoho Show, as part of a constant effort to improve
      • Ask the Experts 26: Brighten every customer interaction with Zoho Desk all year long

        Hello everyone, Greetings and welcome to Ask the Experts 26. As we wrap up 2025, we are excited to invite you to the 26th episode of our Ask the Expert series. 🎄The Merry Metrics Edition = Best of Zoho Desk [Best Practices + Holiday Automation + Year-End
      • Pricing calculator

        Alright, so I'm trying to create a pricing calculator/pricing report generator to use in a cabinet shop. I did all the logic and such, and the calculator works. I have a few other things that I would need it to be able to do though, I'll do my best to
      • Bug Details

        In the Bug detail the milestoneid is missing
      • Stop completed task lists from disappearing?

        Is there any way to stop projects from making tasks lists disappear when all the tasks in the list are completed? That's one of those little things where we're constantly fighting the product. For instance we have some projects which are ongoing - no start and end date. We use Kanban view to show the various task lists. We don't want the kanban list to disappear every time the items on it happen to be closed out. Thanks
      • Change of Blog Author

        Hi, I am creating the blog post on behalf of my colleague. When I publish the post, it is showing my name as author of the post which is not intended and needs to be changed to my colleague's name. How can I change the name of the author in the blogs?? Thanks, Ramanan
      • Allow customers to choose meeting venue and meeting duration on booking page

        My business primarily involves one-to-one meetings with my clients. Given the hybrid-work world we now find ourselves in, these meetings can take several forms (which I think of as the meeting "venue"): In-person Zoom Phone call I currently handle these
      • Booking outside of scheduled availability

        Is there a way for staff (such as the secretary) to book appointments outside of the scheduled availability? Right now to do this special hours must be set each time. There should be a quicker way. Am I missing something?
      • Operation Questions.

        Hello, I hope you are well. To explain a little, we are a company that sells services and products with a technical team responsible for installation and maintenance. Zoho FSM can be useful for the technical team, namely for the technical coordinator
      • Direct Access and Better Search for Zoho Quartz Recordings

        Hi Zoho Team, We would like to request a few enhancements to improve how Zoho Quartz recordings are accessed and managed after being submitted to Zoho Support. Current Limitation: After submitting a Quartz recording, the related Zoho Support ticket displays
      • Update date & time when a cell is edited

        Hi All, I am desiring to have a cell update with the current date and time when another cell is edited. Any ideas?  Thank you
      • Add "Groups" to "Share With" on Reports & All Entries

        Hi, On Forms we can share Publicly, with Specific Users And/Or Specific Groups or All Users. With Reports and All Entries we lack the "Groups" option, please add this as with many users this saves a lot of work. Thanks Dan
      • Add Pause / Resume Option to Zoho Quartz Recordings

        Hi Zoho Team, We would like to request an enhancement to Zoho Quartz recordings: the ability to pause and resume an ongoing recording. Current Limitation: At the moment, when recording an issue with Zoho Quartz, the recording continues even when we are
      • Custom Fields Not Showing Up in Invoice PDF Template Document Information

        I have added 2 custom fields under Sales > Invoices > Manage Custom Fields. They are set to show in all PDFs. However when I am editing my Invoice PDF template, i do not see the custom fields under Document Information.
      • Tracking Non-Inventory Items

        We have several business locations and currently use zoho inventory to track retail items (sales and purchase orders). We were hoping to use zoho inventory to track our non-inventory items as well (toilet paper, paper towels, etc). I understand that we
      • Can I use a Standalone CRM Function as the Callback URL For Async Export Data API?

        I am creating an export job using this API https://www.zoho.com/analytics/api/v2/bulk-api/export-data-async/create-export/view-id.html There is a "callbackUrl" key in the CONFIG object. I tried copying the URL for a standalone function in CRM which can
      • ZOHO Books

        Hi there, Why after I upgrade my Zoho invoice > Books then i wanted to add plugin which i cannot do. Please advise.
      • How is Your eCommerce Experience w/Zoho Inventory?

        First off, I'm SUPER grateful for the advent of Zoho Inventory and now the Zoho Commerce Suite. Overall, Inventory is a great product, especially for customers without an eCommerce presence. For eCommerce companies (especially those shipping more than ~10 packages/day), however, there are certain drawbacks that keep my clients from moving over to Zoho Inventory: Cons: 1. Invoice + Package Creation from Shopify/Other eCommerce Integrations: Zoho Inventory makes the somewhat perplexing decision to
      • Error AS101 when adding new email alias

        Hi, I am trying to add apple@(mydomain).com The error AS101 is shown while I try to add the alias.
      • Simplify Mass Replies with Predefined Templates and Snippets

        Hello everyone, We are happy to introduce a new enhancement to Mass Reply that helps agents respond to customers quickly and consistently. With the addition of Email Templates and Snippets in the reply window, agents can use predefined messages while
      • Mapping custom fields from one module to another

        I have a custom field, "Subscription Period" that appears as a required field in every Opportunity (Potential). I want that field to appear on any Quotes derived from that Opportunity (and have created a custom field of the same name in Quotes for that
      • Passing the CRM

        Hi, I am hoping someone can help. I have a zoho form that has a CRM lookup field. I was hoping to send this to my publicly to clients via a text message and the form then attaches the signed form back to the custom module. This work absolutely fine when
      • The Social Wall: November 2025

        We’re nearing the end of the year, and the holiday season is officially kicking in! It’s that time when sales peak and your social media game needs to be stronger than ever. We’re back with exciting new updates across AI, analytics, and the mobile app
      • Next Page