Who Accessed my Report

StacyWhetzell
Tera Contributor

I need to:

- produce a list of all reports that require ITIL role to access (done/easy)

-     I use a fix script to create a CVS file

-  I need to find a way, via script?, to find out "which user/s" have viewed the above identified reports.

 

I thought there was an ootb way to do this, but I have not been able to find such

 

Advice much appreciated

StacyLen

1 REPLY 1

ayushraj7012933
Mega Guru

Hi @StacyWhetzell ,

You’re on the right track  — but this is one of those areas where ServiceNow has a limitation.

OOTB Capability

There is no out-of-the-box way to reliably track which users have viewed a report.

ServiceNow does not audit report access/view activity by default.

 What You Can Try (Limited Options)

1. sys_report_stats

  • Table: sys_report_stats

This may give you:

  • Report execution details

  • Run counts

  • Sometimes user info (depending on how the report is executed)

 Limitation:

  • Not consistent for all reports

  • Not designed for audit tracking

2. System Logs / Transactions

  • Tables:

    • syslog

    • syslog_transaction

You can try filtering:

  • URLs containing sys_report.do

  • Report sys_id

Limitation:

  • Very noisy

  • Not structured for reporting

  • Hard to maintain

Best Practice

If you need accurate tracking, you’ll need to implement custom logging going forward

Suggested Approach

  1. Create a custom table (e.g., u_report_access_log)

  2. Capture:

    • User

    • Report name

    • Timestamp

  3. Log access using:

    • UI Action / Script Include

    • OR ACL script on report access (advanced)


      If this helps, please mark it as
       Helpful and Accept as Solution.

      Thanks!