Don’t Be a Report Hoarder – Purge Already!

Don't Be a Report Hoarder - Purge Already!Reports and dashboards tend to multiply quickly in every org. While there isn’t a limit to the number of reports an org can have, too may reports can cause confusion and create clutter for users. I know from experience that a good majority of reports are created for one-time use but never purged afterwards.

Salesforce has drastically improved the tools Admins can use to audit reports and remove unused or outdated reports quickly and easily from Salesforce, and that is what we are going to review today!

Report on Reports & Dashboards

Before deleting any reports, as with anything, it’s wise to perform an audit to see what’s out there. Salesforce has a report type called Reports which is extremely useful in collecting information on reports, but I prefer to create a custom report type called Reports & Dashboards to get the most granular information possible.

Leveraging a custom report type allows me to see what reports are tied to dashboards and even the specific dashboard component name. To create a report type, click Setup | Create | Report Types | New Custom Report Types.

Reports & Dashboards Custom Report Type

With Reports as the primary object, I can add Dashboard components as a relationship to Reports. If desired, a C-level relationship can be added pulling the dashboard Chatter feed into the mix, but I don’t find that terribly helpful.

Using this report type, I’ll add the Report Name, Folder, Created Date, Created By, Last Modified Date, Last Modified By, Last Run Date, Dashboard Title and Title into the report and sort the report on Last Run Date.

Notice that I didn’t include a field to see which reports are scheduled and it’s not on purpose. The only way to see which reports are scheduled is through the Scheduled Jobs monitoring section: Setup | Monitor | Jobs | Scheduled Jobs. Also, this report doesn’t display any reports that are stored in other user’s My Personal Reports folder. However, this is a feature which will be released in Spring ’16.

To learn more about custom report types, check out The Hidden Functionality of Custom Report Types.

Get Stakeholders Involved

Deleting reports seem like a pretty harmless clean-up exercise, but you’ll be surprised how many users and stakeholders will feel betrayed by not being a part of the thinning process. When a report is deleted, it’s gone. But, unlike data,  a report can always be rebuilt. It’s always better to have stakeholders knowledgeable with what the inconveniences are before performing a delete.

Not only that but getting user buy-in is one way to get and keep adoption of Salesforce. When users are made aware and have ample time to prepare while feeling able to contribute, Salesforce becomes inherently more valuable to them.

More than anything, you’re looking to make stakeholders aware of the project, and what your intent is, along with the repercussions. When I have done this in the past, I’ve presented the data, provided my recommendation (delete reports that haven’t been run in 12 months or more) and told them what would happen if they suddenly needed the report again. Unless every decision is made by committee in your organization, I don’t think you’re looking for permission here.

Provide users ample time to prepare. Let users know that any report that meets the criteria will be purged on a specific date. Give users at least a week so there is plenty of time for questions. Again, in my experience, no one seemed to care, but I can guarantee that someone would have cared had I not communicated first.

Delete Already!

Before Summer ’14, Salesforce Administrators needed the IDE to mass delete reports from Salesforce. Now, Admins have the ability to mass delete using declarative actions, and it’s magic!

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

What’s great about this mass-delete option is that it will not delete reports that are tied to a dashboard. If the analysis of the reports in your org requires that dashboards are also cleaned up, it may be good to start there. Once a dashboard is deleted, the underlying reports would then be eligible for deletion via the declarative mass delete option.

Enter the filter criteria for the reports you wish to delete and click Search.

Mass Delete Reports

In the above screenshot, you can see I’ve used a single criterion based on Last Run Date. Keep in mind that this date is updated any time a report is run, and a report is technically run every time a user views it. Be aware then of opening a report to see if it’s useful because the last run date will update to TODAY() and won’t display in this record search as a result. It’s best to delete the report manually right then and there if you determine that there is no value in it staying in Salesforce.

Click the checkbox for each report that should be deleted, or click the master checkbox at the top of the column to select all reports. Then, click Delete.

Now that the initial purge has taken place schedule a report delete on a regular basis. Every month or every 12 months, it doesn’t matter. What does matter is that users know the deletion cadence, and the criteria are kept the same. If there are any changes to the criteria, notify users before the delete process so that there are no surprises.

Now the fun part – share with me how many reports you deleted from your org after going through this process! Leave a comment below!

Load More Related Articles
Load More By Brent Downey
Load More In Analytics

Leave a Reply

7 Comment threads
6 Thread replies
Most reacted comment
Hottest comment thread
8 Comment authors
Ryan PresleyBrent DowneyJamie Buck-TomekMichael BobeeCindy Jokinen Recent comment authors
newest oldest most voted
Notify of
Katie Rowe
Katie Rowe


Do you have an tips on finding reports based on their columns or filters? Example, all reports have that have Opportunity Name as a column. Or all reports that have Stage=”Qualification” as a filter.



Mark Deuel
Mark Deuel

I assume a null value in the Last Run column means the report was only saved and never run?

Kelly Kanches

Thanks for this! I found this very helpful and added it to my list of “to-do’s” for my org!

Cindy Jokinen
Cindy Jokinen

Great article and very timely for me! I would like to put all the reports I want to delete into a folder so users can review before I delete them. Any recommendation on how to do that in bulk rather than moving each individually?

Thank you!


Michael Bobee
Michael Bobee

I thought it was spelled ‘Hoarder’.

Jamie Buck-Tomek
Jamie Buck-Tomek

Went from 460 in my “My Personal Custom Reports” folder to 105 in about 20 minutes using the Mass Delete functionality. Thank you for sharing that. It would have taken forever otherwise.

Ryan Presley
Ryan Presley

Great article–thanks! Any idea how to use the Last Modified By filter for Mass Deleting? I’ve tried using name and Salesforce ID and neither works. We are trying to clear out a bunch of reports our previous admin created. Thanks again!



Join the bomb diggity Admin Hero email list and never miss a post. Like, never ever!

Hizza! You're subscribed! Nothing but good times ahead!