Tip #31: Track delays and capture causes for delay using Client Scripts in Qntrl

Tip #31: Track delays and capture causes for delay using Client Scripts in Qntrl



Overcoming project delays is a major concern for many businesses. Most industries like IT, manufacturing, transport, and construction work on defined time lines and any delay in completion might lead to cost overrun, compromised reputation, or even failed projects. To overcome this, monitoring instances of delay regularly, right from the initial phases of a project is essential.
 
Automating delay management is a recommended step as it eases central monitoring and reduces errors. To automate delay monitoring, Qntrl supports SLAs for every single stage. But, if you want to track time delays beyond individual stages—for a group of stages or an entire card—Client Scripts can be of help.
 
Client Scripts are coded by users to process existing data or add additional validations to data available in Qntrl. Let us now calculate the time delay using Client Scripts.
 
Business case
Donelly Constructions uses Qntrl to track the progress of their construction activities. They require to calculate the time difference between 2 given transitions to monitor the delay. If the calculated time limit is higher than 72 hours, the field ‘Reason for delay’ must be mandated to be filled by the user while closing the card.

Solution
  • Create a form with 2 Date & Time fields.
  • Configure the blueprint transition’s After section with Update Fields to capture the time at which the transitions take place.
  • Code the Client Script to calculate the time difference between 2 transitions and if any delay is spotted, prompt the user to provide the reason for delay while performing the last transition.  

Sample configuration

Step 1: Create 2 Date & Time fields in forms to capture the completion time of transitions.
  • Here, 'Time of milling' and 'Time of testing' are the 2 fields used.
  • Turn off the visibility of these fields to restrict users from filling them during card creation.


Step 2: Record the exact completion time of transitions using Update Fields in Blueprints or Business Rules.
  • In the blueprint, configure the 2 transitions you want to find the time difference between with Update Fields in After section.
    • Note: Any 2 transitions other than the last transition can be configured here.
  • Set the action as ‘Time of milling’ = ‘Execution date’ and ‘Time of testing’ = ‘Execution date’.

  • In the final transition, configure During section with fields ‘Time of milling’, ‘Time of testing’, and ‘Reason for delay’ to prompt the user while closing the card.


Step 3: Find the time difference between 2 date and time fields,  Identify delay, and hold accountability using Client Scripts.

Configure the client script for the last transition with execution trigger as OnLoad.


  1. async function onLoad(forpage) {
  2.     //You can lock the fields to restrict users from changing the time value
  3.     current.Layout.Fields.<select-first-date-field-here> .lock();
  4.     current.Layout.Fields. <select-second-date-field-here> .lock();
  5.     var request_time = current.Job.getValue(current.Blueprint.Transition.Fields. <select-first-date-field-here> .id);
  6.     var finished_time = current.Job.getValue(current.Blueprint.Transition.Fields. <select-second-date-field-here> .id);
  7.     //Calculating the time difference and validate it
  8.         var difference = (finished_time.value - request_time.value) / (1000 * 60 * 60)
  9.         if (difference >= 72) {
  10.             current.Blueprint.Transition.Fields.<select-reason-for-delay-field-here>.setMandatory(true);
  11.             current.Blueprint.Transition.Fields. <select-reason-for-delay-field-here> .show();
  12.         } else {
  13.             current.Blueprint.Transition.Fields. <select-reason-for-delay-field-here> .hide();
  14.         }   
  15.     }




Here, when performing the final transition, if the time difference is greater than or equal to 72 hours, the field ‘Reason for delay’ is set to mandatory. Else, if the time difference is less than 72 hours, the field will not be prompted for the user.  



Let us know if this business case is useful for you. You can view more such sample client scripts in our KB. If you have any unique requirements, comment below or email us at support@qntrl.com.

    • Sticky Posts

    • Tip #21: Increase user engagement using dynamic email content and attachments in Orchestly

      Businesses often send out bulk emails like weekly newsletters, monthly event updates, promotional emails, surveys, beta access emails, product reviews, seasonal greetings, and so on. Even as the gist of these emails remain constant for all recipients, personalizations capture the audience’s attention and help brands connect with them.   Orchestly’s email templates allows you to draft and send dynamic emails with personalized content and attachments to internal and external users. Email templates
    • Qntrl's 2023 year in review

      This year has been all about analyzing our customer feedback and building a resilient and solution-driven product from it. As a result of this work, we're happy to announce that a whole new version of Qntrl is getting ready for release soon. This new
    • Tip #61: 5 different ways to create Cards in Qntrl

      Qntrl supports an array of features that covers everything required for business orchestration, from process automation to business advancement. Cards, being the elemental feature of Qntrl, record all the details of a particular task from the beginning
    • Tip #17: Stay informed of significant business impact using Orchestly

      With remote working becoming the new norm, leaders across sectors need to stay updated of their business performance in the market to aid business decisions. Instead of awaiting virtual meetings from sales and finance heads to put forth the business status, organization leaders can themselves dig into the system to keep an eye on their revenue generating customers or set up notifications to monitor major updates.   Orchestly recognizes such requirements and provides adaptable solutions for all business
    • Onboard faster with Orchestly's Tutorials

      We are actively rolling out new learning materials to assist our customers onboard at ease and automate their processes effortlessly. On that front, we recently launched Tutorials for Orchestly.   Tutorial is a step-by-step guide to help users familiarize the concepts of Orchestly and automate simple processes right from scratch. We’ve documented 3 such business processes viz. Order Manufacturing, Product Implementation, and Change Management.   We're looking forward to document more customer-centric
    • Recent Topics

    • Calls to accounts rather than leads or contacts?

      So..... We have a dilemma and I'm hoping someone has encountered this before and figured out a fix. We have just migrated to Zoho. It's great.....expect for how "Calls" are handled.... We are B2B. We do not use the leads module. A "Lead/Prospect" for
    • Image Upload Field | Zoho Canvas

      I'm working on making a custom view for one of our team's modules. It's an image upload field (Placement Photo) that would allow our sales reps to upload a picture of the house their working on. However, I don't see that field as a opinion when building
    • Power of Automation :: Automated 'Delayed & Closed' Status Update Based on Due Date

      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
    • Lead Blueprint transition in custom list view

      Hi, Is It possible to insert the Blueprint transition label in a custom Canvas list view? I am using Lead module. I see the status, but it would be great if our users could execute the Blueprint right from the list view without having to enter the detailed
    • Range names in Zoho Sheet are BROKEN!

      Hi - you've pushed an update that has broken range names. A previously working spreadsheet now returns errors because the range names are not updating the values correctly. I've shared a video with the support desk to illustrate the problem. This spreadsheet
    • Has anyone integrated SMS well for Zoho Desk?

      Our company does property management and needs to be able to handle inbound sms messages which create a ticket for Zoho Desk. We then need to be able to reply back from Zoho desk which sends the user an sms message. This seems like a fairly common thing
    • populate email address and name in zoho desk?

      Is it possible to populate the email address and name in the zoho desk widget? We only use it in the context of an authenticated user, so we already know the user's name and email. Thanks,
    • Are there default/pre-built dashboards in Zoho Desk?

      Hi, I am looking for some pre-built dashboard templates in Zoho Desk, similar to what we can find in CRM/Projects, etc Thank you
    • SAP S/4 HANA to CRM Integration - change the SAP Client ID

      Hi I am trying to push the business partners from SAP S/4 HANA to ZOHO CRM module. The SAP Client ID is 421 in my case....kindly let me know how do I specify the sap client because it's a dropdown with specific values as of now. Thanks Ravi Aswani
    • Adding branded signature to tickets reply

      Hi, i am unable to figure out how to add signatures with logo to tickets reply. please advice .
    • Zoho Marketing Automation 2.0 - Landing Page function not working

      Dear Zoho Team, I am working on implementing Zoho Marketing Automation 2.0, and am now looking into the section "Lead Generation". If I open the "Landing Pages" section, I immediately get an Error code: Error: internal error occurred. Can you help me
    • Zoho Mail Android app update: Manage folders

      Hello everyone! In the latest version(v2.9) of the Zoho Mail Android app update, we have brought in support for an option to manage folders. You can now create, edit, and delete folders from within the mobile app. You can also manage folders for the POP
    • How to share ticket numbers across different ticket types

      I'm running an event and have three different ticket types. Add on Event + Main Event - Early bird Main Event only - Early bird Add on Event only - Early bird And Standard class - shown but not available until early bird finishes Add on Event + Main Event
    • Adding Social Media Buttons to Basic Campaigns

      Hi, I'm quote new to using Zoho Campaigns and I can't work out how to add Social Media Buttons into my basic campaign? In MailChimp there's a button that brings the icons into your campaign for you. I've tried adding the social media icons as 'buttons' in Zoho but it's not looking great. Can anyone help? Thanks!
    • Hide Inactive Social Sign-In Providers from Login Screen

      Hello Zoho Team, We hope you are doing well. Currently, Zoho One allows admins to configure security policies and enable or disable Social Sign-In options for third-party providers such as Apple, Google, Microsoft, LinkedIn, Yahoo, Twitter, Facebook,
    • [Free Webinar] AI Agents in Zoho Creator - Creator Tech Connect

      Hello Everyone! We welcome you all to the upcoming free webinar on the Creator Tech Connect Series. The Creator Tech Connect series is a free monthly webinar that runs for around 45 minutes. It comprises technical sessions in which we delve deep into
    • Download All Attached Files

      It would be extremely useful to have "download-all" functionality for downloading files attached to a task, subtask, comment, forum post or hosted in the "Documents" section etc. We've instructed our users to zip multiple files prior to uploading, but of course they forget all the time. Having to download lots of files one-at-a-time off a comment or task wastes a lot of time.
    • unable to send message reason 554 5.1.8 Email outgoing blocked

      unable to send message reason 554 5.1.8 Email outgoing blocked
    • Ship via Carrier Not Working Since Commerce Update

      Since the recent update to the Commerce platform, I can no longer use the ship via carrier function. It will take me to the address screen and let me verify them but when I go to save and move tot he next screen it will not do anything. This is happening
    • automations: Can I execute a step on a specific date?

      I have created a form in Zoho forms, and created a contacts list. I have also begun setting up an automation with the intention of sending the form to the contact list on a specific date every month (via email) for the entire year (essentially sending
    • Zoho Expense - The ability to add detail to a Trip during booking

      As an admin, I would like the ability to add more detail to the approved Trips. At present a requestor can add flights, accommodation details and suggest their preferences. It would be great if the exact details of the trip could be added either by the
    • Adding Folders in Android App

      Is it possible to create a new email folder within the Zoho Mail Android app?  Or can this only be done from the desktop version of Zoho Mail? Cheers!
    • 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
    • Question about custom fields using Pivot Tables.

      I have created a pivot table showing annual revenue of a client and how much payment that client is paying my company. Is there a way using pivot table to add an additional field that subtracts those to fields / shows me a percentage of that difference?
    • Request for Light/Dark Mode

      Would love the ability to switch between Light and Dark mode similar to Zoho CRM. https://help.zoho.com/portal/en/community/topic/introducing-dark-mode-light-mode-a-new-look-for-your-crm
    • Signature field is showing black

      Hello, When customer signed the service form, it is showing as below picture Phone model: iPhone 16 Pro We tried delete and install application, but it not solved. This has on phone of a few person. There is any advice to solve this?
    • Journey Email - Ignored Contacts

      I have a journey setup which simply sends a string of emails over time. For some reason I am getting large amounts of the contacts who enter the first email being ignored and I can't find anywhere in reports or audit logs why these contacts are not
    • Involved account types are not applicable when create journals

      { "journal_date": "2016-01-31", "reference_number": "20160131", "notes": "SimplePay Payroll", "line_items": [{ "account_id": "538624000000035003", "description": "Net Pay", "amount": 26690.09, "debit_or_credit": "credit" }, { "account_id": "538624000000000403", "description": "Gross", "amount": 32000, "debit_or_credit": "debit" }, { "account_id": "538624000000000427", "description": "CPP", "amount": 1295.64, "debit_or_credit": "debit" }, { "account_id": "538624000000000376", "description":
    • Zoho Books - Include Payment Terms as a Custom View filter

      It would be great if you could created a custom view based on Payment Terms. This would be really handy for seeing a list of customers who have credit terms. A workaround is not required. I could do something with a creditor checkbox, but it would be
    • How to update changed purchase account of item in invoice

      I have selected the wrong purchase account for various articles and created invoices. I had to adjust the purchase account in the article afterwards, but the old purchase account is still posted in the transaction-journal of the invoice. To adjust the
    • Help - Zoho CRM notification on mobile (IOS/Android)

      Hello Community! Can I get the IOS/Andoid CRM app to notify me of events, calls, etc. due as I can with MANY other apps?   I am running the free Zoho I would like this to be native to the Zoho CRM app. I do not want to write a sep. mobile app
    • Zoho Books Idea - Include another field in Bank Details for Address

      Hi Books team, Currently use the Description field in the Bank Details to store the bank's address. This works fine but it would be great if you could add another field for Bank Address, so that other notes about the bank account could be stored in the
    • a question about the COQL API v8

      When I specify eight or more values in a WHERE IN clause and execute it, an error occurs. Is there a limit to the number of values that can be specified in a WHERE IN clause? ↓Error select * FROM Vendors WHERE (id in (1, 2, 3, 4, 5, 6, 7, 8, 9)) ↓Success
    • Zoho Books Idea - Bank Details Button on Banking

      Hi Books team, Sometimes I'm asked to share bank details with a customer or a colleague. So I go to the Banking Module, find the correct bank account, click Setting > Edit, then copy and paste the bank details. Wouldn't it be great if there was a button
    • JS SDK 8.0 – TypeError: Cannot read properties of undefined (reading 'getCacheStore') with sample code

      Hello Zoho Support Team, I’m integrating the Zoho CRM JavaScript SDK v8.0 and I’m getting the error below when running your official sample. I tested directly from: https://github.com/zoho/zohocrm-javascript-sdk-8.0/blob/main/samples/create_records_sample/create_records.js
    • Function #55: Convert multiple quotes to single SO using Custom Button

      Hello everyone, and welcome back to our series! In Zoho Books, after a quote is accepted by your customer, it can be converted into a sales order or an invoice. Often, a customer might have multiple quotes, and for easier billing or upon the customer's
    • Time based workflow without edit/action

      Hello I need help solving this problem if possible. We have Deals come into the CRM via Live Transfer which have the field properties: Stage = New Channel = Inbound Some of them don't get answered so we want these to automatically go into our Outbound
    • What's New - August 2025 | Zoho Backstage

      Every month, Zoho Backstage grows with you. These updates aren't just features and fixes, they're about making your workday smoother, your events more impactful, and your attendees happier. We’ve listened, learned, and shaped this release to keep things
    • prevent selling expired items

      Hello. I need to make a constraint on expired batch items not to be sold. Is it possible in Zoho Inventory? if so, then how? Thanks for further help.
    • Product details removed during update from other system

      We maintain our product details in an other system. These details are synchronized with Zoho at the end of each day, through an API. This has worked perfectly sofar. But last Monday, all product codes and some other product data have been wiped during
    • Next Page