How to automate timers to stop when it's outside of working hours and business days?

Hello,

I’m working out of monday.com Service, overall the board’s purpose is a ticketing system.
We’re working on doing automations so we can get good data reporting. Ya know, proving we’re doing our jobs and doing it well. Many of these metrics are based on timers (Time until first reply, time until resolved, time waiting for Requestor Reply, time waiting for Assignee reply, etc.). However, we want to stop these timers when it’s outside of working hours and business days (EX: Otherwise if someone submits a ticket and my team is home for the day the timer will run all night and now our Time to First Reply is screwed up even if we reply immediately when we get in).

Hey @UFAI - you could utilize some automations to help manage this along with a status & date column to tell the time-tracking to stop (and start if needed).

Add a Status column (let’s call it Time Control) with three options: Stop, Start, and “-” (default option), and a Date column (called “Today’s Date”). Then create a few simple automations:

  • When (at 5:00pm for example) “Today’s Date” arrives change “Time Control” to Stop, then change “Time Control” to - and then push “Today’s Date” by 1 day
  • When Status changes to “Stop”, stop time-tracking

You could also utilize the columns to auto-start the time tracking (at 9:00am for instance) if wanted.

Hope this helps and feel free to reach out anytime!
Mark
:arrow_right: Book a Discovery Session

1 Like

This was great! Very helpful. With that current process it will ensure time is stopped during certain hours, and I can use other automations based off that “Time Control” Status column to prevent time starting to begin with when a ticket is created. (When item is created, except if Time Control Status is Stopped - Start Timer )

How would we stop timers for specific days of the week?
The only way to grab a day of the week is using a formula, but you can’t use formulas in automations (ie. you can’t tell it: When item is created - Start Timer except if Day of Week Status is Saturday)

Hey @UFAI - that does complicate things a little. You could use a 3rd party app like General Caster to cast a formula to a local number column, then utilize that as part of the automation recipe. If you dont want to use apps, one way to do it is to have another Status column (“Day of the Week”) with Sunday thru Saturday entered as options.

Then have a series of automations utilizing the “Today’s Date” column (as it is triggered each day). For example:

  • When Today’s Date arrives (at 1:00am), and only if Day of the Week is Sunday, set Day of the Week to Monday
  • When Today’s Date arrives (at 1:00am), and only if Day of the Week is Monday, set Day of the Week to Tuesday
  • etc…

Then you can use the new status column to help with your starting and stopping of the time column:

  • When item is created and only if “Day of the Week” is not Saturday and “Day of the Week” is not Sunday, than start time tracking

Not the most elegant solutions, but it’ll work.
Mark

I’m with you on the Day of the Week column, and using it.
The problem I’m seeing is starting that day of the week column. How do we initially set what the day of the week it is on item creation? After that, I understand what’s needed.

I see no way of initially setting the current day of the week, unless it’s manually set at first (which defeats the purpose since we’ll be out of the office). And if it’s not initially set, there’s no way for it to ‘catch’ onto the automations (When Today’s Date arrives…) and would sit in a default status.

Any ideas?

Hopefully these come in the right order since I replied and it’s been over a day waiting for approval.

I’ve answered my own questions, but if you have simpler solutions I’d love to hear them.

I’m putting my solution here in hopes that others can benefit off all the time I spent working on this, and it will make their lives easier.

My solution!!! (and it’s a doozy):
I created a new board which is my “Reference” Board, created a Workflow for Initial ticket creation, and created a whole bunch of automations everywhere.
Reference board:

  1. Created a fresh board, no templates.
  2. Created a single item called “Master Start and Stop Timer” item. Deleted anything else
  3. Created 3 Status Columns, each have three statuses: Start, Stop, and Default. (I named mine with variations so it was easier for me conceptually).
  4. Created 3 Date columns. Set one to today, one to the nearest Saturday, and one to the nearest Sunday.
  5. Created 5 automations: (Note: the automation “When date arrives” you can set what time of day it will trigger. EX: It reads “When 11/16th arrives, at 1am → (do the following)”
    1. Everyday, at 23:00pm “Today’s Date” gets pushed to the next day.
    1. Everyday, at 17:30pm (unless the column over says it’s a weekend) set “BoD&EoD” status to Stop AND set “Master Start Stop” status to Stop.
    1. Everday, at 8:30am (unless the column over says it’s a weekend) set “BoD&EoD” status to Start AND set “Master Start Stop” status to Start.
    1. Every Sunday at 23:00pm, set “Weekend/Weekday” status to Weekday, and then push the “Stop: Weekend Date” by 7 days
    1. Every Saturday at 1:00am, set “Weekend/Weekday” status to Weekend, and then push the “Start: Weekend Date by 7 days”
  • This list of automations will make sure the columns stay accurate.
  1. These columns will be used to set new tickets up with initial dates and statuses in the workflow.

Main Item Board

  1. Make the same columns as the reference board. If the Status Column’s status names are not the smae, the Workflow will create a new status name in the columns and the automations won’t work.
  2. Create the same automations as the Reference Board (we added an “and only if the ‘Ticket Status’ is not ‘Closed’”. That way after a ticket is closed, timers don’t start up again later)
  3. Create new automations that trigger the timers to start/stop when the “Master” time column changes to “Start”/“Stop”. We have 2 timers that we only want running during working hours. The image below is an example of what a Stop timer automation looks like.

The Initial Ticket Creation Workflow
We then created a workflow that does a lot of the heavy lifting when we create a ticket. I will only be showing parts that are relevant to starting/stopping timers.

  1. Workflow is triggered by item creation in a specific board
  2. Create Get item data, that grabs from the Reference Board and select the item Master Start and Stop Timer
  3. Change the statuses & dates in the new ticket to copy from the Reference Master item
  4. We wanted newly created tickets to immediately start their timers if it was during work hours. So you create and If/Else and say If: Master Status = Stop–> Do nothing. Else: Master Status =/ Stop → Start timers

I know this is a lot, but I hope it’s clear enough and will help someone out!