You can find a more techniccal description od given services and their features in this section


Component, which handles a call distribution, logging in, IVR control, etc.

Agent actions logging


Previously, the agent login time has been inserted into Agent.LastLogonUtc column and the event in table AgentEvent was listed as AgentStatus rounded to seconds. The shift length was then calculated as a sum and with bigger amount of these events, the rounding caused some calculated time incorrectness (dozens of seconds, in extreme cases minues)

Agent shift start is set by AgentShift event, listed in table AgentEvent, if the condition set up ShiftStartDiscrimination is fulfilled. (time between agent login and last logout)

New AgentShift and AgentLogon event types have been added in the AgentEvent table in the EventType column.


You have to set the value for parameter ShiftStartDiscrimination in configuration, SyncProcessing section.

New event types

Event type



Agent login.

  • The event type is written each time the agent moves from Logged out to any other status (i.e. the workplace is manned).

  • Only upon each logout the calculated value is added to the last AgentLogon event in the Duration column.


Start of a new agent shift.

  • The event type is written when the agent logs in if ServiceSync detects that at least the number of minutes since the last agent logout has passed as specified in the``ShiftStartDiscrimination`` parameter.

    • At the same time, the time value is entered in the ShiftStartUtc column in the Agent table.

    • The previous AgentShift event is closed, the calculated value is filled out in it in the Duration column according to the time of the last logout! Important: NOT according to the current login time.

    • A pointer to the previous AgentShift event type is written in ReferenceId of the current event of the AgentShift type

  • If the time is shorter, the shift is considered to be ongoing and the AgentShift event type is not written.


The value in the Duration column will only be populated when a new shift begins, not just when the time expires as defined in the ShiftStartDiscrimination parameter.

Usage example

An example of its use is a data grid with agent events in the supervisor portal.


Explanation: 1. Agent login and logout, 2. Agent shift start, 3. Agent shift length, 4. Delay between two agent shifts