Change time of Escalated emails

Hi

Is it possible to change the time that the “Ticket has been escalated” emails go out?

Currently, they go out at midnight, and most agents seem to be deleting the emails first thing in the morning and forgetting about them. If they went out at midday, it would be much more productive for us.

Many thanks
Gareth

Are you sure you’re talking about escalated tickets rather than pending reminders?
Anyway, reminders of pending reminders and escalated tickets (so stuff that you have been ignoring the whole day) will notify you on midnight UTC. This currently can’t be changed.

Thanks Marcel, yes definitely escalated tickets unfortunately.

Ok, is there anywhere I can edit this in code, or change the time of the cronjob that sends these emails?

Thanks

Hi @gpullen - welcome back!

I want to take the chance and share some knowledge about the escalation logic. It might be useful.

The escalation actions are performed via this Scheduler job every 5 minutes:

This job executes this function which checks for tickets that will escalate in the next 15 minutes:

Depending on if the ticket is already escalated or not a Transaction::BackgroundJob is queued with the matching type escalation or escalation_warning. This background job performs various tasks. One of those is to send notification emails.

To ensure that each type of mail is send only once the ticket history is checked. If an existing entry for this type of message was already send this very day no other same typed notification will be send:

To achieve the desired behavior to send notification mails for escalated tickets on midday you can apply this diff:

diff --git a/app/models/transaction/notification.rb b/app/models/transaction/notification.rb
index f6593a36f..d77fcad97 100644
--- a/app/models/transaction/notification.rb
+++ b/app/models/transaction/notification.rb
@@ -121,6 +121,11 @@ class Transaction::Notification
           already_notified = true
         end
         next if already_notified
+
+        if @item[:type] == 'escalation'
+          time_stamp_now = Time.now.in_time_zone(Setting.get('timezone_default'))
+          next if time_stamp_now < time_stamp_now.midday
+        end
       end
 
       # create online notification

Please be aware that we can’t and won’t give support for custom changes. These are not update save and have to applied after each update manually.

3 Likes

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.