In Blog, Tips & Tricks

I’m willing to bet that many organizations that have been running Salesforce for a long time have many dashboards and reports they no longer need or use. Ideally, these should get cleaned up and removed from your system. If you’re like me, you don’t want to spend anymore time on cleaning than needed.

You may already know about cleaning up old reports. You can run a report on Reports and find the “last run” date of each report. Unfortunately, there’s not a “last run” for Dashboards. Worse, you can’t base the use of a dashboard based on the “Last Refreshed” date you see on the dashboard. That may be the date YOU last refreshed, not someone in the company.

What’s an admin to do?

Why Clean Up Dashboards Anyways?

Why bother to clean them up if it’s such a bother anyways? The big reason is improved user experience. When you have lots of out-dated dashboards it simply clogs up the dashboard list for users. This makes finding the GOOD dashboards more difficult. Yes, you can hide dashboard folders to help with this – but you still need to know which Dashboards to hide!

Another good reason is to improve adoption. A user may not go to the correct dashboard to get the metrics and information they need as part of their job. Users may simply give up and stop looking at dashboards all together. This makes driving behavior and supporting these users more difficult. You also run the risk of “Attitude Spillage.” Why should I trust the rest of Salesforce, if I can’t trust the part that is supposedly measuring me?

Let’s Get Cleaning

Just like cleaning your house, you will need some tools. So let’s take a look at our metaphorical cleaning devices.

  1. A Dashboard “Archive” folder – This folder is hidden for everyone but the admin
  2. A Dashboard report “Archive” Folder – This folder is hidden for everyone but the admin
  3. Custom Report Type:  Dashboards with Reports – More on this in a moment
  4. List for “No longer needed folders” – it’s a list of… well folders you no longer need

I’m assuming you have your folders ready and something to start making a list of the folders you will soon be able to remove.

Gather the Data

We’re going to use a Custom report type for “Dashboards with Reports. This is something you will likely need to create since it isn’t a standard report. You can find your custom report types under Setup -> Create -> Report Types.

When you create your new report type you have to specify a primary object. This will be “Reports.”  Then you’ll want to select a related object which will be “Dashboard Components.” This is technically a report of Reports with Dashboard Components – but that doesn’t quite roll off the tongue.

Custom report Type Dashboard with reports

Object Relationships in the Report with Dashboard Custom Report Type


Now that we’ve acquired our cleaning tool, let’s go create a report with our new report type. How you clean will depend on:

  1. How Stale do you want your dashboards to get. A good rule of thumb for me is anything that’s hasn’t been run for 1 year is fodder. Everything else is a concern to discuss with the stake holders of those dashboards.
  2. How often do you want to clean up? I’m a fan of the annual clean up but some people like their spring cleaning a bit less seasonal.
  3. I don’t actually have a third thing to consider, but number lists of only 2 items look silly

For my reports, I’m looking for any Report Last Run older than a year. I run report I’m want to include the dashboard title, report Name, Report ID,  report folder, and the Last Run Date. Depending on who creates the reports in your organization you may want to include the created by or last modified by field as well.

I also like to group by the Dashboard Title since you will get multiple rows for each dashboard. Remember, we’re technically looking at Dashboard components and not just the dashboard itself.

Now I have my report of all the reports tied to dashboards and when the report was last run. When a dashboard is refreshed, it runs the reports that make up the dashboard components.

I have my list – now what

My personal preference is to move the Dashboard and reports into our archive folders. I like to keep TWO sets of Archive folders. I put all the reports and Dashboards I have identified in one set. The second set is for NEXT Years cleanup. I wait 1 year to give people the chances to scream and yell before I start deleting old dashboards.

In the meantime, everything is in an archive folder which only you have visibility to. For all intensive purposes it looks like things are deleted!


This plan isn’t without some gotchas. Things to consider.

  1. You will see different Last Run Dates of the reports. While all the reports will have the same last run date when the dashboard refreshes, there’s nothing that prevents a user from looking at the reports outside of the dashboard.
  2. You may be able to get rid of Dashboards but not the report. Sometimes users will look at a report but not the dashboard. You may have to keep those reports available.
  3. Not every report used in a Dashboard may show up – especially if those reports are being used. So pay close attention to the names of the reports as well as the dashboard when you’re moving them to the archive folder!
  4. You cannot delete Reports that are used in a Dashboard. When it is time to delete, you have to delete the dashboard first THEN the reports


Recommended Posts
Showing 5 comments
  • shanmukha

    I think we can achieve this by using standard report type Reports with Dashboards, rather than creating new Report type

  • Sarah Marquardt

    Hi Brian- thanks for the info, but I am still a little unclear about how to see the last run date of a dashboard.

    New Admin here, and coincidentally, I inherited an org which used to belong to you! To give you a clue of the kind of cleanup I am looking at, I have 29 dashboards last modified by YOU in 2011 🙂

    • Brian Kwong

      Sarah! Welcome to being in the very first Salesforce environment I ever worked in.

      That’s a lot of old dashboards! I bet a lot of them haven’t been touched.

      The big thing you need is a custom report type (number 3 in the list) Dahsboards with Report

      I THINK I may have made this, but it’s been a few years, so it may not be there. You would see it if you go to setup, search for “Report Type” and click on the results.

      One you have that report type, you’re going to create a report using that Type. You’ll be able to get the Last Run from that report.

      If you’re local to the Madison area, I’ll be happy to get together to chat and walk you through it.

  • Pranay

    How to find private dashboards based on Last Run Date?

pingbacks / trackbacks

Leave a Reply

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