The end of the year typically means fewer meetings and a quieter office. For many of us, this is the time of year to get some real, uninterrupted work done! With people out of the office and some time to focus, I like to leverage the quiet and get some special work done.

Just like a vehicle, Salesforce should undergo some regular maintenance but a lot of times this doesn’t happen. Performing a regular audit helps to keep your instance organized and running smoothly.

Reports & Dashboards

We’re going to start easy. With everyone being able to generate reports, there is a lot of trash. Many individuals create a one-time report for a specific purpose but never go back to delete it. With the Summer ’14 release, administrators are now able to delete reports through the Setup UI using filter criteria.

Work with your stakeholders to determine what should be deleted. When I did this internally, I generated a report on reports and pulled in last run date to understand what reports are being used. As a business we decided to delete everything that hadn’t been run in the last year. This resulted in over 900 reports purged from Salesforce!

To delete reports from Salesforce, click Setup | Data Management | Mass Delete Records | Mass Delete Reports.

Once there, enter the filter criteria. In my instance, I used only the last run date as a filter. Don’t worry, Salesforce won’t delete any reports that are being used in a dashboard.

Salesforce doesn’t give us the ability to mass delete dashboards so this will be more of a manual process. Review the existing dashboards in your org and determine what can be removed. Purge at will and as you do so, you’ll feel good for de-cluttering!

AppExchange Apps

Often times AppExchange apps get installed and we tend to forget about them but they need some lovin’ every now and again. It’s easy to install free apps to evaluate them so during this audit, take some time to review what is installed and if it is being used. If not, delete it from production.

Keep in mind that deleting AppExchange apps can be tedious depending on the app as sometimes they infiltrate the org. Uninstalling an app can be like trying to unwrap a present wrapped in duct tape.

Once the unused apps are uninstalled, review the remaining apps and determine if any of them need to be updated. Not all apps notify customers that there is a newer version available. Easy find what apps have updates available by navigating to Help & Training, clicking your profile photo then My Account. Once there, you’ll see a screen similar to this one.

AppExchange packages with updates

Click the update button for the AppExchange apps that require an update and go through the install process. Be sure to check the change log for all apps that are being updated to validate that there is no negative impact to your org.

User Permissions

This audit is particularly important if there are multiple admins who can make changes to user permissions or if there have been recent changes to profiles and permission sets. Security is an important part of Salesforce. Make sure it is working correctly be auditing permissions across the board.

PermComparitor is a free app built on Heroku that will allow users to view permissions across profiles, permission sets or users. See similar and different permissions and determine what if any changes need to be made.

Workflows, Validation Rules & Email Templates

As workflow and validation rules get turned off, we leave them in place just in case we need to reactivate them. There are probably several workflow and validation rules that could be fully deleted. Review these rules and purge what is not needed. While you’re at it, update the description fields if necessary to help identify what the rule does.

Email templates are also candidates for deletion – especially those tied to the inactive workflows. Delete what is not being used any longer to tidy up the template folders.

Let’s Get to Work

Whew! With all of this work, you are going to need some good music to listen to. Here’s a playlist I put together. Hopefully it makes your audit more enjoyable!

What other items would you suggest auditing? Leave a comment below!


14 thoughts on “ Auditing Your Salesforce Org ”

  1. Should be titled “Auditing Your Salesforce Org.” Instance refers to a large group of orgs. Ex: NA4, CS10. This terminology can get confusing.


  2. From an setup standpoint I check the following:
    * Inactive Workflow rules that can be deleted – as you mentioned
    * Workflow rules without description – if no documentation why do we have this rule?
    * Roles without Users – you’ll have to use Dataloader or another tool to pull Roles and Users separately, then do an exception comparison. Useful for purging ‘old’ roles from the hierarchy for easier setup
    * Profiles without Users – similar to above – may be ‘old’ profiles no longer used. Or if only a handful of users, can you create a permission set for the unique permissions required

    From a data standpoint I check the following:
    * Open leads that have not been modified in X days
    * Open opptys that have not been modified in X days – if no one is updating the data is it really ‘active’?
    * Records owned by inactive users

    Liked by 1 person

  3. Hi Brent,

    I thought I saw an Excel worksheet related to auditing Workflows and Validation rules from this site before. Was it ever there because I don’t see it anymore.

    In our org, we have multiple admins and I would like to recommend your audit style to keep track of all our workflows and validation rules.

    Please let me know.

    Thanks in advance.


  4. Is there an App for that? lol is thee an app that will tell me when the past time and installed app was ran? We are cleaning up and desire to remove unused apps and wanted to run a report or soemthing to identify when an app was last used and by whom. We found the app for connections but not installed apps. Any suggestions? Thanks


  5. Hello Brent,

    I need to know if there is any way to monitor the usage of custom objects per user license, i.e. how can we determine the count of custom objects which are accessible to each user within an org.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.