XSCREENSAVER / 3D PIPES

[readonly] markdown buffer

Normal Salesforce Dashboards Are Getting Custom LWC Widgets

May 19, 2026 · 6 min read

Summer '26 lets admins add a custom Lightning Web Component to an ordinary Salesforce dashboard. Not a CRM Analytics dashboard: the normal Dashboards tab built around reports, charts and metrics.

It is a small escape hatch, and that is exactly why it could be useful.

What changes

1. Dashboards gain a custom component slot

In dashboard edit mode, select +Widget, choose Lightning Web Component, configure it and add it alongside the standard widgets.

Salesforce's example is a waterfall chart. That is a good test: use the LWC for a visual or small interaction the standard widget set cannot express, while leaving ordinary reporting to ordinary widgets.

2. The component can fill a genuine reporting gap

A revenue bridge can show the movement from starting pipeline through new, won and lost business. That story is hard to communicate with disconnected metrics but natural as one custom visual.

The server-side contract can stay small:

public with sharing class RevenueBridgeController {
    public class BridgeStep {
        @AuraEnabled public String label;
        @AuraEnabled public Decimal amount;
        @AuraEnabled public String kind;

        public BridgeStep(String label, Decimal amount, String kind) {
            this.label = label;
            this.amount = amount;
            this.kind = kind;
        }
    }

    @AuraEnabled(cacheable=true)
    public static List<BridgeStep> loadBridge() {
        AggregateResult result = [
            SELECT SUM(Amount) total
            FROM Opportunity
            WHERE IsClosed = false
            WITH USER_MODE
        ];

        return new List<BridgeStep>{
            new BridgeStep('Open pipeline', (Decimal) result.get('total'), 'start')
        };
    }
}

The important part is not the chart library. It is returning only the summary the widget needs and keeping access aligned with the current user.

3. Dashboard security still matters

Standard dashboard widgets inherit report and dashboard behaviour. A custom LWC is application code, so its data path must be deliberate.

Use sharing-aware Apex and user-mode queries for user-facing data. Design a sensible empty state for users who can see less. A custom widget must not become a quiet route around the permissions applied to the rest of the dashboard.

4. One component encourages focus

Salesforce's linked help currently describes a limit of one custom LWC per dashboard. Treat that as a design constraint, not an inconvenience.

Good candidates include:

  • a waterfall or cohort visual
  • a data-quality health panel
  • a forecast movement explainer
  • a compact external-system status
  • one action that belongs beside the dashboard data

If the component needs tabs, several workflows, constant polling and a large state model, it probably belongs on a Lightning app page instead.

5. Standard widgets remain the default

Do not rebuild a standard chart in JavaScript merely because you can. Report-backed widgets are familiar, maintainable and easy for admins to govern.

The custom LWC earns its place when it answers one question the rest of the dashboard cannot: what can we not visualise, what context is missing, or what small action belongs here?

A narrow but useful extension

This release does not turn dashboards into general app pages. It gives them one carefully chosen custom surface.

That balance is the appeal. Keep the reporting conventional, use the LWC for the missing piece and make its security model match the surrounding dashboard.

Sources