Is there a way to see who has viewed an Incident?

Steve Brown1
Tera Expert

In our previous ITSM tool 'RMS', we were able to report on who had viewed an Incident and not assigned it to themselves to resolve (Let me explain the scenario - An Analyst is cherry picking incidents that are easy to resolve and leaving the more difficult incidents for their colleagues in the queue) - Does the same functionality exist within ServiceNow?   I have gone through the Incident tables and nothing jumps out and searching with 'accessed', viewed', 'opened' does not return anything relevant to my query.

Many thanks in advance.

Steve

7 REPLIES 7

Steve Brown1
Tera Expert

Many thanks for the responses.   Swift as always!



I will start exploring the possibilities in the next few days to see what is involved - at least its not a straight 'No!'



The justification arose from a meeting with Management who queried whether there was the ability to monitor and report on who had viewed an Incident record and did not assign it to themselves.   In my opinion it is not something that will be used very often and I would consider this as a 'nice to have' and not a requirement.



Regards,


Steve.


Hi Stephen,



You are very welcome. If you do build something like this, I can see that table of "view" records getting quite large as a new entry is created each time someone opens an incident. It is going to be several times larger than the incident table! Processing that much data could be an issue over time. You may want to design in some data archiving as well to address potential performance issues. E.g. Only keep the last 60 days as "active" data, otherwise archive it.



Archiving Data - ServiceNow Wiki


Curt4
Tera Contributor

Hi Steve, I was looking for a similar idea and setup a business rule to run on Display.

When a user opens the ticket, it adds them to a custom list collector field on the form. 

Just thought I would share.

(function executeRule(current, previous /*null when async*/ ) {
if (current.isNewRecord())
return;
var currentUser = gs.getUser().getID();
var oldusers;

oldusers = current.u_list_viewers;
var user = oldusers.split(',');

var i;
for (i = 0; i < user.length; i++) {
var old = user[i];
if (old == currentUser) {
return;
}
}
current.u_list_viewers += ',' + currentUser;
current.update();

})(current, previous);