InBox TicketTimer

Version 6.6.12

Creation date 22/01/2019


This module creates a stopwatch for timekeeping on the device screen. clerk.



The following OTRS framework versions are supported:

  • [6.x.x]


The following modules are required:

  • InBox Core 6.28.7 or superior
  • InBox Library 6.5.6 or superior
  • Perl module: URI::Encode

Operational system

The following operating systems are required:

  • [None]

Third Party Software

The following third party software is required:

  • Server


bin/ Admin::Package::Install /path/to/InBox\ TicketTimer 6.6.12.opm


To install or upload the server, follow the steps below:

  • Install Node.js and npm on the server:

Add NodeSource to yum repository

curl -sL | bash -

Install Node.js and npm

yum install -y nodejs
  • Install required node modules:

Clone the repository and access the folder, or download just the app.js and package.json files to the server.

Access the folder where these files are located and execute the commands below:

Install required node modules

npm install

Install module to start server

npm install forever -g

Start server

forever start app.js

To stop the server run

forever stop http_server.js

Test if the server has the command:

curl ""

Or accessing in the browser



Set the maximum time for the stopwatch.


Set the option to close the attendant's previous timers when enabling a new timer.


Defines the server URL.

Using the Generic Attendant script to update ticket status through the timer.

You can use a Generic Attendant based on the custom script present in the InBox TicketTimer module ticketed “ChangeTicketsStatus”. With it, when starting a ticket timer, all other tickets from the same client will have their states changed as the state configured in the Generic Attendant.

Configuring the generic attendant

Set up a Generic Attendant to run next to the event: TicketDynamicFieldUpdate_TicketTimerSetStatus


Under “Select Tickets”, set the TicketTimerSetStatus field to “Start”.


In “Run custom module”, follow the path: Kernel::System::GenericAgent::ChangeTicketsStatus and set the parameters as follows:

Key Value
Flag 1
NextState Next state
CurrentStateType Type of state to change

“Flag” should contain value 1 for Stopwatch Start, “NextState” will be next ticket state and “CurrentStateType” the type of tickets to change.



Once this is done, you will need to set up a second generic attendant to get back to your previous states. To do this, configure a new generic attendant to run next to the event: TicketDynamicFieldUpdate_TicketTimerSetStatus


Under “Select Tickets”, set the TicketTimerSetStatus field to: “Stop” or to “Pause” depending on your application.


In “Run custom module”, follow the path:Kernel::System::GenericAgent::ChangeTicketsStatus and set the parameters as follows:

Key Value
Flag 1
CurrentState Current state of tickets

“Flag” should contain a value of 2 for Pause or Stopwatch and “CurrentState” the name of the current state of tickets that were changed when starting the timer.


Using the Generic Attendant to stop the timer when an event is triggered in the ticket.

As an example, an event will be created for when the ticket is changed queue, the stoptimer will be stopped:

Generic Agent

In “Execute custom module”, run the path: Kernel::System::GenericAgent::EventStopTimer

Execute custom module

JavaScript file

Verify the JavaScript file inbox-thirdparty/ is loaded in system configuration Loader::Module::AgentTicketZoom###002-Ticket.

If not, add the file inbox-thirdparty/ Note: The file must be loaded on top of the file Core.Agent.TicketTimer.js.


Click the stopwatch "Start" button on the right side of the ticker screen to make the ticker time count.


Click the stopwatch “Stop” button on the right side of the ticker screen so that the ticker time stops counting.


Checking Time Reports

In order to view the time counted by the attendants through the timer and its state, it is necessary to follow the steps below: Navigate to ‘Administration > Overview’ and choose de File Management Stopwatches':


After that, the timer management screen will be displayed, where you can check the number of tickets the timer is active on, its attendant, the time counted and the status of the timer (Paused or In Progress).