# Dashboards

> Create organization dashboards, add widgets with data from your projects, and choose who sees each one.

A **dashboard** is a page that belongs to your organization, not to a project. Each one has a name, an optional description, an owner (the member who created it), and a visibility: **Public** or **Private**.

It holds a grid of **widgets**: current totals, counts over a recent period, distributions and time series, computed across the projects each widget selects. Everyone who opens a dashboard sees the same widgets, but each person's numbers only cover the projects they can access.

| Question                                                      | Answer                                                                                              |
| ------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| Which plans include dashboards?                               | Pro and Enterprise (and during a trial).                                                            |
| Who can create one?                                           | Roles with the **Create dashboards** permission: Owner, Admin and Member by default. Viewer cannot. |
| Who sees a public dashboard?                                  | Every organization member.                                                                          |
| Who sees a private dashboard?                                 | Its creator, organization owners and admins, and the members and groups picked for it.              |
| Who can change its widgets, settings or access, or delete it? | Only its creator and organization owners and admins.                                                |

## Plans

Dashboards are available on the **Pro** and **Enterprise** plans. On **Free**, the **Dashboards** item in the top navigation is still there, but clicking it opens the upgrade dialog instead of the section.

If your organization moves to Free, nothing is deleted: every dashboard, with its visibility and access rules, is kept and comes back as it was once the organization is on Pro or Enterprise again. See [Billing](https://docs.probara.net/en/guides/billing/).

## Opening the list

Click **Dashboards** in the top navigation. The list shows every dashboard you can see, most recently updated first:

| Column           | What it shows                                                                 |
| ---------------- | ----------------------------------------------------------------------------- |
| **Name**         | The name, with the description below it                                       |
| **Owner**        | The member who created it, or **Former member** if they left the organization |
| **Visibility**   | **Public** or **Private**                                                     |
| **Last updated** | When its name, description, visibility or widgets last changed                |

Click a row to open the dashboard. A dashboard you cannot see is not listed, and opening its link shows "Dashboard not found".

## Creating a dashboard

1. Click **Create dashboard**. If you do not see the button, your role does not include **Create dashboards**.
2. Enter a **Name** (up to 200 characters) and, optionally, a **Description** (up to 2,000 characters). Names do not need to be unique.
3. Choose its **Visibility**: **Public** or **Private**. A dashboard created public is visible to every member until you change it.
4. If you chose **Private**, pick who can view it:
   - In the **Members** tab, choose people from **Add a member**. The list leaves out you, organization owners and admins: they always see it.
   - In the **Groups** tab, choose [user groups](https://docs.probara.net/en/guides/workspace/) from **Add a group**. Every current and future member of a group sees the dashboard.

   Each tab's label shows how many it holds. Remove a pick with the **×** next to it. You can leave both lists empty and share it later.

5. Click **Create dashboard**. The dashboard and its access are saved together; **Cancel** saves nothing.

You become its owner: you always see and can edit the dashboards you create, whatever your role.

## Who can see a dashboard

- **Public**: every member of the organization.
- **Private**: its creator, organization owners and admins, the members picked in **Members**, and the members of the groups picked in **Groups**.

A dashboard's creator and organization owners and admins always see it, whatever its visibility.

## Changing a dashboard's settings

Only the dashboard's creator and organization owners and admins can change it. They open its settings in either of two ways:

- On the dashboard, the gear button (**Dashboard settings**) in its header.
- In the list, the row's actions menu (**⋯**) → **Edit**.

The **Dashboard settings** window has the same fields as creation: **Name**, **Description**, **Visibility** and, for a private dashboard, the **Members** and **Groups** tabs with the people and groups who have access. Change what you need and click **Save**: every change is applied at once. **Cancel** discards them all.

Switching to **Public** and saving removes every member and group picked for access, since every member now sees the dashboard. Making it private again starts with empty lists.

If the creator leaves the organization or deletes their account, the dashboard stays, and only owners and admins can change or delete it.

## Deleting a dashboard

In the list, open the row's actions menu (**⋯**), choose **Delete** and confirm with **Delete dashboard**. This removes the dashboard and its access, and cannot be undone.

Every change to a dashboard, its access and its widgets is recorded in [Workspace activity](https://docs.probara.net/en/guides/workspace/activity/).

## Adding a widget

Only the dashboard's creator and organization owners and admins can add, change, filter, reorder or remove widgets. Everyone else who can open the dashboard sees the widgets but not these controls.

1. Open the dashboard and click **Add widget** (on an empty dashboard, **Add the first widget**).
2. Pick a widget type. **Back** returns to the list of types.
3. Fill in its options: **Title**, **Metric** or **Field**, **Chart**, **Target**, **Period** and **Projects**, depending on the type. Leave **Title** blank to use the default title shown in the box; a section title needs one.
4. Click **Add widget**. It appears at the end of the dashboard, at its type's usual size.

A dashboard holds up to 50 widgets.

| Widget type             | What it shows                                                                                                                                                             |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Section title**       | A heading across the whole row that splits the dashboard into sections. It shows no data.                                                                                 |
| **Single value**        | A current total: **Test cases**, **Open defects** (Open or In progress), **Active runs** (not closed), **Suites** or **Flaky test cases**.                                |
| **Created in a period** | How many **Test cases**, **Defects**, **Results** or **Runs** were created in its period. Results count by when they were recorded.                                       |
| **Distribution**        | Test cases grouped by the values of a test case field, as a **Donut** or a **Bar** chart. See [Distribution widgets](#distribution-widgets).                              |
| **Time series**         | A metric over its period, as bars, a line or a daily heatmap. See [Time series widgets](#time-series-widgets).                                                            |
| **Pass rate**           | The share of executed results that passed in the runs closed in its period, as a **Gauge** or a **Bullet** against a target. See [Pass rate widgets](#pass-rate-widgets). |
| **Query**               | The live results of a [saved query](https://docs.probara.net/en/guides/queries/), as a table, a bar, a line, a donut or a single value. See [Query widgets](#query-widgets).                      |

Archived test cases are not counted, except in **Created in a period**, which counts every test case created in the period.

## Arranging and resizing widgets

Each widget takes a width of the row (**One third**, **Half**, **Two thirds** or **Full width**) and a height of 2 to 8 grid rows. A section title always takes the full row. On a phone, every widget takes the full row and keeps its height.

To resize a widget, drag the handle in its bottom-right corner (**Resize** and the widget's title): the widget snaps to the nearest width and to whole rows, and the new size is saved for everyone when you release it. With the keyboard, focus the handle and press Left or Right to make the widget narrower or wider, and Up or Down to make it shorter or taller. Resizing is available on wider screens, not on a phone.

To change the order, drag a widget by its handle (**Reorder** and the widget's title). With the keyboard, press Space or Enter on the handle, move the widget with the arrow keys (Up or Left moves it one place earlier in the order, Down or Right one place later), then press Space or Enter again to drop it; Escape cancels the move. The new order is saved for everyone.

## Editing and removing a widget

Open the widget's actions menu (**⋯**):

- **Edit** opens the same options as when you added it, except the type: to change the type, remove the widget and add another. **Save** applies the changes.
- **Remove** asks for confirmation; **Remove widget** removes it for everyone who can view the dashboard.

## Filtering a widget

Filters narrow what a widget counts, for example the open defects assigned to one person. They are saved on the widget, so everyone who opens the dashboard sees the same filters. Each filter shows as a chip under the widget's title, such as **Assignee: Manju R +2**: the first value, and how many more the filter holds.

Only the dashboard's creator and organization owners and admins can change filters:

1. Click **Add filter** under the widget's title and pick what to filter by.
2. Check the values to keep. Type in the search box to find one. Suites, milestones, environments and test plans belong to a project: when the widget counts several projects, pick a project to list its values.
3. Click outside the list. The filter is saved for everyone; a filter closed without values is not added.

Click a chip to change its values, or its **×** to remove it. Everyone else sees the chips but cannot change them.

Which filters a widget offers depends on what it counts:

| Widget counts                                                                                                             | Filters                                                                                                            |
| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| Test cases: **Test cases**, **Flaky test cases**, test cases created, **Test cases created and edited** and distributions | **Author**, **Suite**, **Tag**, **Milestone** and test case custom fields                                          |
| Defects: **Open defects** and defects created                                                                             | **Reporter**, **Assignee**, **Milestone**, **Tag** and defect custom fields; defects created also offer **Status** |
| Runs: **Active runs**, runs started, **Run pass rate**, **Average run duration** and the **Pass rate** widget             | **Author**, **Environment**, **Milestone**, **Test plan**, **Tag** and run custom fields                           |
| Results: results recorded and **Results by status**                                                                       | **Status**, **Executed by**, **Environment** and **Milestone** (of the result's run)                               |

A **Suites** widget and a section title have no filters. Custom fields can filter when they are a select, radio, checkbox, multi-select or user field.

- An item matches a filter when it has any of its values, and it must match every filter on the widget.
- A **Suite** filter also counts the test cases of its sub-suites.
- On a checkbox field, **No** matches only items where the box was cleared, not items without a value.
- On an **Open defects** time series, defects are filtered by their current values, not the ones they had in each interval.
- A widget holds up to 10 filters, each with up to 50 values.
- Filters stay until someone who can edit the dashboard removes them. When a value is deleted, or sits in a project you cannot access, its chip stays and shows **Unavailable** until it is removed; a deleted custom field shows as **Deleted field**.
- Changing a widget's **Metric** removes the filters the new metric does not offer.

## Which projects a widget counts

Every widget except a section title has an **All projects I can access** checkbox:

- Checked: the widget counts every project of the organization, as seen by whoever is looking.
- Cleared: the widget counts only the projects you pick under **Projects**.

The numbers are always computed for the person viewing the dashboard, with their own project access. Two people can see different numbers on the same widget. When a widget leaves out projects the viewer cannot access, it says so under its title, for example "Not included: 1 project you can't access." Read such a number as partial, not as the total.

- Archived and locked projects are never counted, and the project picker does not offer them.
- When you edit a widget that has selected projects you cannot see, they stay selected; the dialog tells you how many.
- When every selected project has been deleted, the widget shows "The projects selected for this widget were deleted." Edit it and pick other projects.

## Periods

**Created in a period**, **Time series** and **Pass rate** widgets count over a **Period**: the last 7, 14, 30, 90, 180, 365 or 730 days, counted back from the moment the dashboard is viewed. Each widget keeps its own period, and everyone sees the same one. To change it, edit the widget.

Your plan's [data retention](https://docs.probara.net/en/guides/test-runs/#data-retention) can be shorter than the period, since older runs and their results are removed. The widget then counts only the days your plan keeps and says so, for example "Showing the last 90 days: your plan keeps 90 days of history."

## Distribution widgets

A distribution groups the test cases of its projects by a test case field: a select, radio, checkbox, multi-select or user field, built in or [custom](https://docs.probara.net/en/guides/workspace-custom-fields/). Only projects where the field applies are counted.

- **Not set** counts test cases without a value, or whose value is an option that was deleted.
- A field with many values shows its 20 largest; the rest are grouped as **Other (N)**, where N is how many values were grouped.
- On a user field, someone who left the organization appears as "(former member)" after their name.
- On a multi-select field, a test case with several values is counted once in each of them, so the parts can add up to more than the number of test cases. The widget notes this.
- If the field is deleted, the widget shows "The field for this widget was removed." Edit it and choose another field.

## Time series widgets

A time series splits its period into intervals: a **day** for periods up to 31 days, a **week** (starting on Monday) up to 186 days, and a **month** beyond.

- **Results by status** is drawn as **Stacked bars**, and **Test cases created and edited** as a **Line**. For those two metrics, **Chart** also offers a **Heatmap**: see [Heatmap](#heatmap).
- Days, weeks and months start at midnight in the **Timezone** of your [profile](https://docs.probara.net/en/guides/user-profile/). With **Auto-detected**, they follow UTC.
- The first and last intervals can be partial: the period starts and ends at the moment you view it.
- On **Run pass rate** and **Average run duration**, a gap in the line means no run closed in that interval (or none had executed cases). It is not a 0.

| Metric                            | What each interval shows                                                                                                                           |
| --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Open defects**                  | Defects that were Open or In progress at the end of the interval. Deleted defects are not counted.                                                 |
| **Results by status**             | Results recorded in the interval: **Passed**, **Failed**, **Skipped** and **Blocked**.                                                             |
| **Test cases created and edited** | Test cases created, and edits saved to test cases (including imports and restored versions). Edits to a shared step do not count.                  |
| **Run pass rate**                 | Passed ÷ executed cases of the runs closed in the interval, aborted runs left out. Untested cases and cases waiting for a retest are not executed. |
| **Average run duration**          | Average time from start to close of the runs closed in the interval. Aborted runs are left out.                                                    |

The pass rate adds up the cases of every run closed in the interval before dividing, so a large run weighs more than a small one.

## Heatmap

A time series can show **Results by status** or **Test cases created and edited** as a **Heatmap**: a calendar with one cell per day, weeks running across as columns and Monday to Sunday down the rows. Pick **Heatmap** in the **Chart** field of the widget. A heatmap always counts days, whatever the period, and takes a period of 365 days at most: a longer period is cut to a year when you pick it.

- A cell's shade shows how busy its day was against the other days of the period: faint for the quietest active days, full for the busiest. A day with nothing on it is grey. The legend runs from **Less** to **More**.
- Hover a cell to read its date and its number of events. **Show as table** lists every day with its number.
- A day counts every result, in any status, or every test case created and edited, on that day in your time zone.
- A heatmap does not open records. To list the records of a day, switch **Chart** back from **Heatmap** to **Stacked bars** (results) or **Line** (test case changes), with a period of 31 days or less, and click that day's bar or point.

## Pass rate widgets

A pass rate widget shows one value: the results that passed out of the results executed, pooled over the runs closed in its **Period**. It counts the same as the **Run pass rate** series, so both agree for the same period and filters. Aborted runs are left out, and untested cases and cases waiting for a retest are not executed.

- **Gauge** draws the rate as an arc, with the percentage in its centre.
- **Bullet** draws the rate as a bar against a **Target**: a whole number from 1 to 100, 80 by default. The bar turns green when the rate reaches the target and red when it falls short, and the words **Target met** or **Below target** say the same.
- Under the chart, the widget shows how many results passed out of how many were executed, and across how many closed runs.
- When no result was executed in those runs, the widget says so instead of showing a rate.

## Records behind a value

Click a value on a widget to open the records behind it in a side panel. Each row links to its test case, defect, run or suite. A result row opens its run at the case and the attempt it recorded, or at the run alone once the case has left it.

- A **number** tile lists every record it counts.
- A **distribution** lists the records of one value: click a slice, a bar or its name in the legend. **Not set** and **Other (N)** list their records too.
- A **time series** lists the records of one interval: click a point, or a segment of a results bar. On a metric with two lines, such as created and edited test cases, you see the records of the line you clicked.
- **Run pass rate** and **Average run duration** list the runs behind the point, not test cases. The point shows their pass rate or average, not their count, so the panel says how many runs there are.
- A **Pass rate** widget lists the closed runs behind its rate, and the panel says how many runs there are.
- The list uses the widget's projects, filters and period, and shows only records from projects you can open.
- A distribution, a time series or a pass rate has a **Show as table** button in its header. It shows the same numbers as a table, and each value in it opens its records.
- With a keyboard, Tab to a legend item, or to **Show as table** and then to a value, and press Enter or Space.

## Query widgets

A **Query** widget shows the live results of a [saved query](https://docs.probara.net/en/guides/queries/). Add one in either of two ways:

- Click **Add widget**, choose **Query**, and pick the saved query.
- Open the saved query, click **Add to dashboard**, then choose the dashboard, how to render the results, and the width.

Adding a query follows the rule for every widget: only the dashboard's creator and organization owners and admins can add it.

- Everyone who can view the dashboard sees the widget, even when the query is private. The results are computed with each viewer's own project access, so two people can see different numbers.
- Editing the query updates every widget that uses it.
- Deleting the query leaves its widgets in a **query deleted** state. An editor removes each of them from the dashboard.
- To open a widget's query in the editor, you must be able to see the query.
- The widget's projects narrow its results too. A widget with selected projects shows only the rows of those projects that you can open.
- A table shows the first 10 rows. **View all** opens the saved query when you can see it. A chart reads up to 500 rows, or up to 1,000 groups for an aggregate.
- **Drawn as** starts from the saved query's own visualization. Choosing another render changes only this widget; the query keeps its own.
- Deleting a query names the dashboards that use it before you confirm.

## API and MCP

Integrations can create, read, update and delete dashboards and manage their access through the [Dashboards API](https://docs.probara.net/en/developers/api/dashboards/), and read and change their widgets through the [Dashboard widgets API](https://docs.probara.net/en/developers/api/dashboard-widgets/). AI agents use the dashboard tools of the [MCP server](https://docs.probara.net/en/developers/mcp-tools/).

The API can also block a single member from a dashboard, which keeps them out even when it is public. The app does not show these blocks: if a member cannot see a public dashboard, check its access through the API.
