# Impact: Custom Widgets

**Where to find it:** Impact → More views (top right) → Create new view → Empty view → Add new row → Create a custom widget

**Who can access it:** Any user with access to Impact. Saving a new dashboard may require manager or admin permissions — check with your team lead if you are unable to save.

## What it does

Impact dashboards let you build your own views to track the metrics that matter most to your team. Starting from an empty view, you add rows of widgets, each pulling live data from Startdeliver. The custom widget builder lets you go beyond the pre-built templates and configure exactly what data is shown, how it looks, and what happens when someone clicks into it.

## Key concepts

**Views** are named dashboards that live under the Impact section. Each view can contain multiple rows of widgets.

**Rows** group widgets horizontally across the dashboard. You add a row first, then place widgets inside it.

**Widgets** are the individual data panels inside a row. Each widget has a type (KPI, chart, grouped data, and so on), a data source, and configuration options for filtering, styling, and drilldown.

## How to create a new empty view

<figure><img src="/files/UJhcS2O4yNY2habtwJ1v" alt=""><figcaption></figcaption></figure>

1. Go to **Impact** in the left navigation.
2. Click **More views** in the top-right of the tab bar to open the dropdown.
3. Click **+ Create new view**.
4. On the template picker, select **Empty view** ("Create a new view from scratch").
5. The **Customize Dashboard** editor opens. Enter a name in the **Name** field.
6. Optionally click **Add filter** under **Visible filters** to add dashboard-level filters that apply across all widgets in this view.
7. Click **+ Add new row** in the dashed canvas area to begin adding widgets.

The **Disable wobbling** button (top right of the editor) freezes the drag-to-reorder animation while you work. Click **Done editing** (bottom right) when the dashboard is complete.

## The widget library

Clicking **+ Add new row** opens the **Select a new widget** panel. From here you can browse pre-built widgets by category (All, Customers, Team Member, Charts, Tables, Usage Health), search by name, or click **Create a custom widget** to build one from scratch.

## Creating a custom widget

<figure><img src="/files/Oq2mqpr1mgys4ypO5kzp" alt=""><figcaption></figcaption></figure>

Click **Create a custom widget** to open the **Create widget from scratch** panel.

### Step 1 — Choose your data type

<figure><img src="/files/GruZCxdS4qTZv99JGHQ4" alt=""><figcaption></figcaption></figure>

Use the **"What kind of data do you want to show?"** dropdown to select the entity your widget will count or measure: **Visual**, **Customer**, **User**, **Project**, **Task**, or **Interaction**.

### Step 2 — Choose a base widget type

Once you have selected a data type, the available base widget layouts appear.

The options for **Visual** data are:

| Widget type  | What it shows                                         |
| ------------ | ----------------------------------------------------- |
| Text widget  | A line of plain text for notes, labels, or context    |
| Title widget | A heading used to separate sections and label content |

The options for **Customer** data are:

| Widget type                 | What it shows                                                        |
| --------------------------- | -------------------------------------------------------------------- |
| KPI Widget                  | A single key number with an optional comparison and secondary metric |
| Multiple KPI Widget         | Several KPI numbers shown together in one compact widget             |
| Time graph widget           | Data plotted over time, grouped by a date field                      |
| Multi chart widget          | Two numeric metrics over time, shown as bars and a line              |
| NPS history chart widget    | NPS response volume as bars with NPS score shown as a line           |
| NPS responses widget        | Total NPS response volume for a chosen time period                   |
| NPS groups widget           | NPS responses split into Promoters, Neutrals, and Detractors         |
| Simple NPS score widget     | A single NPS score for a chosen time period                          |
| History chart widget        | A numeric field plotted month by month as a bar chart                |
| Report graph widget         | Value groups shown month by month as stacked or grouped bars         |
| Horizontal bar chart widget | Customer statuses shown as horizontal bars with counts and ARR       |
| Grouped data widget         | Data split into configurable groups with colour-coded counts         |

KPI Widget, Multiple KPI Widget, and Time graph widget are Universal types and available regardless of which data type you select. Click the widget type you want, then click **Save** to open the configuration panel.

### Step 3 — Configure the widget

After selecting a base type, the full configuration panel opens with a live **Preview** at the top that updates as you make changes. The sidebar sections differ by widget type — see the widget type reference below for the full details of each. Click **Save** when done.

<figure><img src="/files/B25XoPgaU1W4CVDMLcyW" alt=""><figcaption></figcaption></figure>

***

## Widget type reference

Each widget type has its own set of configuration sections. Use the descriptions below to understand what each setting controls.

### Text widget

Visual

Adds a line of plain text to your dashboard. Use it to add notes, descriptions, or labels that give context to the widgets around it.

#### Text

* **Text** — the content to display on the dashboard.

### Title widget

Visual

Adds a heading to your dashboard. Use it to separate sections, label groups of widgets, or give your dashboard clear visual structure.

#### Title

* **Title text** — the text to display as the heading.
* **Size** — **Big** for a large heading, **Medium**, or **Small**.
* **Show line below title** — when enabled, a horizontal line is drawn below the title to visually separate it from the content below.

### KPI Widget

Universal

Shows a single large number with an optional comparison and secondary metric. Use it to track one key measure at a glance — such as active customer count, total ARR, or number of open tasks.

<figure><img src="/files/327wSlTbsXX7okgdNwkf" alt=""><figcaption></figcaption></figure>

#### Filtering

* **Filter condition** — defaults to "Empty filter (all items will match)". Click to add conditions, for example only count customers with a specific health score or status. The filter applies to both the main number and the comparison.
* **Current standard filter** — optionally link to a saved filter from your account.

#### Style

* **Widget name** — the label shown at the top of the widget on the dashboard.
* **Icon** — an optional icon shown next to the main number.
* **Icon color** — sets the icon color and its background tint.
* **Bottom text** — a short static label shown below the main number. Use it for context or a unit.

#### Comparison

* **Show comparison** — Yes / No toggle. When enabled, the comparison row appears.
* **Show comparison as** — **Text** for the raw difference, **Percentage** for the absolute percent of total, or **Change percentage** for the percent change between the two periods.
* **Time to compare** — how many intervals back to compare against, for example `3`.
* **Interval** — the time unit to compare by: **Year(s)**, **Month(s)**, **Week(s)**, or **Day(s)**.

#### Secondary number

* **Show secondary number** — Yes / No toggle. Adds a second metric alongside the main KPI, for example ARR next to a customer count.
* **Secondary number field** — the field to calculate from, for example ARR.
* **Secondary number filter** — applies an additional filter that only affects the secondary number, not the main count.
* **Secondary number type** — Sum or Average.
* **Shorten secondary number** — Yes / No. Abbreviates large numbers, for example `1,200,000` → `1.2M`.

#### Drilldown

* **Drilldown fields** — the columns shown when a user clicks the widget to see the underlying records.
* **Drilldown sort field** — which field the list is sorted by when it opens.
* **Drilldown sort order** — ascending or descending.

### Multiple KPI Widget

Universal

Shows several KPI numbers side-by-side in a single compact widget. Each KPI has its own label, primary number, and optional secondary number. Use it when you want to display a handful of related metrics together without using multiple separate tiles — for example, customer count, user count, and task count in one widget.

#### Data

* **KPI items** — a list of the KPIs shown in the widget. Configure each item independently. You can add, remove, and reorder them.
* **+ Add item** — adds another KPI to the widget.

#### Primary number

* **Name** — the label shown below the number.
* **Entity** — which type of data to count: **Customers**, **Users**, **Projects**, **Tasks**, **Interactions**, or **Feedback**.
* **Data display type** — **Count** for total records or **Percentage** for a share of the total.
* **Filter** — narrows which records are counted.
* **Standard filter** — applies a preset system filter, for example active customers only.

#### Secondary number

* **Show secondary number** — Yes / No toggle. Shows a secondary figure alongside the main number.
* **Secondary number entity** — which entity the secondary number is calculated from. This can differ from the primary number.
* **Secondary number field** — which field to aggregate, for example ARR or seat count.
* **Secondary number type** — **Sum** or **Average**.
* **Use same filter as primary** — when enabled, the secondary number inherits the primary filter.
* **Secondary number filter** — an additional filter applied only to the secondary number.
* **Secondary number standard filter** — a preset system filter for the secondary number.

### Time graph widget

Universal

<figure><img src="/files/AEcNaGb2TaodPNnuBbp9" alt=""><figcaption></figcaption></figure>

Plots the count of records over time, grouped by a date field. Useful for tracking trends such as how many customers were created each month, how many tasks were completed per week, or how renewals are spread across the coming months.

#### Filtering

* **Filter condition** — defaults to "Empty filter (all items will match)". Click to add conditions. Note that this widget automatically applies a filter on the date field selected in Data settings.
* **Current standard filter** — optionally link to a saved filter from your account.

#### Data settings

* **Field** — the date field used to group data along the x-axis (e.g. Created at, Renewal date). Click Edit to change it.
* **Interval unit** — the time period for each bar or data point: Day(s), Week(s), Month(s), or Year(s).
* **Number of intervals** — how many intervals to display (default: 12).
* **Show future data** — Yes / No toggle. By default, only past data is shown. Enable this to include future intervals, for example to see upcoming renewals plotted month by month.
* **Graph type** — Bar, Line, or Bubble.

#### Visual settings

* **Name** — the widget title shown on the dashboard.
* **Show labels** — Yes / No toggle. Displays the count value above each bar or data point.
* **Height** — controls how tall the widget renders on the dashboard (in row-height units).
* **Color** — the colour used for the bars or line: Blue, Green, Red, Purple, or Indigo.

#### Drilldown

* **Drilldown fields** — the columns shown when a user clicks a bar or data point to see the underlying records for that time period.
* **Drilldown sort field** — which field the list is sorted by when it opens.

### Multi chart widget

Customer

Displays two metrics side-by-side over time — one as bars and one as a line on the same chart. Use this to compare two related metrics and see if they move together, for example ARR against seat count over the past year.

#### Filtering

* **Filter condition** — defaults to "Empty filter (all items will match)". Click to add conditions — for example, only include customers with a specific status or tag.
* **Current standard filter** — optionally link to a saved filter from your account.

#### Data settings

* **Number of intervals** — how many months of history to display.
* **Bar field** — the numeric field shown as bars, one per month. Click **Edit** to change it.
* **Line field** — the numeric field shown as a line overlaid on the bars. Click **Edit** to change it.

#### Visual settings

* **Bar color** — the color of the bars: **Blue**, **Green**, **Red**, **Purple**, **Indigo**, or **Custom color**.
* **Custom bar color** — only visible when **Custom color** is selected. Pick any color for the bars.
* **Show history bars as gray** — only available with a custom bar color. When enabled, all bars except the most recent are shown in gray, drawing attention to the current period.
* **Line color** — the color of the overlaid line.

#### Drilldown

* **Drilldown fields** — the columns shown when a user clicks a bar to see the underlying records for that month.
* **Drilldown sort field** — which field the list is sorted by when it opens.
* **Drilldown sort order** — ascending or descending.

### NPS history chart widget

Customer

Shows NPS response volume as bars and NPS score as an overlaid line in a single combined chart. Use it to track whether your NPS score is improving over time and whether response volume correlates with score changes.

#### Filtering

* **Filter condition** — defaults to "Empty filter (all items will match)". Click to add conditions — for example, only include responses from a specific customer segment.
* **Current standard filter** — optionally link to a saved filter from your account.

#### Data settings

* **Number of intervals** — how many time periods to display.
* **Interval unit** — the unit for each period: **Day(s)**, **Week(s)**, **Month(s)**, **Quarter(s)**, or **Year(s)**.

#### Visual settings

* **NPS color** — the color of the NPS score line.
* **Responses color** — the color of the bars: **Blue**, **Green**, **Red**, **Purple**, **Indigo**, or **Custom color**.
* **Responses color (bar)** — only visible when **Custom color** is selected. Pick any bar color.
* **Draw number of responses on the bars** — when enabled, the response count is printed on each bar.
* **Hide responses scale** — when enabled, the Y-axis scale for the bars is hidden for a cleaner look.

#### Drilldown

* **Drilldown fields** — the columns shown when a user clicks a bar to see the underlying NPS responses for that period.
* **Drilldown sort field** — which field the list is sorted by when it opens.
* **Drilldown sort order** — ascending or descending.

### NPS responses widget

Customer

Shows the total number of NPS responses received within a chosen time period. Use it for a quick view of response volume — either for a specific window or all time.

#### Data period

* **Show all-time data** — when enabled, the widget counts all responses regardless of date. When disabled, a specific time window is used.
* **Period duration** — how many units back in time the window covers, for example `3`. Only visible when all-time data is off.
* **Period unit** — **Day(s)**, **Week(s)**, **Month(s)**, **Quarter(s)**, or **Year(s)**. Only visible when all-time data is off.

#### Filtering

* **Filter condition** — defaults to "Empty filter (all items will match)". Click to add conditions to narrow which responses are included.
* **Current standard filter** — optionally link to a saved filter from your account.

#### Drilldown

* **Drilldown fields** — the columns shown when a user clicks the widget to see the underlying responses.
* **Drilldown sort field** — which field the list is sorted by when it opens.
* **Drilldown sort order** — ascending or descending.

### NPS groups widget

Customer

Displays NPS responses split into **Promoters**, **Neutrals**, and **Detractors** with a count for each group. Use it to see the balance of your NPS feedback and track whether the share of promoters is growing over time.

#### Data period

* **Show all-time data** — when enabled, the widget counts all responses regardless of date. When disabled, a specific time window is used.
* **Period duration** — how many units back in time the window covers, for example `3`. Only visible when all-time data is off.
* **Period unit** — **Day(s)**, **Week(s)**, **Month(s)**, **Quarter(s)**, or **Year(s)**. Only visible when all-time data is off.

#### Filtering

* **Filter condition** — defaults to "Empty filter (all items will match)". Click to add conditions — for example, only responses from a specific customer segment.
* **Current standard filter** — optionally link to a saved filter from your account.

#### Drilldown

* **Drilldown fields** — the columns shown when a user clicks a group to see the underlying responses.
* **Drilldown sort field** — which field the list is sorted by when it opens.
* **Drilldown sort order** — ascending or descending.

### Simple NPS score widget

Customer

Displays a single large NPS score for a chosen time period. You can also configure dynamic color ranges so the score changes color based on whether it is above or below specific thresholds.

#### Data period

* **Show all-time data** — when enabled, the score is calculated from all responses ever received. When disabled, only responses within a specific window are used.
* **Period duration** — how many units back in time the window covers, for example `3`. Only visible when all-time data is off.
* **Period unit** — **Day(s)**, **Week(s)**, **Month(s)**, **Quarter(s)**, or **Year(s)**. Only visible when all-time data is off.

#### Filtering

* **Filter condition** — defaults to "Empty filter (all items will match)". Click to add conditions to narrow which responses are included in the score calculation.
* **Current standard filter** — optionally link to a saved filter from your account.

#### Styling

* **Default number color** — the color of the NPS score when no dynamic color rules apply.
* **Use dynamic colors** — when enabled, the score color changes based on its value using the thresholds defined below.
* **Range 1 minimum value** — the score must be at or above this value for **Range 1**'s color to apply. Set this as the higher threshold.
* **Range 1 color** — the color shown when the score meets or exceeds **Range 1**'s minimum.
* **Range 2 minimum value** — the score must be at or above this value but below **Range 1** for **Range 2**'s color to apply. Set this as the lower threshold.
* **Range 2 color** — the color shown when the score falls in **Range 2**.

#### Drilldown

* **Drilldown fields** — the columns shown when a user clicks the widget to see the underlying responses.
* **Drilldown sort field** — which field the list is sorted by when it opens.
* **Drilldown sort order** — ascending or descending.

### History chart widget

Customer

Plots how a numeric field has changed over time, displayed as a bar chart. Each bar represents one month. Use this to track trends such as ARR growth month over month.

#### Filtering

* **Filter condition** — defaults to "Empty filter (all items will match)". Click to add conditions — for example, only include customers with a specific status or tag.
* **Current standard filter** — optionally link to a saved filter from your account.

#### Data settings

* **Report type** — Sum or Average. Controls whether values are added together or averaged across each interval.
* **Field** — the numeric field to plot (e.g. ARR). Click Edit to change it.
* **Number of intervals** — how many months to display (default: 12).

#### Visual settings

* **Color** — the color theme for the bars: Blue, Green, Red, Purple, or Indigo. Select Custom color to pick your own.
* **Custom bar color** — only visible when Custom color is selected.
* **Number color** — the color of the value labels shown on the bars.

#### Drilldown

* **Drilldown fields** — the columns shown when a user clicks a bar to see the underlying records for that month.
* **Drilldown sort field** — which field the list is sorted by when it opens.
* **Drilldown sort order** — ascending or descending.

### Report graph widget

Customer

Shows how customers are distributed across value groups over time as a stacked or grouped bar chart. Each bar represents a month. Each segment shows how many customers fell into each group during that period. Use it to track how the health or status of your customer base shifts month by month.

#### Filtering

* **Filter condition** — defaults to "Empty filter (all items will match)". Click to add conditions to narrow which customers are included.
* **Current standard filter** — optionally link to a saved filter from your account.

#### Graph settings

* **Graph report field** — the field whose values are used to categorise customers into groups each month. Works well with health scores and custom fields.
* **Month count** — how many months of history to display.
* **Value groups** — define which field values map to which named groups, for example value `3` → `Good`. Each group has a name, a value, and a style — **Good** (green), **Fair** (yellow), or **Poor** (red) — that sets its colour.

#### Style

* **Widget name** — the label shown at the top of the widget.
* **Height** — controls how tall the widget renders on the dashboard (`1`–`5`).

### Horizontal bar chart widget

Customer

Shows customers grouped by status as a list of horizontal bars. Each row represents one customer status with a count and combined ARR. Click a row to expand an inline list of the customers in that status.

#### Filtering

* **Filter condition** — defaults to "Empty filter (all items will match)". Click to add conditions, for example only include customers assigned to a specific team or above a certain ARR threshold.
* **Current standard filter** — optionally link to a saved filter from your account.

#### General settings

* **Comparison time ago** — how many units back in time to compare against, for example `1`. Used to show whether a status has grown or shrunk.
* **Comparison unit** — **Day**, **Week**, or **Month**.
* **Show percentage of ARR** — when enabled, the percentage shown on each bar is calculated from ARR rather than customer count.

#### Drilldown

* **Drilldown fields** — the columns shown when a user clicks a status row to see the underlying customers.
* **Drilldown sort field** — which field the list is sorted by when it opens.
* **Drilldown sort order** — ascending or descending.

### Grouped data widget

Customer & User

<figure><img src="/files/UUebj6foKPMvn2ODmXIj" alt=""><figcaption></figcaption></figure>

Splits your records into colour-coded groups and shows a count for each. The default configuration groups customers by usage health (Good, Fair, Poor), but you can reconfigure the groups to reflect any categorisation that matters to your team — such as customer tier, onboarding stage, or NPS band.

#### Filtering

* Same filter condition and standard filter options as the KPI Widget.

#### General settings

* **Field** — the field used to categorise records into groups (e.g. Usage health). Click Edit to change it.
* **Show results as percentages** — Yes / No toggle. When enabled, each group shows a percentage of the total rather than a raw count.
* **Data groups** — define up to three groups. Each group has a name (the label shown on the widget), a value (the field value that maps records to this group), and a style that controls the bar color — Good (green), Fair (yellow), or Poor (red). Use **+ Add group** to create additional groups.

#### Drilldown

* Same drilldown fields and sort field options as the KPI Widget.

***

## Common scenarios

### Track customers up for renewal this quarter

A CSM wants a dashboard tile showing how many customers renew in the next 90 days. They create a **KPI Widget** with Customer data, add a filter for renewal date within the next 90 days, name it "Renewals this quarter" in Style, and enable **Show comparison** with a 3-month interval to see whether the renewal pipeline is growing. The tile shows a live count that opens the full customer list when clicked.

### See where customers sit across health tiers

The CS team lead wants a single tile showing how many customers fall into Good, Fair, and Poor health. They create a **Grouped data widget** with Customer data, set **Field** to Usage health, and leave the default groups in place. Enabling **Show results as percentages** makes it easy to communicate portfolio health in team meetings without sharing raw numbers.

### Track health distribution over time

The CS lead wants to see whether more customers are moving into Poor health over the past six months. They create a **Report graph widget** with Customer data, set **Graph report field** to the health field, define value groups for Good, Fair, and Poor, and set **Month count** to `6`. The chart shows whether the portfolio is improving or slipping month by month.

### Visualise renewal spread across the coming months

A team lead wants to see the renewal pipeline spread across the next 12 months. They create a **Time graph widget** with Customer data, set **Field** to the renewal date field, keep **Interval unit** as Month(s) and **Number of intervals** at 12, and enable **Show future data**. The resulting bar chart gives an immediate view of which months carry the heaviest renewal load.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.startdeliver.io/dashboards-and-reports/impact-custom-widgets.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
