Power of Automation:: Streamlining Task Status Synchronisation with Project status.

Power of Automation:: Streamlining Task Status Synchronisation with Project status.

Hello Everyone,


Here we are again thrilled to share another requirement that has been accomplished through the implementation of custom functions.

A Custom function is a user-written set of code to achieve a specific requirement. We should create a connection with required scopes. Following that, define criteria for workflow rules and link a custom function to those rules.

Requirement:-

Similar to the gallery custom function - Milestone Autocomplete, one of the customers would like to update the status of the project upon completion of all tasks within the project.

Using the below custom function code, we can automate the project status update once all the Tasks are closed. 


Custom function code:-

// TODO: Please create a connection for the Zoho Projects service with the scopes "ZohoProjects.tasks.READ, ZohoProjects.projects.UPDATE, ZohoProjects.projects.READ". Replace 'xxxxxxxxx' with the connection name. Click this link below to learn how to create the connection.

// Link - https://help.zoho.com/portal/en/kb/projects/integration/connections/articles/connections-23-5-2022#How_to_establish_a_Connection

// TODO : Replace the Project Status's name.
updateStatusName = "Completed";
projectsAPIEndPoint = "https://projectsapi.zoho.com/restapi";
taskParam = Map();
taskParam.put("status","notcompleted");
taskResponse = zoho.projects.getRecords(portalId,projectId,"tasks",taskParam,1,"xxxxxxxxx");
info "taskResponse:"+taskResponse;
info "------------------------------------";
// If no open tasks are found
if(taskResponse.isEmpty())
{
projectDetails = invokeurl
[
url :projectsAPIEndPoint + "/portal/" + portalId + "/projects/" + projectId + "/"
type :GET
connection:"xxxxxxxxxx"
];
info projectDetails;
info "-------------------------------------";

statusMap = Map();
if(projectDetails != null && projectDetails.get("projects") != null)
{
projectDetail = projectDetails.get("projects").get(0);
layoutDetails = projectDetail.get("layout_details");
projectLayoutId = layoutDetails.get("project").get("id");
info "projectLayoutId: " + projectLayoutId;
projectLayoutDetail = invokeurl
[
url :projectsAPIEndPoint + "/portal/" + portalId + "/module/projects/layouts/" + projectLayoutId + "/"
type :GET
connection:""
];
info projectLayoutDetail;
info "---------";
if(projectLayoutDetail != null && projectLayoutDetail.get("customstatus"))
{
projectStatus = projectLayoutDetail.get("customstatus");
for each  status in projectStatus
{
statusMap.put(status.get("status_name"),status.get("status_id"));
}
}
info "statusMap : " + statusMap;
info "------------------------";
if(statusMap.containKey(updateStatusName))
{
updateProjectParamMap = Map();
updateProjectParamMap.put("custom_status",statusMap.get(updateStatusName));
projectDetail = invokeurl
[
url :projectsAPIEndPoint + "/portal/" + portalId + "/projects/" + projectId + "/"
type :POST
parameters:updateProjectParamMap
connection:"
xxxxxxxxxx"
];
info projectDetail;
info "-------------------------------------";
}
}
}

Make sure to replace "xxxxxxxxxx" in the above code with the connection link name. Screenshot of the list of parameters to be mapped is attached for reference.

With the custom function code provided above, our customer effectively utilised Task custom functions in Zoho Projects 
which allowed them to automate Project status updates, reducing time consumption and in turn increasing their business productivity.

We hope you found this post useful. If you have any questions or wondering if your requirement could be met using custom functions, feel free to share them in the comments section below. 








                          Zoho Desk Resources

                          • Desk Community Learning Series


                          • Digest


                          • Functions


                          • Meetups


                          • Kbase


                          • Resources


                          • Glossary


                          • Desk Marketplace


                          • MVP Corner


                          • Word of the Day



                              Zoho Marketing Automation

                                      • Sticky Posts

                                      • Manage Documents with SharePoint Extension in Zoho Projects

                                        SharePoint is a digital platform to store and manage your documents. Multiple users can work on the same document simultaneously, which enhances your team's productivity. By installing the extension in Zoho Projects, users can access the documents seamlessly
                                      • Work agile in Zoho Projects! The much-awaited Zoho Sprints integration is in the making.

                                        Let your teams work in both classic and agile methodology using our integration with Zoho Sprints. We made sure you get the best of both worlds with this integration. You can scale through teams irrespective of what methodology they use and make sure they work with speed and flexibility. And, you can do it all from one place- Zoho Projects.  Why this integration is a benefit?  This integration mostly helps in managing classic and agile practices together. Most organizations use a mix of both classic
                                      • Announcing ZUG India Meet-ups - Interact with Zoho Projects & Sprints Experts in your city!

                                        Dear Users, We are happy to announce another round of Zoho Community User Meet-Ups in India. The initiative aims to bring together product users and experts to provide a platform where we can exchange ideas and share best practices. Our product teams
                                      • Issue Status Timeline in Zoho Projects

                                        Issue Status Timeline is a visual display of your issue's status updates. You can track the status of your issue by knowing when and who made the updates. Depending on your preference, these updates can be viewed either as a timeline or a list view. For
                                      • Introducing Projects 8.0 - Focusing on Ease-of-Use and New Features

                                        Hello everyone! It's time for the reveal of the 8th version of Zoho Projects! This year our focus has been on minimizing the learning curve and improving the ease-of-use of the tool, so anyone new to Projects can hit the ground running and existing users


                                      Manage your brands on social media



                                              Zoho TeamInbox Resources

                                                Zoho DataPrep Resources



                                                  Zoho CRM Plus Resources

                                                    Zoho Books Resources


                                                      Zoho Subscriptions Resources

                                                        Zoho Projects Resources


                                                          Zoho Sprints Resources


                                                            Qntrl Resources


                                                              Zoho Creator Resources


                                                                Zoho WorkDrive Resources



                                                                  Zoho Campaigns Resources

                                                                    Zoho CRM Resources

                                                                    • CRM Community Learning Series

                                                                      CRM Community Learning Series


                                                                    • Tips

                                                                      Tips

                                                                    • 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