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

                                        • Share Captured Content as Work Items with Zoho Annotator for Zoho Projects

                                          Zoho Annotator is a free browser extension to annotate web pages and images. The extension allows users to: capture, annotate, and share visual content within Zoho Projects. create tasks, issues, or statuses with annotated images or videos as attachments
                                        • Auto-update the Successor Task Status.

                                          Hello folks! We have come up with a new use case for custom function to help you automate the workflow of your tasks. Users can write their own Custom Functions using deluge and call them from a workflow. Consider a scenario where the status of the successor
                                        • Collaborate Visually with Whiteboard in Zoho Projects

                                          Whiteboard in Zoho Projects allows you to collaborate visually by creating diagrams, annotating designs, and sketching project workflows using shapes, text, and images within project modules. Team members can work simultaneously, improving productivity
                                        • 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 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


                                        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