Data Collection

The Desktop Discovery Client gathers data from desktops to report on agents’ productivity, focusing on application usage and business process discovery. In the initial phase, the client reports only application usage data, including the application name and the active window title/URL.

The following events trigger data collection:

  • Mouse Click: When the agent clicks on a mouse button (right-click/left-click), the data will be recorded as one Input item.

  • Keyboard InputKey: When the agent types a special key, the data will be recorded as one Input item.

    Special key is ALT+key or CTRL+key or any of the following lists:

    "{END}","{HOME}","{INSERT}","{DEL}","{PGUP}","{PGDN}","{HELP}","{PRTSC}","{SCROLLOCK}","{BREAK}","{LEFT}","{UP}","{RIGHT}","{DOWN}","{CAPSLOCK}","{BKSP}","{BREAK}","{ENTER}","{ESC}","{TAB}","{LWIN}","{RWIN}","{APPS}","{NENTER}","{NINS}","{NUMLOCK}","{NDEL}","{F1}","{F2}","{F3}","{F4}","{F5}","{F6}","{F7}","{F8}","{F9}","{F10}","{F11}","{F12}"

  • Keyboard InputText: When the agent is typing continuously some text inputs (in the same window with no special key pressed), the data will be recorded as one Input item.

    The InputText data record will be cut off by one of the Special Keys, mouse click, or configured time threshold. If the agent pauses his typing for longer than the configured threshold, a data entry for Input text will be recorded, and a new data record will start if / when the agent continues typing.

  • Window change: If the active window changes, not for one of the above-mentioned reasons, the data will be recorded as one input item.

The data structure is derived from the existing NiCE CXone pipeline, which manages the Desktop Discovery data collection. Hence, all the relevant properties collected by the ‘old’ client’s Desktop Discovery data collection appear in the output of the Desktop Discovery client; most will be empty or defaulted in the first phase.

Data is collected in JSON format, containing a flattened list of properties by the following description:

Key

Description

Example

Shown in Action Type

Type

The Type of the Data describes the source or trigger of the data collection

Click, InputText, InputKey, SystemEvent, InjectedClick, InjectedScroll, InjectedMouseMove, InjectedInputKey

Click, InputText, InputKey, InjectedClick, InjectedScroll, InjectedMouseMove, InjectedInputKey

name

Name of the action performed by the agent.

SystemEvent actions are: Lock, Unlock, ClientSessionStart, ClientSessionEnd.

"LeftClick"

Click, InputText, InputKey

time

Time of action.

2018-03-19T13:46:42.5274115+02:00

Click, InputText, InputKey

durationSec

The duration of the action is calculated either from the action time until the next action, or the time it took in case of text typing

120.171

Click, InputText, InputKey

processName

Name of Windows process the active window belongs to. In the case of web applications, the domain is deemed as the process name.

When a file is open in the browser, it is treated as a file, not an action in the web browser. The extension of the file is the process name.

notepad, www.nice.com

Click, InputText, InputKey

processTitle

Caption of the active window.

NSC - NiCE Shared Services Center

Click, InputText, InputKey

url

If the action happened in a web page, the URL, when hash, then the params values are hashed, when mask then mask everything after '?'.

https://www.nice.com/get-in-touch

Click, InputText, InputKey

finishTime

Typing finish time.

"finishTime":"2018-03-19T17:25:39.7404115+02:00"

InputText

eventId

Unique identifier for the action

"eventId": "60708b15d9e64e8d97f605f47bdad7bf"

Click, InputText, InputKey

date

The date part of the action time

"date": "2024-11-21"

Click, InputText, InputKey

Synthetic Activity Detection

Desktop Discovery includes the ability to detect automated input generated by idle-prevention tools such as mouse jigglers or software-based simulators. The Desktop Discovery Client identifies the difference between real user activity and automated actions. This helps improve productivity reporting by separating synthetic activity from actual user interactions, giving a clearer view of true agent activity.

Enhanced Message Integrity Protection

To ensure the highest level of data security, Desktop Discovery includes a checksum verification process for message files stored on disk. This feature automatically detects and prevents the transmission of any files that have been manually altered or tampered with, ensuring only authentic data reaches the server. The tampered files will be stored in a dedicated folder for further review. This helps maintain data integrity and ensures that only reliable information is processed.

Sample jsons

{

"type" : "SystemEvent",

"name" : "ClientSessionStart",

"actionTime" : "2024-11-20T11:51:00.1881877+00:00",

"actionDurationSec" : 27.8913822,

"position" : null,

"imageGuid" : null,

"isCopyAction" : false,

"isPasteAction" : false,

"isSelection" : false,

"seGuid" : null,

"timeoutReached" : false,

"length" : 0.0,

"_finishTime" : null,

"ctrl" : false,

"alt" : false,

"shift" : false,

"cmd" : null,

"eventId" : "bfa407397bc142a4ab9bce7c4bda25a3",

"processName" : "Desktop Discover",

"url" : null,

"processTitle" : "Desktop Discover",

"controlIdentifier" : "dummyControlIdentifier",

"controlType" : "dummyControlType",

"controlClassName" : "dummyControlClassName",

"actionTime_int" : 0,

"text_masked" : null,

"controlIdentifier_hashed" : null,

"processTitle_hashed" : null,

"text_hashed" : null,

"index" : 0,

"date" : "2024-11-20"

}

{

"type" : "ActiveWindow",

"name" : "ActiveWindow",

"actionTime" : "2024-11-20T11:57:49.3822896+00:00",

"actionDurationSec" : 40.1512032,

"position" : null,

"imageGuid" : null,

"isCopyAction" : false,

"isPasteAction" : false,

"isSelection" : false,

"seGuid" : null,

"timeoutReached" : false,

"length" : 0.0,

"_finishTime" : null,

"ctrl" : false,

"alt" : false,

"shift" : false,

"cmd" : null,

"eventId" : "30a98216396e4ff7844a3933e4f1d99b",

"processName" : "Taskmgr.exe",

"url" : null,

"processTitle" : "Task Manager",

"controlIdentifier" : "dummyControlIdentifier",

"controlType" : "dummyControlType",

"controlClassName" : "dummyControlClassName",

"actionTime_int" : 0,

"text_masked" : null,

"controlIdentifier_hashed" : null,

"processTitle_hashed" : null,

"text_hashed" : null,

"index" : 0,

"date" : "2024-11-20"

}

{

"type": "InputKey",

"name": "C",

"time": "2025-06-03T13:01:40.5307617+03:00",

"durationSec": 1.108189,

"windowPosition": null,

"imageGuid": null,

"isCopy": true,

"isPaste": false,

"isSelection": false,

"seGuid": null,

"timeoutReached": false,

"length": 0.0,

"finishTime": null,

"isCtrl": true,

"isAlt": false,

"isShift": false,

"cmd": null,

"eventId": "396b8d02-9b72-4523-af19-50297b0f56a4",

"processName": "Notepad",

"url": null,

"processTitle": "Title Of File - Notepad",

"controlIdentifier": "dummyControlIdentifier",

"controlType": "dummyControlType",

"controlClassName": "dummyControlClassName",

"timeInt": 1748944900530,

"textMasked": "this is a test text for copy-paste operation.",

"controlIdentifierHashed": null,

"processTitleHashed": null,

"textHashed": "this is a test text for copy-paste operation.",

"index": 0,

"date": "2025-06-03"

}

{

"type": "InputText",

"name": "InputText",

"time": "2025-06-03T13:01:38.1501172+03:00",

"durationSec": 3.0570651,

"windowPosition": null,

"imageGuid": null,

"isCopy": false,

"isPaste": false,

"isSelection": false,

"seGuid": null,

"timeoutReached": false,

"length": 0.0,

"finishTime": "2025-06-03T13:01:41.2071823+03:00",

"isCtrl": false,

"isAlt": false,

"isShift": false,

"cmd": null,

"eventId": "c64fc381-22fd-48f3-870e-12292fcc2119",

"processName": "Notepad",

"url": null,

"processTitle": "Title Of File - Notepad",

"controlIdentifier": "dummyControlIdentifier",

"controlType": "dummyControlType",

"controlClassName": "dummyControlClassName",

"timeInt": 1748944898150,

"textMasked": "NiCE to meet you",

"controlIdentifierHashed": null,

"processTitleHashed": null,

"textHashed": "NiCE to meet you",

"index": 0,

"date": "2025-06-03"

}

{

"type": "Click",

"name": "LeftClick",

"time": "2025-06-04T11:56:23.2307529+03:00",

"durationSec": 2.234044,

"windowPosition": null,

"imageGuid": null,

"isCopy": false,

"isPaste": false,

"isSelection": false,

"seGuid": null,

"timeoutReached": false,

"length": 0.0,

"finishTime": null,

"isCtrl": false,

"isAlt": false,

"isShift": false,

"cmd": null,

"eventId": "3bf10f01-78f5-4031-91cf-8c1a2ae9749b",

"processName": "Taskmgr",

"url": null,

"processTitle": "Task Manager",

"controlIdentifier": "dummyControlIdentifier",

"controlType": "dummyControlType",

"controlClassName": "dummyControlClassName",

"timeInt": 1749027383230,

"textMasked": "",

"controlIdentifierHashed": null,

"processTitleHashed": null,

"textHashed": "",

"index": 0,

"date": "2025-06-04"

}

{

"type": "InjectedMouseMove",

"name": "InjectedMouseMove",

"time": "2026-07-02T08:45:17.2767777+03:00",

"durationSec": 0.3316265,

"windowPosition": null,

"imageGuid": null,

"isCopy": false,

"isPaste": false,

"isSelection": false,

"seGuid": null,

"timeoutReached": false,

"length": 0.0,

"finishTime": "2026-07-02T08:45:17.6084042+03:00",

"isCtrl": false,

"isAlt": false,

"isShift": false,

"cmd": null,

"eventId": "2e7d4ec9-9f8f-449f-99a9-dae509efad5f",

"processName": "Notepad",

"url": null,

"processTitle": "*Text File.txt - Notepad",

"controlIdentifier": "dummyControlIdentifier",

"controlType": "dummyControlType",

"controlClassName": "dummyControlClassName",

"timeInt": 1782971117276,

"textMasked": "",

"controlIdentifierHashed": null,

"processTitleHashed": null,

"textHashed": "",

"index": 0,

"date": "2026-07-02"

},

{

"type": "InjectedClick",

"name": "InjectedLeftClick",

"time": "2026-07-02T08:45:26.2998986+03:00",

"durationSec": 3.005302,

"windowPosition": null,

"imageGuid": null,

"isCopy": false,

"isPaste": false,

"isSelection": false,

"seGuid": null,

"timeoutReached": false,

"length": 0.0,

"finishTime": null,

"isCtrl": false,

"isAlt": false,

"isShift": false,

"cmd": null,

"eventId": "c4ca0f7a-037e-48d8-8683-32e0828a9ffa",

"processName": "Notepad",

"url": null,

"processTitle": "*Text File.txt - Notepad",

"controlIdentifier": "dummyControlIdentifier",

"controlType": "dummyControlType",

"controlClassName": "dummyControlClassName",

"timeInt": 1782971126299,

"textMasked": "",

"controlIdentifierHashed": null,

"processTitleHashed": null,

"textHashed": "",

"index": 0,

"date": "2026-07-02"

}

After successful authentication and authorization, and per the client's configuration, the client will begin collecting data from the agent's desktop.

In Desktop Discovery client, data is collected from the following applications:

  • Windows Applications (32/64 bit)

  • Java Applications both (32/64 bit)

  • Web Applications