Power of Automation :: Automatically send an email to the Deal owner based on Project completion percentage

Power of Automation :: Automatically send an email to the Deal owner based on Project completion percentage

Hello Everyone,

A custom function is a software code that can be used to automate a process and this allows you to automate a notification, call a webhook, or perform logic immediately after a workflow rule is triggered. This feature helps to automate complex tasks and calculations. 


Considering the following customer use case: 


Some customers want to automatically create a project when a deal is closed in Zoho CRM.


We've been given a particular request to establish an automation that sends an automated email to the Owner of the deal associated with the created Project at every 25% completion of the project.


The following code can fulfil this requirement. Create a connection with the scopes "ZohoProjects.clients.ALL, ZohoCRM.modules.ALL, ZohoProjects.projects.READ" to Replace ‘connectionprojects’ with the connection name. Click this link below to learn how to create the connection. Attached a screenshot of the Arguments.


endPointV3 = "https://projects.zoho.com/api/v3/portal/";

// scopes: ZohoProjects.clients.ALL, ZohoCRM.modules.ALL, ZohoProjects.projects.READ

projectsAPIEndPoint = "https://projectsapi.zoho.com";

module = "Deals";

projectDetail = invokeurl

[

url :projectsAPIEndPoint + "/api/v3/portal/" + portalId + "/projects/" + projectId + "/crm/" + module.toLowerCase()

type :GET

connection:"connectionprojects"

];

if(projectDetail.get("deals").size() > 0)

{

dealId = projectDetail.get("deals").get(0).get("id");

response = zoho.crm.getRecordById("Deals",dealId);

toMailId = response.get("Owner").get("email");

projectDetail = invokeurl

[

url :projectsAPIEndPoint + "/restapi/portal/" + portalId + "/projects/" + projectId + "/"

type :GET

connection:"connectionprojects"

];

projectPercent = getAllProjectResponse.get("projects").get(0).get("project_percent").toNumber();

percent = projectPercent % 25;

if(percent == 0)

{

sendmail

[

from :zoho.loginuserid

to :toMailId

subject :"Project is reached " + projectPercent +"% "

message :"message"

]

}

}

return "success";


Creating custom functions in Zoho Projects is straightforward and well-documented. Zoho provides a range of built-in functions that you can use as a starting point, and you can also easily define your own functions using Zoho's scripting language, Deluge. Give it a try and see how it can save your time and boost your productivity!