---
title: "Quickstart: your first dashboard"
description: Install the plugin, ask your AI for a dashboard, and end at a live URL. No warehouse and no paid plan needed.
updated: 2026-09-03
tier: free
---

This walkthrough builds a real, published dashboard using the built-in `self`
connection, so it needs **no warehouse and no paid plan**. It ends at a URL you
can open.

The dashboard it builds is about your own Dashies account: how many dashboards
you have published, and how many of them are currently active. That is not the
dashboard you came here to build, but it is the fastest way to see the whole loop
work before you point it at anything that matters.

**Before you start:** a Dashies account with a workspace (signing up at
[dashies.ai](https://dashies.ai) creates one), and an AI tool that can install
plugins (Claude Code, Codex, Cursor, or another plugin-capable agent).

:::steps

1. **Install the plugin.**

   [Install the connector](/guides/install) carries the commands for Claude
   Code, Codex, Cursor, Claude web and desktop, and any other plugin-capable
   tool. Install it there, then come back.

   Install the plugin rather than the publish service on its own: the plugin
   brings the `dashies` authoring skill with it, and that skill is most of the
   product's behaviour.

2. **Sign in.**

   Do not look for a token. The first time your AI calls a Dashies tool, a
   browser window opens and asks you to sign in once with Google. There is
   nothing to copy, paste, or rotate, and the sign-in is remembered.

   The consent screen then asks which workspace the tool may publish into. With
   one workspace it is already selected. If the screen says you have no
   workspace yet, create one at [dashies.ai](https://dashies.ai) and reload the
   page. In Claude Code, if no browser opens, run `/mcp`, select **dashies**,
   and choose **Authenticate**.

   If a tool call ever comes back with an authorization error later, retry it and
   the browser flow runs again.

3. **Ask for the dashboard.**

   Say this, in your AI tool, as plainly as it is written:

   > Build me a Dashies dashboard from the built-in `self` connection showing how
   > many dashboards I have published per day over the last 90 days, and how many
   > of them are currently active. Refresh manually.

   Your AI will read the schema of the `self` connection, write a query, check it
   against the connection, dry-run the whole thing, and publish. You do not need
   to write any of that yourself.

4. **Read what it publishes back.**

   The publish step returns a short report. Two lines of it matter:

   - **Dashboard URL.** That is your dashboard.
   - **Datasets.** Each dataset is named with the mode it resolved to. For this
     dashboard it should say `cube`, because counting things is additive. If it
     says something else, your AI chose a heavier mode; that is not wrong, but
     [Datasets and the four modes](/concepts/dataset-modes) explains what it
     bought you.

   If the report contains errors instead, every one of them points at the exact
   field that is wrong. Hand it back to your AI; it is designed to be fixed rather
   than worked around.

:::

## The query it should land on

For reference, this is a query that validates against the `self` connection
today. Your AI may write something slightly different, and that is fine.

```sql
select day,
       sum(dashboards_published) as dashboards,
       sum(active_count) as active_dashboards
from dashies_usage_metrics
where day >= current_date - interval '90 days'
group by day
order by day
```

`dashies_usage_metrics` is the only table the `self` connection exposes. It is a
curated, no-PII view of your own account activity, one row per day. Every numeric
column in it is additive across days, which is what makes this a `cube` dataset.

## Check it worked

Three checks, in order. Each one rules out a different thing.

1. **Open the URL.** It looks like
   `https://<workspace-slug>.dashies.ai/<slug>`. The page should load with numbers
   already on it, not a loading state or a dash. Numbers are baked in at publish
   time, so an empty page means something went wrong rather than something being
   slow.

2. **Cross-check one number.** Add up the daily `dashboards` values shown on the
   page and compare the total against the number of dashboards you have actually
   published in the last 90 days. They should match. This is a habit worth
   forming now, on a dashboard where you know the answer, because
   [a dashboard that publishes cleanly is not automatically correct](/concepts/measure-correctness).

3. **Open it in a private browser window**, signed out. You should land on the
   sign-in page, with the dashboard's URL carried through so you come back to it
   after signing in. That is correct, not a broken link: nothing is served
   anonymously.

## What you have, and what you do not

You have a live, versioned dashboard at a URL of its own. What you do **not** have
is a refreshing one: this dashboard is set to manual, so its numbers are frozen at
the moment it was published until someone republishes or refreshes it.

Who can open it is decided by the workspace it lives in: **any current member of
that workspace**, after signing in, and nobody else. There is no share link and no
anyone-with-the-link mode. A colleague who is not a member is sent to sign in like
anyone else, and once signed in they get a 404, not access. Inviting them to the
workspace is what makes it readable to them. See
[Share a dashboard](/guides/share-a-dashboard).

Making it update on its own is the other half of the product, and it needs a
warehouse connection and a plan that is paid or trialing. Your first workspace
starts on the 14-day Pro trial, so the next quickstart works from day one.

## Next

[Quickstart: a self-refreshing dashboard](/start/quickstart-refresh) is the same
loop against your own warehouse, ending at a scheduled run you can watch land.

If you would rather understand the machinery first, start at
[Core concepts](/concepts).
