Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

How to check who has viewed the Record.

devservicenow k
Tera Contributor
 
1 ACCEPTED SOLUTION

Pavankumar_1
Mega Patron

Hi @devservicenow k ,

 

Fields:

u_viewedrecord -reference field type on Case/Incident table,

u_username - User reference field type on User table,

u_usertime - Date/Time filed type

 

No need 2 reference fields on case table. u_parent, u_viewedrecord. Use any one of them.

 

Create display business rule on case table. but I tried on Incident table.

Script: 

 

(function executeRule(current, previous /*null when async*/ ) {

var graud = new GlideRecord("u_audit"); //audit table name
graud.initialize();
//graud.u_viewedrecord = current.sys_id; // current.sys_id and getunique value both will work as same.
graud.u_viewedrecord = current.getUniqueValue();
graud.u_username = gs.getUserID(); // to get the user id
graud.u_usertime = new GlideDateTime(); // to get the time that viewed by user
graud.insert();

})(current, previous);

 

Give all your field names that you created on audit  table it will work.

 

Relationship Query:

 

(function refineQuery(current, parent) {

// Add your code here, such as current.addQuery(field, value);
current.addQuery('u_viewedrecord', parent.sys_id);

})(current, parent);

 

Screenshot (197).png

 

Audit records LIST:

Screenshot (198).png

 

Audit Relationship: It will display only parent incident/case related records.

 

Screenshot (200).png

 

 

If it helps please click Accept as Solution/hit the Thumb Icon.
ServiceNow Community MVP 2024.
Thanks,
Pavankumar

View solution in original post

18 REPLIES 18

Sagar Pagar
Tera Patron

Hi,

 

You have to create a display business rule on Case table and have to Glide the custom table and store the details in your fields/columns asand

Logged in users name as viewersname

Current time time as - viewerstime

Current record as  - viewersrecord

 

Thanks,

Sagar Pagar

The world works with ServiceNow

BR on display

 

Hi,

You can get the current record using current.getUniqueValue(); method. It will return the current records sys_id.

 

Also, if required you can add view count column and increment it by 1, once revisit the records.

 

Thanks,
Sagar Pagar

The world works with ServiceNow

its not working