Dashboard
Build configurable grids of charts and KPI cards over your inspection data, with AI-assisted setup and per-widget configuration.
Dashboards are configurable grids of data widgets that visualize your inspection activity, so you can watch scores, findings, corrective actions, and working time trend over time without exporting anything. Each widget queries one dataset (inspections, findings, corrective actions, answers, group entries, durations, or notices) and renders as a chart, KPI card, table, or list. Filters you set at the top of the page apply to every widget at once, so you can scope the whole board to a location, a date range, a client account, or a specific template in one move.
Create your first dashboard
When no dashboard exists, Auditmark shows the creation wizard. Choose one of three paths:
| Path | What it does |
|---|---|
| Describe it | Type what you want to monitor and select Generate. AI builds a set of widgets from your real data. You review each proposal with a live preview, deselect any you do not want, rename the dashboard, and select Regenerate to try again before you create it. |
| Standard overview | Creates a dashboard in one click, pre-loaded with the recommended starter set covering inspections, scores, findings, and actions. |
| Start blank | Creates an empty dashboard with a name you choose. You add widgets yourself. |
If you have no templates yet, the wizard shows a tip to add your first template so the charts have data to show.
The wizard also appears inside a dialog whenever you add a second or later dashboard from the Dashboards menu.
Multiple dashboards
Use the Dashboards button next to the dashboard title to manage all your dashboards. The current dashboard is marked with a check, and the default is labelled.
| Action | Notes |
|---|---|
| Switch | Select any name in the list to switch to it. |
| New dashboard | Opens the wizard in a dialog. |
| Rename | Opens a dialog to rename the current dashboard. |
| Duplicate | Copies the current dashboard and all its widgets, then switches to the copy. |
| Set as default | Marks the current dashboard as the one that loads first. Only appears when the current dashboard is not already the default. |
| Delete | Removes the current dashboard and all its widgets. You cannot delete the default dashboard. Auditmark tells you to set another dashboard as default first. |
The Dashboards button is disabled while you are in edit mode. Save or cancel your layout changes first.
Filter bar
The filter bar appears below the dashboard title on every dashboard. All widgets on the page respond to it.
| Filter | Default | Options |
|---|---|---|
| Date range | Last 30 days | Last 7 days, Last 30 days, Last 90 days, Last 12 months, This month, This quarter |
| Site | All sites | Any location in your account |
| Client | Hidden when no client accounts exist | Any client account |
| Template | All templates | Any template family |
You can combine filters. For example, set the date range to This quarter and the site to a specific location to scope every widget to that combination.
Edit mode
To change layout or add widgets, select Edit in the top-right corner of the page. The Edit button is available on larger screens. On a phone, widgets stack into a single column and you edit on a wider display.
While in edit mode:
- Select Add widget to open the widget picker.
- Drag any widget card by its grip handle to reorder it. Auditmark compacts the grid automatically so dragging never leaves a hole.
- Open the actions menu on any widget card to act on that widget individually (see the table below).
- Select Save to commit all layout changes at once, or Cancel to discard them.
Widget sizes are fixed per type. Dragging reorders cards within the packed grid rather than resizing them. Saving writes the whole layout in one step and confirms with a toast.
Each widget card shows an actions menu in edit mode with these actions:
| Action | What it does |
|---|---|
| Configure | Opens the configuration sheet so you can change the widget's title, type, dataset, and query settings. |
| Duplicate | Copies the widget, appends the copy at the bottom of the grid, and titles it with "(copy)". |
| Move | A submenu that shifts the widget one step up, down, left, or right in the grid. |
| Remove | Removes the widget from the dashboard. Auditmark asks you to confirm because this cannot be undone. |
Add a widget
Selecting Add widget while in edit mode opens the widget picker. You have three routes:
From a preset
Pick any built-in preset from the list. Each one shows its title, a short description, and its widget type. Auditmark adds it immediately, ready to configure if you want to adjust it. See Built-in presets below for the full list.
With AI
In the "Describe it with AI" box, type the metric you want (for example, "average fridge temperature by week for north sites") and select Propose. Auditmark returns a widget spec with a live preview in the configuration sheet, marked as AI proposed for you to review before adding. If the spec fits the visual builder, the sheet opens on the Builder tab. Otherwise it opens on the JSON tab with a note that the proposal uses settings the builder cannot show. Edit it in either tab, then select Add to dashboard.
Custom
Select Custom widget to open the configuration sheet directly with a blank KPI widget. You pick a dataset, measure, and display type from scratch.
Widget types
| Type | Best for |
|---|---|
| KPI | A single aggregate value, with an optional comparison to the previous period. |
| Line | A metric over time, bucketed by day, week, month, or quarter. |
| Bar | Totals by category, or a time series when a time bucket is set. |
| Pie | Share of a total split by category, with an optional donut style. |
| Table | Ranked values by category, shown as a table. |
| List | The most recent records, for example the latest inspections. |
Widget configuration
Open a widget's configuration sheet by selecting Configure from its actions menu, or by reviewing an AI-proposed widget before adding it. The sheet has a title field, two tabs, and a live preview that updates as you change settings.
Builder tab
The builder presents a form that adapts to the widget type you select. Available fields:
| Field | When it appears | What it does |
|---|---|---|
| Title | Always | The label shown on the widget card. |
| Widget type | Always | Switches between KPI, Line, Bar, Pie, Table, and List. Changing the type reshapes the rest of the form. List is unavailable when the selected dataset has no record list. |
| Dataset | Always | The data the widget queries. See Datasets below. |
| Measure | All types except List | The calculation to run, for example count or average score. Available measures depend on the dataset. |
| Question | When dataset is Answers | The template question whose answers are analyzed. The list narrows to numeric or non-numeric questions depending on the measure. |
| Start and end questions | When dataset is Durations | The two date-and-time questions the duration is measured between. See Track time between answers. |
| Group by | Bar, Pie, and Table | The dimension to split results by, for example site or template. Bar can also use None for a single series. On Durations and Group entries widgets, picking a group clears the time bucket (the two do not combine). |
| Time bucket | Line and Bar | The granularity of the time axis: day, week, month, or quarter. Bar can also use None for a single value. On Durations and Group entries widgets, picking a bucket clears the group. |
| Items | List only | How many records to show: 5, 6, 10, or 20. |
| Log | List with the Durations dataset | Chooses between the Entries log (valid timed entries) and the Data-quality log (entries excluded from the totals, with the reason). |
| Date range | Always | The window for this widget's data. It can differ from the filter bar's date range when you need two widgets with different windows on the same dashboard. |
| Status filter | When the dataset supports it | Limits results to one status value, or Any status. |
| Compare with previous period | All types except List, and only when no group-by is active | Adds a delta indicator showing the change since the previous equal-length period. |
| Donut style | Pie only | Renders the pie chart as a donut. |
The preview redraws a short moment after each change.
JSON tab
The JSON tab exposes the raw query spec for the widget. Use it when you need settings the builder cannot represent, for example a custom date range or extra filters. Select Apply to builder to push valid JSON back into the builder form. Auditmark notes when some JSON-only settings would be kept only while saving from the JSON tab. The server validates the spec again on save regardless of which tab you used.
Datasets
The datasets shown in the builder come from your account. They include:
| Dataset | What it covers |
|---|---|
| Inspections | One row per inspection. Supports counts, average score, flag rate, and record lists. |
| Findings | One row per finding logged during an inspection. Supports counts grouped by priority, site, template, and other dimensions. |
| Corrective actions | One row per corrective action. Supports counts, completion rate, overdue count, and a breakdown by status. |
| Answers | One row per answer to a chosen template question, so you can chart the values captured in the field. |
| Group entries | One row per entry of a repeating group, so you can count or sum across group entries (for example, replaced parts by type). |
| Durations | The elapsed time between two date-and-time questions, summed and averaged across completed inspections. See Track time between answers below. |
| Notices | One row per notice, for tracking notice activity. |
Track time between answers
The Durations dataset measures the elapsed time between two date-and-time questions and turns it into hours you can chart: total hours on site, average visit length, or staff hours per location. Only completed inspections count, and the hours compute live from the captured answers, so historical inspections appear the moment you add the widget.
Pick the start and end questions
Choose a template, then a start question and an end question. The pickers offer the template's date-and-time questions, from the form body or from the Start page (Start page entries are marked). Both questions must sit together: in the same repeating group, in the same section, or both on the Start page. When the pair lives in a repeating group, every entry counts separately, so a group with one entry per work day produces one duration per day.
Select Add template pair to add the pair to the widget. A widget can carry one pair from each of up to 32 templates, and the totals add up across all of them.
Apply one widget across your whole fleet
When the pair comes from the Start page, the "Apply to every template with matching fields" toggle switches the widget from a fixed list to a rule. Auditmark matches the same pair of fields in every template that has them, and shows how many templates match before you save. Templates you import later join the widget automatically. Narrow the rule to specific template tags when you want a subset, for example only your preventive-maintenance templates.
Hours measures
| Measure | What it returns |
|---|---|
| Total hours | The sum of elapsed hours across all timed entries. |
| Average hours | The average elapsed hours per timed entry. |
| Total staff hours | Elapsed hours multiplied by the number of inspectors assigned to each inspection. |
| Timed entries | How many valid timed entries the widget counted. |
| Invalid time entries | How many entries were excluded from the totals. |
Group results by site, template, or employee. Grouping by employee credits each assigned inspector the full duration of the entry. Total staff hours cannot combine with the employee grouping, because that would multiply the hours twice.
Data quality
Totals only count entries where both timestamps are present, valid, and in order. The "Ignore durations over" field sets an hours ceiling, so a forgotten end timestamp that closes days later does not distort the sum. Everything excluded lands in the Invalid time entries count and in the Data-quality log, which shows each excluded entry with its reason: a missing start or end, a malformed value, an end before its start, or a duration over the ceiling.
When you create a Start-page duration widget, the sheet offers to add an "Incomplete entries" KPI beside it in one click, so the data-quality number sits next to the hours it qualifies. The offer appears for Start-page pairs only: for pairs captured in the form body, an entry where neither timestamp was filled leaves no trace to count, so the excluded-entries number would understate.
Table size
A durations table shows up to 200 groups, so a per-site breakdown across a large fleet stays complete. Other datasets show the top 50 groups.
Built-in presets
These presets are available in the widget picker:
| Preset | Type | Dataset | What it shows |
|---|---|---|---|
| Inspections over time | Line | Inspections | Completed inspection count by week over the last 90 days. |
| Average score trend | Line | Inspections | Weekly average score with a previous-period comparison over the last 90 days. |
| Score by site | Bar | Inspections | Average score per site over the last 30 days. |
| Flag rate by site | Bar | Inspections | Share of inspections with findings, per site, over the last 30 days. |
| Findings by priority | Bar | Findings | Finding count by priority over the last 30 days. |
| Actions by status | Pie | Corrective actions | Corrective action count by status over the last 30 days, rendered as a donut. |
| Action completion rate | KPI | Corrective actions | Resolved share of corrective actions over the last 30 days, with a previous-period comparison. |
| Overdue actions | KPI | Corrective actions | Actions past their due date over the last 30 days. |
| Score by template | Table | Inspections | Average score per template over the last 30 days. |
| Recent inspections | List | Inspections | The six most recent inspections with status and score. |
When a widget cannot load
A widget that fails to fetch shows a short message with a Retry button. If the widget references data that no longer exists, the message says so, and in edit mode it offers a Fix widget button that opens the configuration sheet. A widget with no matching records shows "No data for these filters" so you can tell an empty result from an error.
Related pages
- Ask AI - query your inspection data in plain language, without building a widget.
- Inspections - view, search, and manage individual inspection records.
- Templates - define the forms that generate the data your widgets display.