What is a dynamic dashboard?
When you create a dashboard, you can set it to ‘run as logged-in user’; this means it’s a dynamic dashboard. When a dashboard runs as the logged-in user, it will display only the records that user has access to.
In Classic you will see this option:
In Lightning, this option appears slightly differently but has the same effect: you choose to view the dashboard as ‘The dashboard viewer’:When would you use this? Imagine you want to create a dashboard for your sales team members that will show them their year to date progress. You want components like amount won, amount lost, pipeline (open opportunities) and accounts displayed in the order of won value. Although your sales team should all see the same components, they should only see their own data. Instead of having to create individual reports and dashboards, you can create a single dashboard and set it to ‘run as logged-in user’. Job done.
You also have the option to let users change the running user. This enables them to view the dashboard as a different user, as long as they have the relevant permissions. This option is useful to allow a sales manager to view the dashboard as an individual member of their sales team.
Dynamic dashboards are awesome…what’s less awesome is the limit on how many you can have!
The small number of dynamic dashboards available to your org mean it’s important to make sure they are being used frequently and being removed (or changed to static dashboards) if not.
If you desperately need more dynamic dashboards, you can also contact your Salesforce Account Executive and ask to purchase more; this is a paid add on.
Find and destroy unused dynamic dashboards
- First you’ll need to create a custom report type.
- Setup > Home > Feature Settings > Analytics > Reports & Dashboards > Report Types (Or just type ‘Report Types’ into the quick find search bar!)
- Then select ‘New Custom Report Type’.
- Select Dashboards as the primary object. Name it (I called mine ‘Dashboards’), give it a description and choose a category to store it in e.g. Administrative Reports. Choose Deployed and click Next.
- On the following page select Save.
- Open the App Launcher and select Reports.
- Create a new report and choose the report type you just created.
- Change the default filters to:
- Show Me = All dashboards
- Created Date = All Time
- Add an additional filter:
- Dashboard Running User = Run as logged-in-user, Let authorized users change running user
- Click Apply, then Save & Run.
You’ll now see a list of your dynamic dashboards. You can check the last refreshed date by navigating to the dashboard. Delete any that aren’t in use!
Gotchas & hints
*A deleted dynamic dashboard will remain in the recycle bin for 15 days and will still count towards your limit. To remove it completely and free up a dynamic dashboard, empty your recycle bin. Best practice is to change the dashboard to a static dashboard before you delete it.
*Because there will only ever be a small number of dynamic dashboards, we can check the last refresh date manually by visiting the dashboard. It is possible to use a different custom report type that displays the ‘Last Run’ date of a report: a report is run when a dashboard is refreshed so the ‘Last Run’ date of a report is also the last refreshed date of a dashboard.
*Consider limiting the permission ‘Manage Dynamic Dashboard’. By removing this permission your users will no longer be able to create or edit dynamic dashboards but they will be able to view and run them.
*To be able to select a different running user, the user requires “View My Team’s Dashboards” or “View All Data” permission.