Creating Widgets
This guide walks through creating widgets, from picking a type to configuring data and saving.
Opening the Widget Editor
Section titled “Opening the Widget Editor”From a dashboard
Section titled “From a dashboard”- Open a dashboard in edit mode (click the pencil icon)
- Click + Widget in the header
- The Widget Editor opens, starting with widget type selection
From an existing widget
Section titled “From an existing widget”- Hover over any widget
- Click the menu icon (three dots)
- 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.
Widget creation process
Section titled “Widget creation process”Step 1: Select widget type
Section titled “Step 1: Select widget type”Pick what kind of widget you want. They’re organized into two categories:
Data visualizations
Section titled “Data visualizations”| Widget | Description | Best for |
|---|---|---|
| Bar Chart | Compare values side-by-side | Category comparisons, rankings |
| Line Chart | Track trends over time | Time series, performance tracking |
| Pie Chart | Show proportions at a glance | Part-to-whole relationships |
| Table | Rows and columns of data | Detailed records, drilldown |
| Number | One big KPI display | Single metrics, goals |
| Gauge | Visualize progress to a goal | Percentages, capacity |
| Matrix | Multi-metric scorecards | Multiple KPIs per entity |
| Funnel | Conversion stage breakdown | Pipelines, drop-off analysis |
Content widgets
Section titled “Content widgets”| Widget | Description | Best for |
|---|---|---|
| Static Value | Custom text or markdown | Headlines, announcements |
| Dynamic Value | Pull live text from data | Status updates, latest record |
| Image | Display logos or graphics | Branding, diagrams |
| External Website | Embed any web page | Third-party tools |
| Button | Navigate with a click | Dashboard links |
Step 2: Configure the widget
Section titled “Step 2: Configure the widget”After selecting the type, you’ll see a three-panel layout:
Left panel: Navigation
Section titled “Left panel: Navigation”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
Center panel: Live preview
Section titled “Center panel: Live preview”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.
Right panel: Configuration
Section titled “Right panel: Configuration”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
Configuring data layers
Section titled “Configuring data layers”Each data layer defines a calculation for your widget.
Selecting a dataset
Section titled “Selecting a dataset”- Click Select Dataset in a data layer
- Choose from:
- Datasets: Direct sync from integrations (standard tables)
- Modified Datasets: Transformed or filtered data
- Columns load automatically
Configuring the calculation
Section titled “Configuring the calculation”Each data layer needs:
| Setting | Description | Required |
|---|---|---|
| Name | Label for this data layer | Yes |
| Dataset | Source of data | Yes |
| Function | How to aggregate the data (Row Count, Sum, Average, etc.) | Yes |
| Column | Which column to calculate (if required by function type) | Varies |
Available functions
Section titled “Available functions”| Function | Description | Requires column |
|---|---|---|
| Row Count | Count of records in the dataset | No |
| Sum | Total of all values | Yes |
| Average | Mean value | Yes |
| Median | Middle value | Yes |
| Max | Largest value | Yes |
| Min | Smallest value | Yes |
| Mode | Most common value | Yes |
| Range | Difference between max and min | Yes |
| Custom | Create your own formula | No |
| Percentage | Percentage matching a filter | No |
Adding filters
Section titled “Adding filters”Limit which data is included:
- In the data layer config, click Filter
- A filter popover opens
- Select the column to filter
- Choose the operator (equals, contains, greater than, etc.)
- Set the filter value
- Add multiple conditions as needed
- 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.
Setting the X-Axis
Section titled “Setting the X-Axis”For chart widgets, define what appears on the X-axis:
- Select the X-Axis field
- Choose a column from your dataset
- Common choices:
- Date/time columns for trends
- Category columns for comparisons
- Status or type columns for breakdowns
Widget settings
Section titled “Widget settings”General settings
Section titled “General settings”| Setting | Description |
|---|---|
| Title | Widget display name |
| Description | Optional markdown description |
| Show Title | Toggle title visibility |
| No Data Message | Text shown when widget has no data (max 255 chars) |
Customizing the no data message
Section titled “Customizing the no data message”Widgets show a message when there’s no data to display. You can customize this text:
- Open the widget editor
- Select Widget Settings in the left panel
- Find the No Data Message field under General settings
- 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”.
Chart widgets
Section titled “Chart widgets”Legend & labels
Section titled “Legend & labels”| Setting | Description |
|---|---|
| Show Legend | Display chart legend |
| Legend Position | Top, bottom, left, or right |
| X Label | Custom X-axis label |
| Y Label | Custom Y-axis label |
| Font Size | Override default text size |
Axes & scale
Section titled “Axes & scale”| Setting | Description |
|---|---|
| Show X Axis | Toggle X-axis visibility |
| Show Y Axis | Toggle Y-axis visibility |
| Y Min/Max | Set fixed axis range |
| Cumulative X Axis | Show running totals |
| Log Scale (Y) | Use logarithmic scale |
| Horizontal Chart | Rotate bar charts |
| Fill Empty Points | Add zeros for missing time periods |
| Show Area | Fill area under line charts |
| X Axis Label Rotation | Rotate X-axis labels (degrees) |
Number widget
Section titled “Number widget”| Setting | Description |
|---|---|
| Rounding | Decimal places (0-10) |
| % Suffix | Add percent sign |
| $ Prefix | Add dollar sign |
| Abbreviate Numbers | Show 1.2K instead of 1,200 |
| Compare Points | Show comparison to previous/custom value |
Gauge widget
Section titled “Gauge widget”| Setting | Description |
|---|---|
| Min Value | Scale minimum (default: 0) |
| Max Value | Scale maximum (default: 100), fallback when dynamic max absent |
| Show Interval Labels | Display value labels along the gauge scale |
| Dynamic Max Layer | Add 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.
Table widget
Section titled “Table widget”| Setting | Description |
|---|---|
| Transpose Table Data | Swap rows and columns |
| Pivot Table Data | Create cross-tabulation |
| Enable Drilldown | Show detailed data on click |
| Drilldown Date Format | Control date display format |
Pie/Funnel widgets
Section titled “Pie/Funnel widgets”| Setting | Description |
|---|---|
| Pie Label Format | Value, percentage, label, or combinations |
| Pie Radius | Size of the pie (%) |
| Inner Radius | Create doughnut chart (set to 40 for standard doughnut) |
Matrix widget
Section titled “Matrix widget”| Setting | Description |
|---|---|
| Transpose Table Data | Swap rows and columns |
| Enable Drilldown | Show detailed data on click |
| Matrix Index | Column to use as row labels |
| Fit Grid to Widget Width | Auto-size columns to fill available space |
| % Suffix Data Layers | Which calculations show percent sign |
| $ Prefix Data Layers | Which calculations show dollar sign |
| Abbreviate Numbers Data Layers | Which calculations use compact notation (1.2K instead of 1,200) |
Per-calculation formatting
Section titled “Per-calculation formatting”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:
- Add multiple data layers to your matrix widget
- In Widget Settings, find the Matrix Options section
- 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.
Threshold label formatting
Section titled “Threshold label formatting”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.
- Open a bar or line chart in the widget editor.
- In a data layer, go to Data Layer Settings.
- 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.
- 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.
Colors and thresholds
Section titled “Colors and thresholds”Color types
Section titled “Color types”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”
Configuring thresholds
Section titled “Configuring thresholds”- Set Color Type to “Use threshold colors” in the Widget Settings panel
- Click Configure Thresholds to open the threshold editor popover
- 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
- 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
- Configure global sound settings:
- Click the settings icon to set Allow Mute and Snooze Duration
Optional color effects
Section titled “Optional color effects”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.
Time and grouping
Section titled “Time and grouping”Time configuration
Section titled “Time configuration”| Setting | Description |
|---|---|
| Time Increment | Group time-based data by minute, hour, day, week, month, quarter, or year |
| Timezone | View data in any timezone |
| Use Fiscal Calendar | Replace natural calendar boundaries with your company’s fiscal periods (see below) |
Time increment from the widget footer
Section titled “Time increment from the widget footer”On datetime x-axis widgets, you can switch the time increment directly from the dashboard without opening the editor.
- Hover over the widget to reveal the footer action icons
- Click the clock icon to open the time increment menu
- Choose an option: Auto, Minute, Hour, Day, Week, Month, Quarter, or Year
- 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
Use Fiscal Calendar
Section titled “Use Fiscal Calendar”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.
Grouping
Section titled “Grouping”| Setting | Description |
|---|---|
| Grouping | Stack bars or create multiple series |
| Sort | Control data order (alphabetical, highest, lowest) |
| Value Limit | Limit number of values displayed |
Comparisons
Section titled “Comparisons”Compare points
Section titled “Compare points”Show how current values compare to previous or custom values:
- Enable Compare Points
- Choose comparison type:
- Previous: Compare to previous data point
- Custom: Compare to a fixed value
- Choose method:
- Percent: Show percentage change
- Difference: Show absolute difference
Previous period comparison
Section titled “Previous period comparison”For widgets with time-based filters:
- Requires exactly one data layer
- Filter must use date range or filter variable
- Choose comparison:
- Previous Period: Compare to immediately preceding period
- Period Last Year: Compare to same period last year
Content widget configuration
Section titled “Content widget configuration”Static Value
Section titled “Static Value”- Display Mode: Text or Markdown
- Enter your content directly in the editor
Dynamic Value
Section titled “Dynamic Value”- 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
External Website
Section titled “External Website”- IFrame URL: Link to embed
Button
Section titled “Button”- Button Text: Label text
- Button Mode: Dashboard link or external URL
- Select dashboard or enter URL
Saving and managing widgets
Section titled “Saving and managing widgets”Save widget
Section titled “Save widget”- Click Save & Close to save
- The widget appears on the dashboard
- Drag to reposition if needed
Duplicate widget
Section titled “Duplicate widget”- Hover over the widget and click the menu icon (three dots)
- Select Duplicate
- 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.
- A success notification appears when the copy is ready. If something goes wrong, a failure notification tells you the duplication did not complete.
- The new widget appears on the dashboard. Edit the copy as needed.
Delete widget
Section titled “Delete widget”- Hover over the widget and click the menu icon (three dots)
- Select Delete
- Confirm deletion
Common patterns
Section titled “Common patterns”Top N chart
Section titled “Top N chart”Show top performers:
- Create a bar chart
- Set sorting to “Highest”
- Set Value Limit to 10
- Displays top 10 items
Time series trend
Section titled “Time series trend”Track changes over time:
- Create a line chart
- Set X-axis to a date/time field
- Set Time Increment appropriately
- Enable Show Area for emphasis
Monthly comparison
Section titled “Monthly comparison”Compare this month vs. last month:
- Create a number widget
- Add filter: This Month
- Enable Compare With Previous Period
- Select “Previous Period”
Troubleshooting
Section titled “Troubleshooting”Widget shows no data
Section titled “Widget shows no data”- 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”)
Wrong aggregation
Section titled “Wrong aggregation”- Review the calculation settings
- Check the correct column is selected
- Verify aggregation type matches your intent
Frequently asked questions
Section titled “Frequently asked questions”Can I duplicate a widget?
Section titled “Can I duplicate a widget?”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.
What chart type should I use?
Section titled “What chart type should I use?”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.
Why does my widget show “No data”?
Section titled “Why does my widget show “No data”?”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”.
How do I show a percentage?
Section titled “How do I show a percentage?”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.