Skip to content

Creating Widgets

This guide walks through creating widgets, from picking a type to configuring data and saving.

  1. Open a dashboard in edit mode (click the pencil icon)
  2. Click + Widget in the header
  3. The Widget Editor opens, starting with widget type selection
  1. Hover over any widget
  2. Click the menu icon (three dots)
  3. Select Edit

The settings menu appears on any widget you have permission to edit. You must have Staff role or higher, and the dashboard must not be shared via public link. Snapshot widgets do not show the settings menu.


Pick what kind of widget you want. They’re organized into two categories:

WidgetDescriptionBest for
Bar ChartCompare values side-by-sideCategory comparisons, rankings
Line ChartTrack trends over timeTime series, performance tracking
Pie ChartShow proportions at a glancePart-to-whole relationships
TableRows and columns of dataDetailed records, drilldown
NumberOne big KPI displaySingle metrics, goals
GaugeVisualize progress to a goalPercentages, capacity
MatrixMulti-metric scorecardsMultiple KPIs per entity
FunnelConversion stage breakdownPipelines, drop-off analysis
WidgetDescriptionBest for
Static ValueCustom text or markdownHeadlines, announcements
Dynamic ValuePull live text from dataStatus updates, latest record
ImageDisplay logos or graphicsBranding, diagrams
External WebsiteEmbed any web pageThird-party tools
ButtonNavigate with a clickDashboard links

After selecting the type, you’ll see a three-panel layout:

Widget Settings

  • Global settings like title, description, display options

Data Layers (data visualization widgets only)

  • Each layer is a separate calculation
  • Multiple layers let you compare different datasets or filters
  • Drag to reorder, duplicate or delete as needed

See how your widget looks in real time. The preview updates as you make changes.

For most widget edits, the preview refreshes in the background. If you trigger a manual preview refresh, Resplendent shows the loading state while it fetches new results.

Options change based on what’s selected in the left panel:

  • Widget Settings selected: Global options like title, colors, axes
  • Data Layer selected: Data-specific options like dataset, calculations, filters

Each data layer defines a calculation for your widget.

  1. Click Select Dataset in a data layer
  2. Choose from:
    • Datasets: Direct sync from integrations (standard tables)
    • Modified Datasets: Transformed or filtered data
  3. Columns load automatically

Each data layer needs:

SettingDescriptionRequired
NameLabel for this data layerYes
DatasetSource of dataYes
FunctionHow to aggregate the data (Row Count, Sum, Average, etc.)Yes
ColumnWhich column to calculate (if required by function type)Varies
FunctionDescriptionRequires column
Row CountCount of records in the datasetNo
SumTotal of all valuesYes
AverageMean valueYes
MedianMiddle valueYes
MaxLargest valueYes
MinSmallest valueYes
ModeMost common valueYes
RangeDifference between max and minYes
CustomCreate your own formulaNo
PercentagePercentage matching a filterNo

Limit which data is included:

  1. In the data layer config, click Filter
  2. A filter popover opens
  3. Select the column to filter
  4. Choose the operator (equals, contains, greater than, etc.)
  5. Set the filter value
  6. Add multiple conditions as needed
  7. Click Done to apply the filter and close the popover

You can create complex logic with groups and AND/OR operators. See Filtering Data for the full guide.

For chart widgets, define what appears on the X-axis:

  1. Select the X-Axis field
  2. Choose a column from your dataset
  3. Common choices:
    • Date/time columns for trends
    • Category columns for comparisons
    • Status or type columns for breakdowns

SettingDescription
TitleWidget display name
DescriptionOptional markdown description
Show TitleToggle title visibility
No Data MessageText shown when widget has no data (max 255 chars)

Widgets show a message when there’s no data to display. You can customize this text:

  1. Open the widget editor
  2. Select Widget Settings in the left panel
  3. Find the No Data Message field under General settings
  4. Enter your custom text (up to 255 characters)

Default values:

  • Chart widgets (bar, line, pie, gauge, funnel, table, matrix, dynamicString): “No Data”
  • Number widgets: “0” (number widgets always display 0 when there’s no data, so this setting is not available for them)

Formatting numeric messages

If you enter a number as the no data message, it follows your widget’s formatting rules. For example, if your widget has the $ Prefix toggle enabled and you set the no data message to “0”, it displays as “$0”. Similarly, % Suffix and Abbreviate Numbers settings apply to numeric no data messages.

This works well for KPI-style widgets where you want empty states to show “$0” or “0%” instead of “No Data”.

SettingDescription
Show LegendDisplay chart legend
Legend PositionTop, bottom, left, or right
X LabelCustom X-axis label
Y LabelCustom Y-axis label
Font SizeOverride default text size
SettingDescription
Show X AxisToggle X-axis visibility
Show Y AxisToggle Y-axis visibility
Y Min/MaxSet fixed axis range
Cumulative X AxisShow running totals
Log Scale (Y)Use logarithmic scale
Horizontal ChartRotate bar charts
Fill Empty PointsAdd zeros for missing time periods
Show AreaFill area under line charts
X Axis Label RotationRotate X-axis labels (degrees)
SettingDescription
RoundingDecimal places (0-10)
% SuffixAdd percent sign
$ PrefixAdd dollar sign
Abbreviate NumbersShow 1.2K instead of 1,200
Compare PointsShow comparison to previous/custom value
SettingDescription
Min ValueScale minimum (default: 0)
Max ValueScale maximum (default: 100), fallback when dynamic max absent
Show Interval LabelsDisplay value labels along the gauge scale
Dynamic Max LayerAdd a second data layer to drive max value from live data

Dynamic maximum: Add a second data layer to calculate the max value from your data. The gauge shows a hint explaining this when you have one data layer configured. Click Add Max Data Layer to enable it. If the second layer has no data, the static Max Value is used instead.

SettingDescription
Transpose Table DataSwap rows and columns
Pivot Table DataCreate cross-tabulation
Enable DrilldownShow detailed data on click
Drilldown Date FormatControl date display format
SettingDescription
Pie Label FormatValue, percentage, label, or combinations
Pie RadiusSize of the pie (%)
Inner RadiusCreate doughnut chart (set to 40 for standard doughnut)
SettingDescription
Transpose Table DataSwap rows and columns
Enable DrilldownShow detailed data on click
Matrix IndexColumn to use as row labels
Fit Grid to Widget WidthAuto-size columns to fill available space
% Suffix Data LayersWhich calculations show percent sign
$ Prefix Data LayersWhich calculations show dollar sign
Abbreviate Numbers Data LayersWhich calculations use compact notation (1.2K instead of 1,200)

Matrix widgets can apply different formatting to each data layer. Instead of using global toggles that affect all values, you pick which calculations get which format:

  1. Add multiple data layers to your matrix widget
  2. In Widget Settings, find the Matrix Options section
  3. Use the multi-select dropdowns to assign formatting:
    • % Suffix Data Layers: Select calculations that should show percentages
    • $ Prefix Data Layers: Select calculations that should show currency
    • Abbreviate Numbers Data Layers: Select calculations to display as 1.2K, 3.4M, etc.

Example use case: You have a matrix showing revenue, ticket count, and satisfaction score for each client. You want revenue formatted as currency ($50K), ticket count abbreviated (1.2K tickets), and satisfaction as a percentage (95%). Select the revenue calculation in the $ Prefix dropdown, ticket count in the Abbreviate Numbers dropdown, and satisfaction in the % Suffix dropdown.

When you use threshold colors on bar, line, or matrix widgets, the same prefix or suffix is used in threshold labels when all visible series share it. If visible series use different units, the shared threshold label leaves the prefix or suffix blank to avoid mixed formatting.

Per-layer formatting for bar and line charts

Section titled “Per-layer formatting for bar and line charts”

Bar and line charts can override the widget’s % suffix and $ prefix for each data layer.

  1. Open a bar or line chart in the widget editor.
  2. In a data layer, go to Data Layer Settings.
  3. Set % Suffix to one of these values:
    • Inherit (widget setting): Use the widget-level % suffix toggle.
    • On: Always show % for that data layer.
    • Off: Never show % for that data layer.
  4. Set $ Prefix the same way:
    • Inherit (widget setting): Use the widget-level $ prefix toggle.
    • On: Always show $ for that data layer.
    • Off: Never show $ for that data layer.

These per-layer settings apply to chart values in labels and tooltips. If all visible series resolve to the same prefix or suffix, the shared Y-axis and threshold labels use it too. If series use different units, the shared axis leaves the prefix or suffix blank to avoid mixed labels.


Choose how colors apply to your widget:

Default Colors

  • Follow the widget’s color palette
  • Override colors per data layer

Threshold Colors

  • Color based on data values
  • Define rules like “green until 100, red after”
  1. Set Color Type to “Use threshold colors” in the Widget Settings panel
  2. Click Configure Thresholds to open the threshold editor popover
  3. For single-layer widgets (Number, Bar, Line):
    • Add conditions by clicking the + button
    • Each condition specifies: value, color, and comparators
    • Visual Comparator (≥, ≤, or =): Controls when the color is applied (default: ≥)
    • Sound Comparator (≥, ≤, or =): Controls when the alert sound triggers (default: ≤)
    • Optionally assign a sound and configure repeat intervals
  4. For multi-column widgets (Table, Matrix):
    • Add a threshold set for each column or data layer you want to configure
    • Each data layer on matrix widgets can have its own set of thresholds
    • Each column on table widgets can have its own set of thresholds
    • They require multiple sets of thresholds because a common use case is to set something like:
      • amount column: [visual: value ≤ 100: red] [visual: value ≤ 500: yellow] [visual: value ≥ 100: green]
      • hours column: [visual: value ≤ 5: red] [visual: value ≤ 7: yellow] [visual: value = 8: green] [visual: value ≥ 9: red]
    • Select the target column/layer, then add conditions
  5. Configure global sound settings:
    • Click the settings icon to set Allow Mute and Snooze Duration

Each threshold condition includes a toggle to control whether the threshold color affects the widget value. Turn it off when you want the rule to remain available without changing the displayed color.


SettingDescription
Time IncrementGroup time-based data by minute, hour, day, week, month, quarter, or year
TimezoneView data in any timezone
Use Fiscal CalendarReplace natural calendar boundaries with your company’s fiscal periods (see below)

On datetime x-axis widgets, you can switch the time increment directly from the dashboard without opening the editor.

  1. Hover over the widget to reveal the footer action icons
  2. Click the clock icon to open the time increment menu
  3. Choose an option: Auto, Minute, Hour, Day, Week, Month, Quarter, or Year
  4. The widget refreshes with the new grouping applied
  • Auto lets Resplendent pick the increment based on your date range. When Auto is active, the resolved increment is shown in parentheses (for example, “Auto (Day)”)
  • The clock icon only appears on widgets with a datetime x-axis and only when you have edit access
  • Selections made from the footer update the widget immediately and persist after you leave the dashboard

If your company has a fiscal calendar configured, a Use Fiscal Calendar toggle appears in the widget editor when fiscal calendar support is available. For number widgets, the toggle is shown in the Compare section. For other supported widgets, it stays in Time & Grouping. Enabling it makes the widget resolve month, quarter, and year boundaries from your fiscal period definitions instead of the natural calendar.

The toggle is only shown when all of these are true:

  • The widget is data-based and has a dataset selected
  • The widget has exactly one data layer
  • The widget filter includes a date range (between_dates) or a date-range filter variable
  • Compare With Previous Period is set

When the toggle is on, previous-period calculations also follow fiscal boundaries: “Previous Period” steps back by the same number of fiscal periods, and “Period Last Year” finds the matching period(s) in the prior fiscal year. If no fiscal period covers the target date, the widget falls back to the natural calendar.

SettingDescription
GroupingStack bars or create multiple series
SortControl data order (alphabetical, highest, lowest)
Value LimitLimit number of values displayed

Show how current values compare to previous or custom values:

  1. Enable Compare Points
  2. Choose comparison type:
    • Previous: Compare to previous data point
    • Custom: Compare to a fixed value
  3. Choose method:
    • Percent: Show percentage change
    • Difference: Show absolute difference

For widgets with time-based filters:

  1. Requires exactly one data layer
  2. Filter must use date range or filter variable
  3. Choose comparison:
    • Previous Period: Compare to immediately preceding period
    • Period Last Year: Compare to same period last year

  • Display Mode: Text or Markdown
  • Enter your content directly in the editor
  • Dataset: Select a data source
  • Column: Which column to display
  • Function: How to select the value (first record, etc.)
  • Formatting: $ prefix, % suffix, abbreviate numbers
  • Image URL: Link to a publicly hosted image
  • IFrame URL: Link to embed
  • Button Text: Label text
  • Button Mode: Dashboard link or external URL
  • Select dashboard or enter URL

  1. Click Save & Close to save
  2. The widget appears on the dashboard
  3. Drag to reposition if needed
  1. Hover over the widget and click the menu icon (three dots)
  2. Select Duplicate
  3. The widget shows a “Duplicating widget…” loading indicator while the copy is being created. The Duplicate button is disabled during this time to prevent double-submissions.
  4. A success notification appears when the copy is ready. If something goes wrong, a failure notification tells you the duplication did not complete.
  5. The new widget appears on the dashboard. Edit the copy as needed.
  1. Hover over the widget and click the menu icon (three dots)
  2. Select Delete
  3. Confirm deletion

Show top performers:

  1. Create a bar chart
  2. Set sorting to “Highest”
  3. Set Value Limit to 10
  4. Displays top 10 items

Track changes over time:

  1. Create a line chart
  2. Set X-axis to a date/time field
  3. Set Time Increment appropriately
  4. Enable Show Area for emphasis

Compare this month vs. last month:

  1. Create a number widget
  2. Add filter: This Month
  3. Enable Compare With Previous Period
  4. Select “Previous Period”

  • Check if the dataset has data
  • Verify filters aren’t excluding all records
  • Ensure selected columns exist
  • Customize the No Data Message in Widget Settings if you want different text (for example, “$0” instead of “No Data”)
  • Review the calculation settings
  • Check the correct column is selected
  • Verify aggregation type matches your intent

Yes. Click the widget menu (three dots) and select Duplicate. The widget shows a loading indicator while the copy is being created, and a notification confirms success or failure. Once done, the new widget appears on the dashboard.

Number for single KPIs. Bar Chart for category comparisons. Line Chart for trends over time. Table for detailed records. Pie Chart for part-to-whole (5 or fewer categories). See Chart Types for the full guide.

Can I use multiple datasets in one widget?

Section titled “Can I use multiple datasets in one widget?”

Yes. Add multiple data layers, each connected to a different dataset. This is useful for comparing metrics from different sources side-by-side.

Common causes: the dataset has no records, filters exclude all data, or the selected columns don’t exist. Check the dataset first, then review widget filters.

You can also customize what text appears when there’s no data. In the widget editor, go to Widget Settings and change the No Data Message field. For number widgets, this defaults to “0”; for other widgets it defaults to “No Data”.

Use the Percentage function in the data layer. It calculates what percentage of records match your filter conditions. Alternatively, use Custom formula for more complex calculations.

Can I change a widget’s type after creating it?

Section titled “Can I change a widget’s type after creating it?”

No. Widget type is set at creation. To change types, create a new widget with the desired type and delete the old one.