Create Advanced Visualforce Dashboard Components

Create a Visualforce page with a custom list controller, then use it as a dashboard component.
Available in: Salesforce Classic (not available in all orgs)
Available in: all editions

Visualforce pages as dashboard components are only available in Salesforce Classic. In Lightning Experience, you can create a custom tab and use that as a dashboard for your custom lightning components.

To be included in a dashboard, a Visualforce page must use a custom controller, use a standard or custom list controller, or not have a controller. You can’t add a Visualforce page with a standard controller to a dashboard. Only Visualforce pages that meet these requirements appear as options in the Data Sources tab.

Visualforce dashboard components aren’t supported when third-party cookies are disabled. See Visualforce Limitations in Salesforce Classic When Third-Party Cookies are Blocked.

Note

This Visualforce dashboard component displays all of the open cases associated with a contact named “Barbara Levy.”
  1. Create a custom list controller called retrieveCase.
    1public class retrieveCase {
    2
    3    public String getContactName() {
    4        return 'Barbara Levy';
    5    }
    6
    7    public List<Case> getCases() {
    8        return [SELECT status, subject FROM Case
    9                WHERE Contact.name = 'Barbara Levy' AND status != 'Closed' limit 5];
    10    }
    11}
  2. Create a Visualforce page that uses the retrieveCase custom controller.
    1<apex:page controller="retrieveCase" tabStyle="Case">
    2    <apex:pageBlock>
    3        {!contactName}'s Cases
    4        <apex:pageBlockTable value="{!cases}" var="c">     
    5            <apex:column value="{!c.status}"/>
    6            <apex:column value="{!c.subject}"/>
    7        </apex:pageBlockTable>
    8    </apex:pageBlock>
    9</apex:page>
  3. To add the Visualforce page to a dashboard, see Add a Dashboard Component in Salesforce Classic.
A Visualforce dashboard titled Barbara Levy's Cases