Power of Automation :: Implementing Deadline-Based Task Scoring with Custom Fields

Power of Automation :: Implementing Deadline-Based Task Scoring with Custom Fields

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. 


Requirement:- 


Implement a task scoring system based on task completion dates.

A custom field named ‘Scoring’ has been created within the Tasks module and it will be used to store the calculated score.

The following explains the logic:

If a task is completed on or before its due date, it should be assigned a score of 100.

For every 3-day delay beyond the due date, 30 points should be deducted from the score.

Here is an example for better understanding.

3 days late → Score: 70

6 days late → Score: 40

9 days late → Score: 10

10+ days late → Score: 0 (minimum score threshold if needed)

This can be accomplished using the features Custom Functions & Workflow Rules. Create a connection using the scopes “ZohoProjects.portals.ALL, ZohoProjects.tasks.ALL" and update the connection name ‘connectionprojects’ in the below code. Find the attached screenshots of the Arguments & Workflow.

Here is the code ::
endPoint = "https://projectsapi.zoho.com/restapi/portal/";
updateTaskParameter = Map();
if(completedDate != null && dueDate != null)
{
delayFieldName = "Score";
daysDiff = daysBetween(toDate(toString(dueDate,format)),toDate(toString(completedDate,format)));
if(daysDiff <= 0)
{
score = 100;
}
if(daysDiff > 0 && daysDiff <= 3)
{
score = 70;
}
if(daysDiff > 3 && daysDiff <= 6)
{
score = 40;
}
if(daysDiff > 6 && daysDiff <= 9)
{
score = 10;
}
if(daysDiff > 9)
{
score = 0;
}
// Get task layout details
taskLayoutDetailsResponse = invokeurl
[
url :endPoint + portalId + "/projects/" + projectId + "/tasklayouts"
type :GET
connection:"connectionprojects"
];
sectionDetails = taskLayoutDetailsResponse.get("section_details");
for each  section in sectionDetails
{
customFieldDetails = section.get("customfield_details");
for each  customFieldDetail in customFieldDetails
{
if(customFieldDetail.get("display_name").containsIgnoreCase(delayFieldName))
{
delayFieldId = customFieldDetail.get("column_name");
break;
}
}
}
updateTaskParameter.put("custom_fields",{delayFieldId:score});
updateTaskResponse = zoho.projects.update(portalId,projectId,"tasks",taskId,updateTaskParameter,"connectionprojects");
}
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!

 

Watch this space for more such custom function codes. 

    • Sticky Posts

    • Schedule Exports for Regular Project Updates

      Tracking project data often means exporting data at regular intervals. Instead of manually exporting data every time, users can schedule exports for Phases, Tasks, and Tasks in Zoho Projects. These exports can be set to run once, daily, weekly, or monthly
    • Set Custom Business Calendars and Holidays for Global Teams

      Managing a project across diverse teams means accounting for more than just tasks and deadlines; it means acknowledging how and when each team actually works. Users might follow different working days or observe region-specific holidays that cannot be
    • Introducing Version-3 APIs - Explore New APIs & Enhancements

      Happy to announce the release of Version 3 (V3) APIs with an easy to use interface, new APIs, and more examples to help you understand and access the APIs better. V3 APIs can be accessed through our new link, where you can explore our complete documentation,
    • Restore Trashed Records Anytime Within 30 Days

      Access the recycle bin from the Data Administration tab under the settings page in Zoho Projects, which gives better control over the trashed data. When records like projects, phases, task lists, tasks, issues, or project templates are trashed, they are
    • Organize and Clone Task Custom Views

      We have rolled out two new enhancements to task custom views: Custom View Groups and Custom View Clone. Custom View Groups Similar to predefined view groups, we have introduced groups for custom views to help organize and categorize them. My Custom Views:
    • Recent Topics

    • i keep see there is a connetion issue connecting 3rd party api on zoho when using zia

      hi there , i have set up open ai api to zoho zia (copied and pasted to zoho zia) but I keep getting notificaiton "there is a connetion issue connecting 3rd party api on zoho" when using zia on top when click zia and try to type in word there
    • IPv6 MX Support in 2025

      There are multiple discussion on this community on IPv6 adjacent issues though the most pressing issue for IPv6 support is not solved yet the support team seems to not understand what is the issue and is steering the conversation to the wrong and misleading
    • Zoho Books Quote - Client cannot accept quote

      We are using the Zoho One plan and some of our clients have reported that they cannot accept the quote when we select their email at the bottom to send the quote to. When trying to accept, the quote prompts a message saying "You are not allowed to accept
    • Reckon Accounts Hosted to Zoho Finance

      Hi Everyone I want to transition from Reckon Accounts Hosted to Zoho Finance, as I have numerous other tasks in Zoho One, and it seems logical to make the move. (Reckon has a QuickBooks back end & is hosted on Assure now, think) I would really like to
    • Flex Your Creativity – A New component to Canvas in Zoho CRM

      Hello Everyone We’re excited to introduce Flex, a new component for Canvas in Zoho CRM! Flex is here to give you greater control over how your data is displayed in your layouts. This component enables responsive layouts that adapt across different screen
    • Vendor Assignment issue for staff in User Roales

      there is a limitation in software that we can't assing Vendors to our staff - we can only assign Customers on staff wise!! There is a limitation of this software that in case i want to assign limited vendors to my staff - it's not possible. Either i will
    • Zoho Desk Community Portal Not Displaying Custom Styling Correctly

      Hi Zoho Community, I’m struggling to get a custom community portal in Zoho Desk to display my branding and styling correctly, and I’d love some help troubleshooting this for a client’s support portal. Details: Setup: Zoho Desk (Professional plan, latest
    • Remove or hide default views

      I'm looking to only have the views pertinent to my organization. Is there a way to show only my custom views (or separate them to a different area or something)? If not, this should be a feature as switching from Zendesk we had this option...
    • Wie kann ich einen Nutzer löschen?

      Wir haben Zoho one. Es handelt sich um einen ehemaligen Mitarbeiter.
    • Function #46: Auto generate list of lapsed customers using Custom Button

      Hello everyone, and welcome back to our series! Customer retention is one of the key factors that impact the long-term success and sustainability of a business. High customer retention rates indicate satisfied customers, quality products or services,
    • Before Going To The Qc stage , site ready ness file upload mandtoty how to achive this in the blue print transition

      Before Going To The Qc stage , site ready ness file upload mandtoty how to achive this in the blue print transition Is it possible on click of the predelivery Transition show the alert message if site ready ness file upload empty also not move the stage
    • Announcing new features in Trident for Windows (v.1.28.5.0)

      Hello Community, Trident for Windows is here with exciting new features to help you stay productive and make collaboration simpler. Let’s dive into what’s new! Slash commands are now supported in the Cliq module. You can now use slash commands from the
    • Convert time to string and remove second

      Hello everyone, I have a question that I can't figure out on my own. How to convert time into string (singleline) and remove second. Like HH:mm. If I convert it as below, the result becomes null. Thank you very much. input.Time.tostring("HH:mm") result:
    • Has anyone imported items and included the storage bin?

      We have a large amount of Inventory Items. We would like to import these into Zoho Inventory but while we can import the majority of data, the storage bin refuses to map. Has anyone successfully imported the data and mapped the bin?
    • Terms & Conditions add a rule.

      Hi I'd like to format my T&C's to auto format a Deposit amount based on the Total. "Quotation is valid for 7 days from the date of issue. A 75% deposit ( R .00 )is required to confirm the booking. The remaining balance ( R .00)is due upon project completion.
    • Zoho Inventory Feature Roadmap Visible To All

      Hello, please consider making your feature roadmap visible to us users so that we know what to expect in future. This may appease current users who are seeking clarification on feature implementation dates, so that they can make an informed decision whether
    • send file to ftp or another external service

      i'v created a zoho creator application for take a picture and rename it by phone. Now i need to send Each renamed pictures to my ftp or to specific folder on google drive...then, delete it from creator. (every picture recived it will processed by another program and stored on my Erp) HOW CAN I DO ??
    • Feature Request - Improved booking layouts, specifically for individual booking links

      I would like to see more layout options and specifically to have the meeting description beside the calendar booking function, when sharing booking links to specific consultations/meetings. Below is a screenshot from Calendly. I love this layout and it
    • Set Conditional and Dependent Rules for Issues in Zoho Projects

      An Issue Layout is a customizable form to add and update information about a specific issue. The fields in the issue layout can be changed dynamically based on user requirement using the issue layout rules. Consider a scenario where an electrical fluctuation
    • Accounting on the Go Series-56: e-Way Bill Module in the Mobile App – A Handy Solution for Indian Businesses

      Hello everyone, Managing e-Way bills just got more convenient with the Zoho Books mobile app! For businesses operating under the GST regime, e-Way bills are essential for tracking the movement of goods. Previously, you had to log in to the web app to
    • Copying records from a Custom Module into Deals

      Hello, I recently created a custom module to handle a particular type of order/transaction in our business. Having got this up and running I've realised that it would be much better to use the Deals module with a different layout instead. We've entered
    • Creator App on Mobile - Workflow "On Create / Edit - On Load" not triggered ?

      Hi Everyone, I built an application to track assets, which is used both at the office (desktop) an in the field by technicians (mobile app). In the field, technicians open an existing form and add rows to a subform at some point. One field they have to
    • HOW TO VIEW INDIVIDUAL COST OF NEWLY PURCHASED GOODS AFTER ALLOCATING LANDED COSTS

      Hello, I have been able to allocate landed costs to the purchase cost of the new products. however, what i need to see now is the actual cost price (original cost plus landed cost), of only my newly purchased products to enable me set a selling price
    • Custom Function to get custom field of lookup type in Books

      Hi, Here's the situation. In Purchase Order, there is a custom field (lookup) to SO. The requirement is to update to the related SO if PO get updated Right now facing challenge to get the id of custom field (lookup) in PO. Please find below the sample
    • Custom From Address is now Organizational Email

      We're introducing a small yet meaningful change in Zoho Recruit, one that sets the foundation for bigger improvements coming your way. What’s changed? We’ve renamed the Custom From Address to Organizational Email. The new name was chosen to better reflect
    • What's New in Zoho Billing Q2 2025

      Hello everyone, We are excited to share the latest set of updates and enhancements made to Zoho Billing in Q2 2025, ranging from image custom fields to support for new languages. Keep reading to learn more. Upload Images From Your Desktop to Email Notifications
    • Map dependency on Multiselect picklist

      I need help in Zoho CRM. I have 2 multi-select picklists. For example, Picklist A has country names. Picklist B has state names. Now I want to show states on the basis of the selected country from Picklist A. Both are multi-select fields, so the standard
    • Tip of the Week #63 – Keep personal emails out of team view.

      Shared inboxes are great for teamwork—they let everyone stay on the same page, respond faster, and avoid duplicate replies. But not every message needs to be shared with the entire team. Think about those one-on-one chats with a manager, a quick internal
    • Episode III : Powering Automation: Custom Functions in Action

      Hello Everyone, In our previous episodes, we explored custom functions and the Deluge programming language. If you’ve been wondering why the Episode series have been quiet, here’s the reveal! On our community, we've been showcasing custom functions integrated
    • Narrative 2 - Understanding Organizational Departments

      Behind the scenes of a successful ticketing system - BTS Series Narrative 2 - Understanding Organizational Departments A ticketing system's departments are essential because they provide an organized and practical framework for handling and addressing
    • Zoho Projects Plus for the healthcare industry

      The global healthcare industry is complex and diverse; from patient record maintenance, healthcare supply chain, to manufacturing complex medical equipment, the industry functions on many layers. Managing all these layers requires tested out techniques
    • Missing Outlook calendar option in Calendar

      Hi all I don't have an Outlook Calendar option in the Settings > Synchronise settings of Calendar. Any ideas why not?
    • Zoho Meeting Android app update: Breakout rooms, noise cancellation

      Hello everyone! In the latest version(v2.6.1) of the Zoho Meeting app update, we have brought in support for the following features: 1. Join Breakout rooms. 2. Noise cancellation Join Breakout rooms. Breakout Rooms are virtual rooms created within a meeting
    • Whats App Automation

      It would be nice to be able to send out an automated whats app message template on moving stages or creation of a ticket (same as you can do for automated emails). Currently only automated emails can be sent. Also, if whats app could be used more effectively
    • Zoho Projects Android app update: Enhanced Documents module within the projects.

      Hello everyone! In the latest Android version(v3.9.35) of the Zoho Projects app update, we have enhanced the documents module within the projects. Now, you can view all the attachments that you have added across the project in tasks, bugs, comments, etc,
    • Lead Source Disappears

      When adding a new lead and saving the page, the page refreshes itself and the lead source field becomes blank. We set the "Lead source" as a required field to see if it would help, but the problem persists and we always have to re-enter the lead sou
    • Inquiry Regarding Monitoring ZOHO CRM API Credit Usage

      Hello ZOHO Community, I hope this message finds you well. I have a question regarding monitoring the usage and remaining credits of the ZOHO CRM API. I recently discovered that within ZOHO CRM, by navigating to Settings ⇒ Developer Hub ⇒ APIs & SDKs,
    • Payment Gateways - A unified hub to manage all your payment integrations in Zoho Creator

      Hello everyone, We're thrilled to announce that we've completely reimagined the way payment gateways are handled in Creator. The result is a centralized Payment Gateways section that provides a clean, user-friendly interface to configure and manage all
    • Community Digest Julio 2025 - Todas las novedades en Español Zoho Community

      ¡Hola, Español Zoho Community! Ha pasado un tiempo desde el último Digest pero, ¡ya estamos de vuelta con las novedades más relevantes en las aplicaciones de Zoho y su universo! Si no te quieres perder ninguna de las novedades que vamos publicando, te
    • Tip #35- How to use Notifications in Zoho Assist to stay on top of session activities- 'Insider Insights'

      Hello Zoho Assist Community! This week, we’re exploring Zoho Assist’s built-in notification system for improved visibility and accountability. Keeping track of session activity is crucial, especially when you're managing multiple remote devices and technicians.
    • Next Page