Core concepts
Plans and what is gated
No publish quota and no access gate tied to a plan. What a paid plan buys, how the two seat kinds are counted, and what a lapsed plan does to a live dashboard.
Start with what is not gated, because it is the opposite of what people expect from a BI tool:
- There is no publish quota. Publish as many dashboards as you like on a free plan.
- Access is not plan-gated. Every dashboard is access-gated to the members of its workspace, on every plan. It is not a paid feature.
- Sharing, version history, folders, workspaces and the URL are not gated.
A free account can publish, share with its audience, version and organize an unlimited number of dashboards.
Seats
A plan is counted in two kinds of seat, and every member of a workspace holds one of them.
- A creator builds dashboards and connects data. The Admin and Creator roles both hold a creator seat.
- A viewer reads the dashboards shared with them and builds nothing.
Both are billable on the paid plans, and a viewer seat costs less than a creator seat on every plan. The free plan includes one seat of each kind. Current prices are on the pricing page and are not repeated here, because a price written in two places is a price that will be wrong in one of them.
Which role holds which seat is the database's own split rather than a billing
simplification: admin and member are the creator roles, and viewer is the
third role in the same enum. The app labels member Creator, after the seat
it spends, so the role you pick in the invite dialog and the seat you are billed
for carry the same word.
What is gated
Five things, and they are all downstream of one idea: building a dashboard on your own data, and keeping it current, is the paid product.
| Gated | What happens without a paid plan |
|---|---|
| Creating a warehouse connection | refused when you try to create it |
| Uploading a CSV or Excel file | refused, with A paid plan is required to upload a file. Uploaded files are available on paid plans and during a trial. |
| Setting any cadence other than manual | refused, with "a paid plan is required to schedule automatic refresh" |
| Refreshing on demand | refused, with the message below |
| Alerts, on both email and Slack | not sent, and Slack cannot be connected |
The upload row is the reason that idea is stated as "your own data" rather than
as "your own warehouse". An uploaded file is neither a warehouse nor a
schedule, and it is gated exactly as a warehouse connection is, on the same
(paid or trialing) reading of the workspace's plan: the two are the same act,
which is putting your own numbers into Dashies. Creating an upload also needs a
creator seat, which is a different question from the plan and is refused with
its own sentence. See
Build a dashboard from a file.
A sixth thing is decided by the plan and is deliberately NOT in that table, because it refuses nothing. A dashboard built on the shared Dashies sample data is prepared differently on a free plan: it carries its numbers inside the page rather than keeping them with Dashies, so it publishes and serves on every plan and there is no upgrade prompt anywhere in it. What a trial or a paid plan adds is the other preparation, which is what the mode ladder calls the choice only sample data has. It is listed here rather than above because a reader scanning that table for "what will refuse me" should not find it.
The payer is the workspace the dashboard lives in, so the refusal names it and the one role that can act on its plan:
Refreshing on demand requires a paid plan on this workspace. Only a workspace admin can change the plan.
That message means the plan has to go on this workspace. A plan on another workspace you belong to does not reach it, and there is no plan of your own to upgrade. This is the same rule as the effective tier below, stated by the message itself.
Setting a schedule back to manual is always allowed, on any plan. You are never locked out of turning something off.
A plan that is trialing counts as paid, so a trial exercises the whole product.
The effective tier
The plan that applies is the plan of the place you are working in. There is one rule and it has two arms, picked by where the dashboard or connection lives:
- Inside a workspace, the workspace's own subscription decides, while it is active or trialing.
There is no second arm. Every dashboard belongs to a workspace and so does every data connection, so there is nowhere else for work to live, and plans are sold to workspaces rather than to people.
A subscription that is neither active nor trialing counts as no plan, whichever arm it sits on.
Membership does not carry a plan around with you. Being a member of a paid workspace entitles you in that workspace, and nowhere else: not in another workspace that has not paid. The reverse holds too, and is the half people are more often surprised by: a plan on one workspace does not entitle another workspace you belong to, so a control you can use in one space can be refused in another.
If you need a colleague entitled, put the plan on the workspace they are working in. Adding them to a paid workspace does not entitle any other workspace they belong to.
Nothing is charged to a person, so there is no personal subscription for the Plan page to show. If that page shows a paid plan, it is the plan of the workspace you are in. Free is the one it labels differently, as "On your account", because an unpaid reader has no workspace plan for it to name.
Where the check happens, and when
Three separate moments, checking three different people. Treating them as one thing is the most common misreading.
Arming a schedule checks whoever is setting it, once, at the moment they set it. It is a one-shot check. A dashboard armed while you were paid keeps its schedule after the plan lapses, and hits the run-time gate instead.
Creating a warehouse connection checks whoever is creating it, at creation.
Every scheduled run checks the plan of the workspace the dashboard lives in, by the same rule as everything else.
This used to be the sharp edge for teams, and it no longer is. The plan checked at run time on a workspace dashboard was once the one held by whoever created the data source, so that person's lapse silently stopped a whole team's dashboards. A workspace can hold its own subscription now, so the workspace is what is checked and the creator's own plan is not consulted at all. See Connections and scope.
What a lapsed plan actually does
This is the part worth reading carefully, because the fear is usually worse than the behaviour.
Nothing fails, and the only thing that can be removed is stored data you are warned about first.
- Your dashboards keep serving, at the same URLs, with their last good numbers.
- A dashboard that reads a warehouse keeps its data with Dashies rather than inside the file, and that stored data can be removed once the plan has ended. The notice is what settles it rather than this page: you are told before anything is removed, the notice names the date, and if you have not had that notice nothing has gone. Nothing about the dashboard itself is reconfigured or deleted either way: its URL, its schedule and its settings all survive, and re-subscribing before that point changes nothing at all.
- A dashboard built on the data Dashies provides is not affected, because on a free plan it carries its numbers inside the page rather than keeping them with Dashies.
- The schedule is preserved, not cleared.
- Each due run records a skip, not a failure. In the run log it reads as a lapsed tier; in the web app it renders as a neutral paused state with an upgrade link, never as a red failure.
- Because it is not a failure, the failure-alert machinery deliberately stays quiet. Instead you get one notice about the lapse, and one more when refresh resumes.
- On upgrade it just resumes. No reconfiguration, no republish, no re-arming. The next due run refreshes normally.
The one thing to watch for is that a paused dashboard looks completely fine. Nothing is red, the URL works, the numbers are plausible. They are just older than they look, which is why the lapse notice exists at all: it was the most common way to reach "why is my data old" with nothing anywhere reporting a problem.
Free users receive no failure alert emails, but a failure episode is still tracked, so upgrading in the middle of an outage alerts on the next failure rather than swallowing it.
Failure alerts
On a paid plan, the dashboard owner is alerted after N consecutive failed scheduled runs. The threshold is yours to set in Settings, from 2, 3, or 5; the default is 3.
What you get is not one message per failed run:
- one message when the threshold trips
- one reminder per re-alert interval while it stays broken, which is a week for anything up to weekly and one cadence period for slower schedules
- one confirmation when a run genuinely succeeds again
Alerts can be muted per dashboard from its schedule dialog, by the dashboard's author or by an admin of the workspace it lives in. Muting leaves the episode state untouched, so unmuting during an outage does not retroactively fire a backlog.
A lapsed plan does not trigger these, and a lapsed-then-resumed dashboard does not count as a recovery. The recovery message waits for a real refresh.
On a free plan nothing is sent at all. The outage is still tracked, so upgrading during one alerts on the next failure rather than swallowing it, but no message goes out and Slack cannot be connected. That is deliberate: the alerts are about a schedule, and setting a cadence other than manual is itself one of the gated rows in What is gated.
The categories, and which plan sees them
Alerts are grouped into seven categories, each switchable per channel by a workspace admin under Settings, then Notifications:
| Category | Plan |
|---|---|
| Refresh failures | Any paid plan |
| Data source health | Any paid plan |
| Suspended schedules | Any paid plan |
| Billing | Any paid plan |
| Platform incidents | Any paid plan |
| Workspace security | Enterprise only |
| Row-level security refusals | Any paid plan |
Workspace security is the one gated above Pro. It reports admin changes, member removals, SSO disconnections and released domains, which are the events only an Enterprise workspace has in the first place. The row is hidden from the matrix on any other plan.
The entitlement is checked again when the alert fires, not only when the switch is set. A category switched on while a workspace held Enterprise stops sending the moment that plan lapses, rather than firing on a stored setting.
Everything about what each category covers, who receives it, and how Slack is connected is on Alerts, channels and retries.
The badge
No published dashboard carries a Dashies badge today, on any tier. The badge was only ever added to personal dashboards, and every dashboard is now a workspace dashboard, which the serve never badges.
The tiers
Three: Free, Pro, and Enterprise. Both paid plans are priced per seat in the two kinds above, billed monthly or yearly, and differ in price and in what they unlock rather than in how they are counted. Enterprise adds SSO and SAML, SCIM provisioning, domain verification, and per-viewer row-level security: a workspace dashboard there can be published so each viewer is served only the rows they were granted, rather than every viewer seeing the same numbers. It is optional per dashboard and declared in that dashboard's own spec. See Row-level security.
Row-level security is the one capability on this page that is gated by TIER rather than by paid-or-not, so the table above does not carry a row for it: a Pro workspace is refused it exactly as a free one is.
Current prices are on the pricing page, which is the source rather than this page: a price quoted here would be one more thing to keep true.
Next
Back to Core concepts, or on to the Quickstart that needs a paid plan.