Power of automation :: Automatically Update Sub Task Owner in Zoho Projects Using Custom Functions

Power of automation :: Automatically Update Sub Task Owner in Zoho Projects Using Custom Functions

Custom Function helps in populating the task fields automatically. If you have multiple default and custom fields in the tasks and it will be tough to enter the values manually. Also, this will be time consuming to update the values for multiple tasks across projects. We can avoid this manual process using the custom function.


Use Case ::


Let’s take the below scenario where one customer would like to auto update the owner of the sub tasks same as task owner. For example, David is the owner of the parent task then David should be owner for all the sub tasks under this task.


We have successfully accomplished this requirement via custom Functions. Here is the code.


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


task = invokeurl

[

url :APIEndPoint + "/portal/" + portalId + "/projects/" + projectId + "/tasks/" + taskId + "/"

type :Get

connection:”********”

];

isparent = task.get("tasks").get(0).get("isparent");

parentid = task.get("tasks").get(0).get("parent_task_id");

if(isparent != null)

{

parenttask = invokeurl

[

url :APIEndPoint + "/portal/" + portalId + "/projects/" + projectId + "/tasks/" + parentid + "/"

type :Get

connection:”*********”

];

m = "";

owners = parenttask.get("tasks").get(0).get("details").get("owners");

for each  owner in owners

{

id = owner.get("id");

m = m + id + ",";

}

param = Map();

param.put("person_responsible",m);

info param;

subtasksdetails = invokeurl

[

url :APIEndPoint + "/portal/" + portalId + "/projects/" + projectId + "/tasks/" + parentid + "/subtasks/"

type :GET

connection:”********

];

subtasks = subtasksdetails.getJSON("tasks");

for each subtask in subtasks

    {

     subtaskId = subtask.get("id");

 subtaskPost = invokeurl

[

url :APIEndPoint + "/portal/" + portalId + "/projects/" + projectId + "/tasks/" + subtaskId + "/"

type :Post

parameters:param

connection:”**********”

];

}

}

return "success";


Conclusion ::


By using custom functions in Zoho Projects, you can automate the task updates and save your time and effort. This custom function is just one example of how you can use custom functions. With a little bit of creativity, you can create custom functions that suit your specific project needs.


Watch this space for more custom function codes.