> ## Documentation Index
> Fetch the complete documentation index at: https://docs.speckle.systems/llms.txt
> Use this file to discover all available pages before exploring further.

# Intelligence Dashboards

> Create interactive dashboards from your model data in Speckle.

<Note>
  Speckle Intelligence dashboards are available on your plan. For current limits and pricing, see
  your workspace billing or the Speckle pricing pages.
</Note>

Dashboards let you create custom, interactive views of your model data. Analyze properties, compare versions, and
share insights with your team—all without leaving Speckle.

<Note>
  If you blend model data with other sources, join the Databricks integration study on the [User
  testing opportunities page](/get-involved/user-testing#databricks).
</Note>

<Info>
  If you are here for validation widgets specifically, use [Validation Widgets in
  Dashboards](/analytics/dashboards/validation-widgets).
</Info>

## Get started

<Steps>
  <Step title="Access Dashboards">
    From your Speckle workspace, click **Intelligence** in the top left to open the workspace
    dashboards page. You can also open dashboards from within a project: open the project, then
    click the **Dashboards** tab in the project navigation (with Models, Issues, Automations,
    Collaborators, Settings).
  </Step>

  <Step title="Create your first dashboard">
    Click **Add dashboard** to create a new dashboard. You'll be taken to the dashboard editor.
  </Step>

  <Step title="Add a model viewer">
    Drag a **Model Viewer** widget from the left sidebar onto the canvas. Select a project and model
    to display. The model viewer acts as the data source for other widgets.
  </Step>

  <Step title="Add analysis widgets">
    Drag additional widgets (charts, tables, etc.) from the left sidebar. Widgets will automatically
    display data from the model you've added.
  </Step>

  <Step title="Configure interactions">
    Click on widgets to configure their settings. Widgets can filter data, colorize the model, and
    interact with each other.
  </Step>
</Steps>

<Frame>
  <iframe width="100%" height="400" src="https://player.vimeo.com/video/1121557795" title="Dashboards overview" frameborder="0" allow="fullscreen" />
</Frame>

## Dashboard navigation overview

The images below illustrate the structure and layout of the dashboard.

<Frame>
  <img src="https://mintcdn.com/speckle/KIUYuay5UVupQ9gi/images/analytics/speckle_intelligence_nav_01.jpg?fit=max&auto=format&n=KIUYuay5UVupQ9gi&q=85&s=cdae842bdd415b3864b384ba95bc80ef" alt="Speckle intelligence nav 01" width="1620" height="1080" data-path="images/analytics/speckle_intelligence_nav_01.jpg" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/speckle/KIUYuay5UVupQ9gi/images/analytics/speckle_intelligence_nav_02.jpg?fit=max&auto=format&n=KIUYuay5UVupQ9gi&q=85&s=93f5079a12fc564fd42dff4916efa5b8" alt="Speckle intelligence nav 02" width="1620" height="1080" data-path="images/analytics/speckle_intelligence_nav_02.jpg" />
</Frame>

## Bring in your data

Your dashboard needs at least one model; the **Model Viewer** widget provides that data to every other widget. The
model viewer displays your 3D model; a **Dual viewer** widget lets you compare two models with a swipe/slider
reveal from one shared camera.

In dashboards, each data source has a 1:1 relationship with a model loaded via a model viewer. Model-less data
sources are not yet supported.

### Adding models

To add a model:

1. Drag the **Model Viewer** widget onto the canvas
2. Select a project from the dropdown
3. Select a model from that project
4. Choose whether to load the latest version automatically or pin to a specific version

Use **latest** if you want the dashboard to update when new versions are published. Pin to a specific version if you
need to analyze a particular state of the model. You can add models from any project you have access to within the
workspace.

Open the **Sources** sidebar to see mounted models. Sources are grouped by project so it is easier to find the
right mount when several projects contribute to one dashboard.

### Change a pinned version

When a model has moved on and you want the same charts and tables to follow a different version — without deleting
the source, remounting it, and re-pointing every widget — change the pin in place from the Sources sidebar.

1. Open **Sources** in the left sidebar.
2. On the model row, choose **Change version** (or the pin control that lets you pick another version or latest).
3. Confirm the new version (or unpin to track latest).

The dashboard saves immediately. Widgets keep their bindings to the same source id and recompute against the new
version’s properties. Paths that only existed on the old version go empty until you rebind them.

You still cannot mount two sources on the same model and version (or both tracking latest for that model).

<Frame>
  <iframe width="100%" height="400" src="https://player.vimeo.com/video/1159122734" title="How to add a model (single data source) in Speckle Intelligence" frameborder="0" allow="fullscreen" />
</Frame>

### Comparing models and versions

Some widgets support multiple data sources. You can compare different versions of the same model, models from
different disciplines, or models from different projects.

Widgets with multiple sources offer two modes:

* **Aggregate mode**: Combines data from all sources into a unified view. Use this to analyze data across multiple
  models or versions together.
* **Compare mode**: Shows differences between sources. Use this to identify what's changed between versions or what
  differs between models.

For supported widgets, compare mode can render results side by side so grouped distributions are easier to inspect
without switching context.

<Frame>
  <iframe width="100%" height="400" src="https://player.vimeo.com/video/1159125983" title="How to connect a widget to multiple models (multiple data sources) in Speckle Intelligence" frameborder="0" allow="fullscreen" />
</Frame>

### Model viewer features and sync

The **Model Viewer** and **Dual viewer** widgets share the same 3D controls. Hover over a viewer to show the toolbars.

#### Top-right toolbar

* **Lock interactions**: Turn on to prevent pan, zoom, and orbit so viewers can be compared without accidental moves.
* **Save / load camera view**: Save the current view so the model loads at that angle next time; clear to reset.
* **Fit**: Frame the full model (or current selection) in view.
* **Projection**: Switch between perspective and orthographic.

#### Bottom toolbar

The bottom toolbar (Measure, Section, View modes, Light controls) matches the main Speckle 3D viewer. For details,
see [Interface and Navigation](/3d-viewer/interface-nav); for measure, section, and lighting in depth, see
[Exploration](/3d-viewer/exploration) and [Presentation](/3d-viewer/presentation).

#### Sync camera (sync views)

When the dashboard has at least two data sources (e.g. two model viewers, or a Dual viewer with two models), each
viewer widget has a **Sync camera** option in its sidebar. Turn **Sync camera** on for the viewers you want to keep in
sync. When sync is on, panning, zooming, or orbiting one viewer updates the others so you can compare models from the
same viewpoint. Sync requires at least two data sources; the option is disabled otherwise.

[See the video here on how to use sync camera.](/analytics/intelligence-dashboards#comparing-models-and-versions)

#### Dual viewer

**Dual viewer** compares two models or versions with a swipe/slider between panes. The cameras in both panes stay
synced — you always navigate one shared viewpoint.

* Both panes need a model before either side renders.
* Section box and measurements are not available on Dual viewer (they are misleading on a split view).
* Bottom view-mode controls drive the left pane; modes mirror to the right.

Use Dual viewer when you want a spatial reveal between two schemes. Use two **Model Viewer** widgets with
**Sync camera** when you prefer independent canvases that stay lined up.

#### Context models

Use a **context model** when a model should appear in the 3D view for spatial reference but should not be affected
by dashboard filters in that viewer. A site model, existing conditions, or surroundings mesh are typical examples when
you are analyzing design schemes on the same canvas.

By default, every model loaded in a **Model Viewer** is a **data model**. Dashboard filters isolate or hide objects
in data models, and colorization from widgets applies to them.

To mark a model as context:

1. Load two or more models in the same **Model Viewer** (sidebar **Models** → **Add model**).
2. Select the viewer and open **Models** in the widget sidebar.
3. Open the **⋯** menu on the model row.
4. Choose **Use as context model**.

The model row shows a pinned-map icon (data models show a layers icon). Hover the icon for a short description.
Choose **Use as data model** in the same menu to revert.

When a model is a context model:

* Its geometry stays fully visible when page-level filters isolate objects in your data models.
* Filters that only target a context model are ignored by that viewer.
* Widget colorization driven by filters does not isolate or ghost context model objects.

Context models are set per **Model Viewer** widget. Charts and tables still read from the data sources you connect
them to. When a viewer loads several models, connect analysis widgets only to the design data sources if you want
counts and breakdowns to exclude a site or reference model.

<AccordionGroup>
  <Accordion title="Can I add multiple models to one dashboard?">
    Yes. Add multiple model viewer widgets; other widgets can then connect to any of them as their
    data source.
  </Accordion>

  <Accordion title="Can I compare models from different software?">
    Yes. As long as both models are in Speckle, you can compare them. The comparison works on shared
    properties between the models.
  </Accordion>

  <Accordion title="Can I use models from projects where I'm only a viewer?">
    Yes. If you have access to the project you can add its models to a dashboard.
  </Accordion>

  <Accordion title="When does dashboard data update?">
    Dashboard data updates when you load or reload the page. If the model viewer uses "latest", it
    fetches the latest version at that time.
  </Accordion>

  <Accordion title="How do dashboards relate to sync limits?">
    Loading or refreshing a dashboard that displays model data counts as a **productive receive**
    toward your workspace's monthly sync usage. So opening a dashboard or reloading the page (when
    the model viewer fetches a version) consumes sync. For how syncs are defined, how limits work,
    and how to view usage, see [Sync Usage](/workspaces/new-plans-faq#sync-usage) in the [New plans
    FAQ](/workspaces/new-plans-faq).
  </Accordion>

  <Accordion title="What happens if a project or model I use is deleted?">
    Dashboards are defined at the workspace level. If a project or model that a dashboard uses is
    deleted, the dashboard will break—widgets that depend on that data will no longer have a valid
    source.
  </Accordion>

  <Accordion title="Can I pass configuration values via the URL?">
    Yes for [Scenarios](/analytics/dashboards/sharing#scenarios). Apply a scenario and share the dashboard URL with `?scenario=<id>` so recipients open the same filters and colour-by. Other configuration (project, model, or arbitrary filter params) is not passed via the URL yet — tell us what you need via the [Dashboards category](https://speckle.community/c/making-speckle/bashboards/79) on the Speckle Community or Intercom.
  </Accordion>

  <Accordion title="When should I use a context model?">
    Use a context model when you need geometry in the 3D view (for example a site or existing
    building) but do not want dashboard filters to isolate or hide it. Typical cases: comparing
    several design options in one viewer while keeping the site visible, or showing surroundings
    while charts tabulate only the schemes you connect as data sources.
  </Accordion>
</AccordionGroup>

### Widget groups in the sidebar

The widget panel in the dashboard editor groups widgets by category. Each group has a particular focus. **Model
Validation** lives in its own category (**Validation**) and is shown separately in the sidebar; availability may
depend on your workspace plan.

<Info>
  This section is for **dashboard-based validation widgets**. For that path, use [Validation Widgets
  in Dashboards](/analytics/dashboards/validation-widgets). For **Data Validation (checks and
  standards)**, use [Data Validation Overview](/analytics/data-validation/overview).
</Info>

| Group        | Focus                                                                                                             | Widget list                                                                                                                                                           |
| ------------ | ----------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Viewer       | Display and compare 3D models (single or swipe/slider Dual viewer).                                               | Model viewer, Dual viewer                                                                                                                                             |
| Presentation | Layout and content: sections, text, images, maps, embeds.                                                         | Section, Text / Markdown, Image, Map, Context (beta), Embed                                                                                                           |
| Basics       | General analysis: counts, breakdowns by property, pivot/element tables, spot-check validation (Property checker). | Element count, Element table, Model Structure, Pivot table, Property Checker, Distinct values count, Total property value, Total value by property, Count by property |
| Revit        | Analysis for Revit: levels, categories, types, families, materials, area, embodied carbon, quantities over time.  | Levels, Categories, Types, Families, Area by name, Area by level, Embodied Carbon, Material quantities over time, Material stats, Material map                        |
| Tekla        | Analysis for Tekla structural data: profiles, phases, weight.                                                     | Profiles, Phases, Weight by profile, Weight by material                                                                                                               |
| CAD          | Analysis for CAD sources (e.g. Rhino, AutoCAD): blocks and layers.                                                | Blocks, Layers, Nested Blocks CAD (Beta)                                                                                                                              |
| ETABS        | Cost estimation for ETABS models.                                                                                 | Cost Estimation                                                                                                                                                       |
| Grasshopper  | Properties and outputs from Grasshopper-defined models.                                                           | Model Properties                                                                                                                                                      |
| Issues       | Speckle Issues: overview, trends, and list views for issue tracking.                                              | Issues Overview, Issues list                                                                                                                                          |
| Validation   | Rules-based validation: rulesets, Model Validation, detailed results. (Shown in its own section in the sidebar.)  | Model Validation                                                                                                                                                      |

The exact groups and widgets you see depend on your workspace and connected data sources. Use the search box in
the widget panel to find a widget by name or description.

Experimental widgets are marked with a **Beta** badge in the widget panel so you can quickly identify features that
are still evolving.

### Choosing the right widget

Use this table to pick a widget for what you want to do.

| Goal / task                                                           | Widget list                                | Notes                                                                                                                                                                                                                                                                                                                                                                  |
| --------------------------------------------------------------------- | ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Count how many elements (e.g. walls, doors) in the model              | Element count 🔄                           | No extra widget needed to slice: click a value in another chart to add a page filter; count updates.                                                                                                                                                                                                                                                                   |
| Aggregate a numeric (e.g. area, length) across the model              | Total property value 🔄                    | In **Settings**, choose **Aggregation**: Sum (default), Average, Min, Max, or Median. With Sum, a secondary average also appears. Property must be numeric.                                                                                                                                                                                                            |
| See counts or totals by Category, Type, or Family                     | Count by property, Total value by property | Count by property = counts per group; Total value by property = Sum, Average, Min, Max, or Median per group (**Settings** → **Aggregation**). Revit: use Categories, Types, or Families.                                                                                                                                                                               |
| Cross-tab by two or more properties (e.g. area by level and category) | Pivot table                                | Filter or limit categories first; large cross-tabs can be hard to read.                                                                                                                                                                                                                                                                                                |
| See the model as a tree (layers, blocks, discipline)                  | Model structure                            | Structure depends on source (e.g. Revit discipline, CAD layers). Expand/collapse; click to add page filter if enabled.                                                                                                                                                                                                                                                 |
| Count unique values for a property                                    | Distinct values count                      | Use this to quickly measure cardinality (for example, unique types, systems, or names).                                                                                                                                                                                                                                                                                |
| Browse or export element rows (custom columns, filter)                | Element table                              | Export to CSV from the widget menu. Column choice is per widget. Chips appear at top; remove with X. No "clear all"; widgets can opt out of page filters in settings.                                                                                                                                                                                                  |
| Run pass/fail rules (e.g. doors must have fire rating)                | Property checker, Model Validation         | For dashboard-based validation widgets, see [Validation Widgets in Dashboards](/analytics/dashboards/validation-widgets). For Data Validation (checks and standards), see [Data Validation Overview](/analytics/data-validation/overview).                                                                                                                             |
| Show site location or model on a map                                  | Map, Context (beta)                        | **Map** — site location helpers and location pins; no Speckle geometry. **Context** — beta Speckle-on-map view (filters, color by, basemap building clearance, ground clip). Not the same as [context models](#context-models). See [Show your model on a map with Context (beta)](/analytics/dashboards/common-workflows#show-your-model-on-a-map-with-context-beta). |

<sup>🔄 = supports **Compare mode** (multiple data sources).</sup>

#### Aggregation and numeric display

**Total property value** and **Total value by property** calculate with the method you pick in
widget **Settings** → **Aggregation**:

| Method      | Result                                |
| ----------- | ------------------------------------- |
| **Sum**     | Total across the set (default).       |
| **Average** | Mean of the values.                   |
| **Min**     | Smallest value.                       |
| **Max**     | Largest value.                        |
| **Median**  | Middle value when values are ordered. |

When Aggregation is **Sum**, **Total property value** also shows a secondary average under the
primary number.

Several numeric widgets also have display controls in **Settings**:

* **Rounding** — Always available. Options: 2 decimals (default), 1 decimal, 0 decimals, Auto,
  Locale, or Off.
* **Display unit** — Appears when the selected property (or ratio operand) has area units.
  Choose Source, m², ha, ft², or mm². Aggregation stays in source units; the widget converts for
  display, then rounds. **Auto** rounding may switch large areas to hectares (for example
  12,500 m² → 1.25 ha).

These controls apply to **Total property value**, **Total value by property**, **Ratio value**,
**Ratio value by property**, and **Numeric range**. On **Numeric range**, labels use the display
settings; filtering and viewer colouring still use source units.

<Tip>
  Widget **Display unit** only changes how numbers appear. To convert units for calculated fields,
  filters, or colour-by, create a [Unit
  conversion](/analytics/dashboards/calculated-fields#unit-conversion) calculated field instead.
</Tip>

#### How to connect a widget to a model

<Frame>
  <iframe width="100%" height="400" src="https://player.vimeo.com/video/1159125514" title="How to connect a widget to a model in Speckle Intelligence" frameborder="0" allow="fullscreen" />
</Frame>

#### How to connect a widget to multiple models

<Frame>
  <iframe width="100%" height="400" src="https://player.vimeo.com/video/1159125983" title="How to connect a widget to a model in Speckle Intelligence" frameborder="0" allow="fullscreen" />
</Frame>

<AccordionGroup>
  <Accordion title="Can I make my own widgets?">
    Partially. You can customize dashboards with built-in **Text / Markdown**, **Image**, and
    **Embed** widgets, and with **Themes** (chart and validation colors). There is not yet a public
    API to build custom widgets that plug into the dashboard. If you need custom widgets or
    integrations, get in touch via the [Dashboards
    category](https://speckle.community/c/making-speckle/bashboards/79) on the Speckle Community or
    Intercom. For custom applications built on dashboard capabilities (Enterprise), see the next
    FAQ.
  </Accordion>

  <Accordion title="Can I build custom applications with Speckle dashboards?">
    Yes. Enterprise customers have been working with us to deliver custom applications via dashboard
    capabilities. [Build with Speckle](https://speckle.systems/build-with-speckle) describes how we
    partner to extend and embed Speckle. If you want custom dashboards, integrations, or embedded
    analytics, get in touch via the [Dashboards
    category](https://speckle.community/c/making-speckle/bashboards/79) on the Speckle Community or
    Intercom.
  </Accordion>
</AccordionGroup>

### Chart types

Many widgets (Count by property, Total value by property, and others) let you switch between chart and list views.
Use the **Chart Style** or **Type** setting in the widget to choose how data is shown.

| Chart type         | When to use                                                                                                                                                                   | Preview                  |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| **Pie**            | Parts of a whole, few categories (roughly 2–8). Avoid for many slices or precise comparison.                                                                                  | {/* IMAGE: Pie */}       |
| **Bar**            | Compare or rank categories. Works with many categories; easy to read exact values. Prefer over pie when precise comparison matters.                                           | {/* IMAGE: Bar */}       |
| **Tree (treemap)** | Hierarchical data or proportion of a whole with nested breakdown. Good when both size and grouping matter.                                                                    | {/* IMAGE: Tree */}      |
| **Grid**           | Table view: exact numbers, multiple columns, sorting. Best for scan or export.                                                                                                | {/* IMAGE: Grid */}      |
| **List**           | Compact list of labels and values without a chart. Good for few items or limited space.                                                                                       | {/* IMAGE: List */}      |
| **Drop down**      | Compact selector for one or more values (multi-selection optional). Good for configuration or option-selection style dashboards (e.g. pick level or option to drive filters). | {/* IMAGE: Drop down */} |
| **Line**           | Used by default in some widgets (e.g. time-based, version-over-time) for trends. Those widgets do not offer the same type switcher.                                           | {/* IMAGE: Line */}      |

<AccordionGroup>
  <Accordion title="The labels in my chart are outside the widget and I can't read them. What can I do?">
    Some chart widgets let you adjust margins and label placement. Select the widget, open its
    **Settings** in the sidebar, and look for options such as margins, padding, or label position.
    Increase margins or change the label setting so labels fit inside the widget. If the widget has
    no label options, try resizing the widget or switching to a different chart type (e.g. Grid or
    List) to see values in full.
  </Accordion>

  <Accordion title="Can I change the chart type after adding a widget?">
    Yes, for widgets that support multiple chart types. Use the **Chart Style** or **Type** setting
    in the widget settings to switch between Pie, Bar, Tree, Grid, List, or Drop down. Some widgets
    (e.g. time-based or version-over-time) use a fixed chart type and do not offer this switcher.
  </Accordion>

  <Accordion title="Why are my chart labels overlapping or cut off?">
    Long labels or many categories can overflow the chart area. If the widget supports it, adjust
    margins or label settings in the widget settings. Otherwise, resize the widget, reduce the
    number of categories (e.g. with a filter), or switch to Grid or List to see all values in a
    table.
  </Accordion>
</AccordionGroup>

### Property selection and the property library

You can choose which properties to display in two ways: inside a widget, or from the property library. You also
select properties when adding filters (e.g. filter by Category or Level); see [Filters](/analytics/dashboards/filters)
for filter levels and operators.

<Tabs>
  <Tab title="In a widget">
    Many widgets (Count by property, Total property value, Element table, and others) prompt you to select one or
    more properties for display. Use the widget's settings or property dropdown to pick the property; the widget
    then shows values, counts, or breakdowns for that property.

    es. How to Add an Element Table with Multiple Properties

    <Frame>
      <iframe width="100%" height="400" src="https://player.vimeo.com/video/1159126325" title="How to Add an Element Table with Multiple Properties" frameborder="0" allow="fullscreen" />
    </Frame>
  </Tab>

  <Tab title="Property library">
    The dashboard editor provides a **property library** that lists properties from your data sources. The library
    is organised by data source: each model or data source has its own section. When you have multiple similar
    data source types (e.g. several Revit models), the library is headed by a **shared properties** list—the
    intersection of properties that exist across those sources.

    Dragging a property from the library onto the canvas adds a generic chart or table widget configured to display that property's values.

    Dragging a **shared** property uses data from all matching sources by default (aggregate); you can change the widget's data source
    setting if you want to limit it to one source.
  </Tab>
</Tabs>

## Explore and filter

Filters let you focus on specific parts of your data. Chart and table widgets drive page-level filters (chips at the
top that affect all widgets) and optional widget-level filters (local to one widget). You can also colorize the 3D
viewer from widget data. Operators depend on the property's data type (text, number, list, boolean); filters combine
as OR within one chip and AND across chips. For full detail on filter levels, operators, properties, and colorizing
the model, see [Filters](/analytics/dashboards/filters).

To add your own values from model data without changing the published model, use
[Calculated fields](/analytics/dashboards/calculated-fields). To import a reusable list
of codes and labels for those fields (or for validation), use
[Lookup tables](/analytics/dashboards/lookup-tables).

When a widget value points back to a model data source, you can open that source in the viewer directly from the
dashboard flow to inspect context without leaving your analysis.

### How to apply multiple filters using charts

<Frame>
  <iframe width="100%" height="400" src="https://player.vimeo.com/video/1159126675" title="How to apply multiple filters using charts in Speckle Intelligence" frameborder="0" allow="fullscreen" />
</Frame>

### How to color code and change color themes

<Frame>
  <iframe width="100%" height="400" src="https://player.vimeo.com/video/1159127202" title="How to color code and change color themes in Speckle Intelligence" frameborder="0" allow="fullscreen" />
</Frame>

## Organize and share

You can resize and reorder widgets, add **Section** widgets to group areas, and use the
**Themes** panel for built-in or custom chart and validation colors (dashboard, project, or
workspace scope). Dashboards are shared at the workspace level; roles control who can view
or edit. Duplicate a dashboard to use it as a template. For layout and themes, see
[Layout](/analytics/dashboards/layout#themes). For roles, share links, and presentation mode,
see [Sharing](/analytics/dashboards/sharing).

For named filter and colour-by snapshots in edit and presentation mode — including deep
links — see [Scenarios](/analytics/dashboards/sharing#scenarios) on the Sharing page.
Presentation mode is what anyone you share with always sees (also called view mode or
shared mode).

For step-by-step guides (quantity takeoff, portfolio analysis, finding a family), see
[Common workflows](/analytics/dashboards/common-workflows).

## Getting help

For questions about dashboards, visit the [Dashboards category](https://speckle.community/c/making-speckle/bashboards/79)
on the Speckle Community.
