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

# Build a data-backed Dashboard

> Create a model and table, add records, and ask Cromo to publish an operational Dashboard.

This guide turns a changing list of customer renewals into structured Data and an operational Dashboard.

## 1. Define the decision

Start with the question the team needs to answer:

> Which renewals need attention in the next 90 days, why, and who owns the next action?

This keeps the model and Dashboard focused. Do not begin by copying every available spreadsheet column.

## 2. Create the model

Open **Data → Models** and create a model such as **Customer Renewal**.

A useful first version includes:

| Field           | Type                  | Purpose                 |
| --------------- | --------------------- | ----------------------- |
| customer\_name  | string                | Record identity         |
| account\_owner  | string                | Operational ownership   |
| renewal\_date   | date-formatted string | Time window             |
| contract\_value | number                | Commercial impact       |
| status          | string                | Current lifecycle state |
| risk\_level     | low, medium, or high  | Review priority         |
| next\_action    | string                | Work still required     |

Mark only truly required fields as required. A record with missing optional information can be useful because the Dashboard can expose the gap.

## 3. Create the table

Open **Data → Tables**, create **Renewals**, and select the Customer Renewal model.

Add a small batch of representative records. Include:

* one renewal outside the 90-day window;
* one high-risk renewal;
* one record with no next action;
* at least two account owners.

Edit a record and confirm validation behaves as expected before importing more.

## 4. Test questions in chat

Attach the Renewals table and ask:

> List renewals due in the next 90 days. Show customer, owner, date, value, risk, and next action. Flag missing fields and do not invent values.

Compare the answer with the table. Fix field naming or data quality before building the Dashboard.

## 5. Ask for the Dashboard

Use a request tied to the decision:

> Create and publish a Dashboard named Renewal Overview from the Renewals table. Include total renewals due in 90 days, total contract value, high-risk count, a risk breakdown, a table grouped by account owner, and filters for owner and renewal month. Add a short note explaining that missing next actions require follow-up.

Cromo creates a draft, validates the specification and data sources, and publishes the active version when you have the required permissions.

## 6. Review the view

Open **Dashboards → Renewal Overview** and verify:

* metric definitions use the correct time window;
* currency and dates are formatted correctly;
* filters affect the intended blocks;
* chart categories match table values;
* record details display the fields needed for action;
* any Dashboard action has the expected target and confirmation.

Rename the Dashboard if the title is unclear. The route slug remains stable.

## 7. Keep it operational

A Dashboard is only as trustworthy as its model and records.

* Assign responsibility for updating the table.
* Use a Workflow for recurring imports or follow-up preparation.
* Keep policy definitions in Knowledge, not in chart labels.
* Recheck Dashboard results after a model or source query changes.
* Delete or archive views that no longer represent an active decision.

## Completion checklist

* [ ] The operational question is explicit.
* [ ] Field names represent business meaning.
* [ ] Representative records validate correctly.
* [ ] Chat returns the expected records without invented values.
* [ ] Dashboard metrics match a manual check.
* [ ] Filters and actions behave correctly.
* [ ] Data ownership and update cadence are clear.
