With OTRS it is possible to let tickets escalate. If a ticket is escalated, no other tickets are displayed for the queue containing the escalated ticket. The escalated ticket has to be locked first. The escalation of tickets ensures that tickets must be considered after they have reached a given age.
The age after which a ticket escalates can be specified in the settings for every queue. With a job for the GenericAgent notifications on escalated tickets can be delivered to agents that have the queue with the escalated ticket in "My queues" enabled and that have activated notifications on escalated tickets in their personal preferences .
Example 8.4. GenericAgent job to send notification on escalated tickets
The file Kernel/Config/GenericAgent.pm
already
contains a example job for notification delivery to agents on escalated
tickets. The jobs in this file are processed by the GenericAgent, which is
executed periodicaly by a cron job. Just open the file and remove the
comments ("#"") for the following lines:
%Jobs = ( # -- # [name of job] -> send escalation notifications # -- 'send escalation notifications' => { Escalation => 1, # new ticket properties New => { # notify all agents who selected the queue in "my queues/custom queues" # Module => 'Kernel::System::GenericAgent::NotifyAgentGroupOfCustomQueue', # notify all agents who can access the ticket with rw permissions Module => 'Kernel::System::GenericAgent::NotifyAgentGroupWithWritePermission', }, }, # insert your jobs (see Kernel/Config/GenericAgent.pm.examples) );
If a new ticket is stored in a queue that has set a value for escalation time, the positive value for the set escalation time is shown first. The displayed value for the escalation time does not change if the system time is not in the hours specified for TimeWorkingHours or if today is a day specified in TimeVacationDays or TimeVacationDaysOneTime.
If the system is in a time window which is relevant for the calculation for time specific events, the escalation time is counted down. If the value 0 is reached then the ticket escalates. When the value for the escalation time becomes negative, the ticket has exceeded the point of time for the escalation. During the next run of the GenericAgent the job for the notification about escalated tickets is executed and the messages will be send out to the agents. The escalated ticket blocks the view of all other tickets in the queue and must be processed. Even if the escalated ticket is locked and processed the displayed value for the escalation time stays in the negative range. This behaviour does not change as long as the ticket is in an open state (open, new, pending, etc.). The value for the escalation time only gets reset if the state changes to closed. If the same ticket is reopened, for example, by a follow up ticket, the count down for the escalation time starts again with the positive value set for the queue in which the ticket is stored.
Thus a ticket only can escalate if it is not locked and is in an open state. If the ticket is locked and not yet closed, the escalation time is counted down and the ticket escalates if the time value is zero. If the state was changed to closed and if the ticket is reopened by a follow-up request, the escalation process described above restarts.
Table 8.2. Escalation Properties
Escalation Properties | 1.2.x | 1.3.x | 2.0.x | 2.1.x | 2.2.x |
---|---|---|---|---|---|
A ticket escalation happens...
a) if inside the queue settings is a escalation time enabled. b) if the escalation time is up. c) if the ticket isn´t "lock" from a agent ("free"). d) if the Ticket has a "open" state type. If the ticket has a "pending" state, the eskalation time set out. | x | x | x | x | x |
The escalation time will reset, if a customer add a new article to the ticket (for example depending on a "FollowUp"). Is the last article already from a customer, no reset is happen. | x | x | - | x | x |
The escalation time will reset, if a agent add a new external article to the ticket (for example a "email article" or a "phone note"). | x | x | - | x | x |