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

    • Critical Issue: Tickets Opened for Zoho Support via the Zoho Help Portal Were Not Processed

      Hi everyone, We want to bring to your attention a serious issue we’ve experienced with the Zoho support Help Portal. For more than a week, tickets submitted directly via the Help Portal were not being handled at all. At the same time no alert was posted
    • Tip of the Week #72– Assign thread ownership to avoid confusion.

      When teams handle a large volume of emails, managing threads becomes important to stay organized. Without a clear system, duplicate replies, missed follow-ups, or confusion over responsibilities can happen. Thread assignment solves this by designating
    • Unarchive tickets

      How can I manually unarchive tickets?
    • Optimize your Knowledge Base for enhanced accessibility by adding alt tags for images

      Let's learn why alt tags are crucial for your articles. You can add alternative tags (alt tags) and alternative text (alt text) to the images you share on your community forums or when embedding them in articles. Alt tags refer to the HTML attribute,
    • FSM trying again

      have not linked FSM yet to the rest of out Zoho suit. It certainly looks like the apointment and service part is more manageable for our staff. The question is that our engineers multi task examples 1. deliver products to customers not fitted 2. Service
    • Feature Request: Conditional Field Mandatoriness Based on Display Status

      Hello Zoho Creator Team, I would like to suggest an enhancement to improve the flexibility of form validations. Currently, when we need a field to be mandatory only if it's displayed on the form, the only option is to: Set the field as not mandatory in
    • Data Migration Strategies for Moving to a Cloud Solution

      Hi everyone, I’ve been working on moving some of our critical systems, including CRM and project data, to a Zoho cloud solution, and one of the biggest challenges I’ve encountered is data migration. Transferring large volumes of data while keeping it
    • Commerce Order as Invoice instead of Sales Order?

      I need a purchase made on my Commerce Site to result in an Invoice for services instead of a Sales Order that will be pushed to Books. My customers don't pay until I after I add some details to their transaction. Can I change the settings to make this
    • How to set different item selling prices for Zoho Commerce and Zoho Books

      Item selling prices for Zoho Commerce and Zoho Books are in sync. If we update the Item selling price in Books, the same will happen in commerce and vice versa. I need a separate commerce selling price for online users and a separate books selling price
    • Time Entry Notifications

      Hi All - I have support staff who place notes of their work in the time entry section of Zoho Desk. Is there a specific workflow or setting I need to enable to have the ticket holder updated via email when an entry is saved?
    • How to report 'Response violation' OR 'Resolution violation'

      Hi, I want to report on SLA Violation Type. I grouped my tickets on this column. It seems I only get 'Response and Resolution Violation' or 'Not Violated'. The former seems to be given to a ticket if only the Response Time was violated. I would expect
    • [Webinar] Automate sales and presales workflows with Writer

      Sales involves sharing a wide range of documents with customers across the presales, sales, and post-sales stages: NDAs, quotes, invoices, sales orders, and delivery paperwork. Generating and managing these documents manually slows down the overall sales
    • Power of Automation :: Quick way to associate your Projects with Zoho CRM

      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
    • Date triggering Workflow rule

      I have a function triggered by a workflow rule. The function takes a date and creates a task for that date and fills in a field with the name of the day for that date. It also updates the status field of the record. The workflow rule is set to run whenever
    • Restricting contact creation

      Hi all! I am looking to use Zoho Desk in a part of the business that takes end user enquiries. These are generally single interactions, and not linked to an account name. As Desk is Account centric, has anyone designed a way to manage these incoming emails
    • Import Holiday Calendars

      HI Zoho Is there anyway of importing an online calendar like https://www.calendarlabs.com into the business hours calendars, to speed up setup of holiday calendars. Also could we also request a feature where you can specify a Holiday as hours, i.e it could be that the company is on a 1/2 day due to a holiday or when it is Eid in the UAE and they are only allowed to work restricted hours so we need the calendar to be flexible to allow for this. Regards Jamie
    • Filtering Tickets based on Email headers

      We're starting to get a lot more junk coming into our Zoho Desk, which is then triggering unnecessary email alerts to agents. Once thing we could do to cut this junk in half, is to filter tickets based on email headers. Any email containing the `List-Unsubscribe`
    • Error 550 5.4.1

      I’ve tried sending an email to someone but keep receiving this back. Any help would be greatly appreciated 
    • Billing Management: #2 Fair way of Billing- Prorated Billing

      Hello, From speaking about the traditional ways of billing in the previous post, we are moving into the deep sea of billing. We are now in a zone to break out the most complex yet, I would call it the fairest way of billing, the Prorated Billing. Prorated
    • Automatic Matching from Bank Statements / Feeds

      Is it possible to have transactions from a feed or bank statement automatically match when certain criteria are met? My use case, which is pretty broadly applicable, is e-commerce transactions for merchant services accounts (clearing accounts). In these
    • Has Anyone successfully integrated Zoho and Sage Intact?

      Hey all, We’re evaluating Zoho One + Sage Intacct and I’m trying to connect with anyone who has actually implemented the two together.Specifically, I’d love to know: -- Which functions you kept in Zoho vs. Intacct (e.g., Product Catalog, AR/AP, invoicing,
    • How can I filter a field integration?

      Hi,  I have a field integration from CRM "Products" in a form, and I have three product Categories in CRM. I only need to see Products of a category. Thanks for you answers.
    • Adding image in HTML report page

      Hi, I want to know two things: 1. Can anyone advise how to add an image in HTML report. The tagged used is <img> but what path do I mention for the image to be added in the HTML report. 2. Also, I want to know if I am creating an application for the market
    • How to change view of HTML report based on device but always print in A4

      Hello everyone, I am aware that HTML report view can be configured to adjust according to the screen size like Laptop, Tablet and mobile using media queries. But my concern is no matter on which device the reports is opened when printed should always
    • Age Calculation

      I've attempted to calculate the age of someone based on their birthday input by using the formula field. It works but I don't want all those decimals on there. I then tried to use "set variable" after birthday input but I get a field type mismatch, long vs. floating. Any ideas would be wonderful.
    • Search on Custom Field

      We're working on an integration with the Zoho FSM API and are trying to retrieve companies based on a custom field we added to the Companies module. However, we can't find a way to filter or query records using custom fields through the API. We have a
    • Sendmail function / custom action?

      I've setup a function hoping to email various business departments the details of a record once all work in that record is complete so gone about setting up a custom action in such way that each record line on the report has a button to click. Question is how do I actually include data from that record in the email that is sent when the button is clicked? I had thought that since this were being sent per record the email would include the data which had been entered
    • API to post drafts for social media

      I we want to post draft posts to our zoho social account and then approve and schedule them within Zoho social. is this possible with for example: https://apis.zoho.com/social/v2/post TIA Jon
    • Canvas View in Zoho Recruit

      Is it possible or would it be possible to have the new 'Canvas View' in Zoho Recruit?
    • What impactful sales coaching techniques have you used to boost your team's performance?

      I'm curious about the real-world impact of sales coaching on team performance. What specific techniques or strategies have you found most effective in driving consistent improvement and growth in your sales team? Any success stories or lessons learned
    • Adding Taxes to paid consultations in Zoho Bookings

      I created a 'paid' consultation under Zoho Booking and integrated it with payment gateways for online/instant payment before a booking is done. How can I add 'taxes' to the price of consultation? I can add taxes to other Zoho apps (liks Books, Checkout,
    • Zoho Finance Suite - Customer Custom Tabs - Dynamic Link

      Hi Finance Suite team, When creating a Custom Tab for a Client Portal, there is no option to add dynamic parameters. This would be very helpful for adding Zoho Analytics dashboards which can be dynamically filtered through the URL to only show information
    • Feature Request - Insert URL Links in Folders

      I would love to see the ability to create simple URL links with titles in WorkDrive. or perhaps a WorkDrive extension to allow it. Example use case: A team is working on a project and there is project folder in WordDrive. The team uses LucidChart to create
    • Bug in allowing the user to buy out of stock items

      Hi i want to allow the user to buy out of stock items, according to the commerce documentation if i disable Restrict "Out of stock" purchases it will, but it doesnt work, so i want to know if it had any relation with zoho inventory, and if theres any
    • Bug in allowing the user to buy out of stock items

      Hi i want to allow the user to buy out of stock items, according to the commerce documentation if i disable Restrict "Out of stock" purchases it will, but it doesnt work, so i want to know if it had any relation with zoho inventory, and if theres any
    • How to Calculate MTTR (Mean Time to Resolve)

      We want to calculate MTTR (Mean Time to Resolve) in our Zoho Analytics report under Tickets. Currently, we are using the following fields: Ticket ID Ticket Created Time Ticket Closed Time Ticket On Hold Time We are planning to calculate MTTR (in days)
    • Possible to bold or indent text in the description field?

      As part of one item, I often have a detailed description that would be much easier to read if there was the ability to have a bulleted list or bold text and the like. Is this possible? My last invoicing software allowed markup in the field so, for example, an asterisk meant a bullet. I haven't been able to find any documentation related to this.  Any information would be appreciated. Thank you.
    • How can I setup Zoho MCP with Chat GPT

      I can set up custom connections with Chat GPT but I cat an error when I try to set it up. The error is: "This MCP server can't be used by ChatGPT to search information because it doesn't implement our specification: search action not found" Thoughts?
    • Formatting of Balance Sheet and Profit & Loss Reports

      The default format of the Balance Sheet and P&L Reports are based on the Account Types and then the individual accounts within the Chart of Accounts. These are then ordered alphabetically under these sub-headings and one is unable to re-order these or
    • UK MTD reports concerning turnover and cerash accounting

      Hi I am a sole trader, and I have just started with Zoho Books in order to comply with the new HMRC requirements. I use 'cash basis' - which I understand to mean that income is when the cash comes in (not the invoice date) and expenses are when they are
    • Next Page