Is there a way I can track users access to objects and records?

I need the ability to monitor the following:

  • Access to record
  • Access to report on a record
  • File download related to a record

I know that in winter 16 they released the ability to query the SetupAuditTrail object but it doesn't actually give me enough information on what I need.

Is there any thing possible for this?

EDIT I'm currently investigating the EventLogfile.

But I'm not sure if the EventLogfile have any information on the records accessed, for example if I access any Account record is it tracked? If yes, under which type is this info located.

  • 1
    There is the new (paid) SFDC feature - developer.salesforce.com/blogs/tech-pubs/2014/10/… and there are vendor solutions as well appexchange.salesforce.com/…
    – cropredy
    Commented Oct 1, 2015 at 17:50
  • @crop1645 Any idea how much is it to activate that feature?
    – raym0nd
    Commented Oct 6, 2015 at 19:09
  • 3
    You need Event Monitoring and it's not the cheapest SFDC feature. Once you have it, you call a rest api to get a huge dump of all the data. You have to absorb that somewhere outside of Salesforce and extract all that data out into a table structure which you could then filter and load back into Salesforce custom object given you have the space for it. Or you can manage it completely outside of SF and keep it in like a SQL table and report off it that way. Really depends how you want to do it and what tools you already have. Commented Oct 6, 2015 at 20:34
  • 1
    No idea - contact your salesforce salesperson - will depend on org type; wouldn't surprise me if it is a % of your annual subscription
    – cropredy
    Commented Oct 6, 2015 at 21:45

2 Answers 2


You can use the Event Logs to monitor a range of event types, including:

  • Asynchronous Report Run

    "Asynchronous Report Run events are created for reporting requests that are scheduled. This category includes dashboard refreshes, asynchronous reports, schedule reports, and analytics snapshots."

  • Content Distribution

    "Content Distribution events contain information about content distributions and deliveries to users."

  • Content Transfer

    Content Transfer events contain information about content transfer events, such as downloads, uploads, and previews.

  • Document Attachment Downloads

    Document Attachment Downloads events contain details of document and attachment downloads.

  • Report

    Report events contain information about what happened when a user ran a report.

  • Report Export

    Report Export events contain details about reports that a user exported.

  • UI Tracking

    UI Tracking events contain details about user interactions wit the mobile UI.

  • URI

    URI events contain details about user interaction with the web browser UI.

From that shortened list I think URI, Report and Document Attachment Download will give you most of the data you want.

Note that outside of a developer edition org the Event Logs are a paid feature.


I'm trying to use the RecentlyViewed object and track some of the information down.

SELECT Id, Name, Type from RecentlyViewed

But it has couple of limitations, It does not support the following:

  • Reports
  • KnowledgeArticle
  • Article objects

I'm also trying to use the SetupAuditTrail object for any modifications done by the users.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .