Features
Every part of getting from a spreadsheet to a number you act on
Dashful covers the whole path, not the demo-friendly middle of it. Here is what is actually in the product.
Loading data
Files stream to disk and into Postgres in chunks, so a million rows load in seconds without anything holding the whole workbook in memory.
What a file is comes from its first bytes, not its extension. A CSV named .xlsx loads; an HTML export is refused with an explanation rather than a stack trace.
A region merged down its rows belongs to each of them, and a merged title above your headings no longer outranks the real header row.
OneDrive, SharePoint, Google Drive, Box, Dropbox, watched folders, and five database and warehouse sources — on a manual, hourly or daily schedule.
Datasets
The agent profiles your files and proposes a dataset with its grain, columns, measures and assumptions. Nothing is loaded until a person approves it.
Facts at different grains stay separate datasets. You declare which columns are the same key, and a link is refused if the two columns share no values.
Define a measure once on the dataset and every dashboard that uses it means the same thing by it.
Checks travel with the dataset and re-run on every change, so a broken file surfaces before a report does.
Dashboards
A dashboard is a declarative spec run by an engine. The model never writes your dashboard's SQL, so a number does not drift because a prompt did.
Click a bar and every linked widget follows, translating the filter through your declared keys even when the columns are named differently.
Ask any dashboard why a figure moved. It sees the widget results as filtered, can query only that dashboard's tables, and can change nothing.
A widget, a dashboard or a full dataset leaves as CSV or Excel — charts export as the numbers behind them, with the page's filters applied.
Publishing and sharing
A published report is a frozen layout over live data. Edits wait as unpublished changes until you publish again.
Grant every report, or one named report. A grant survives a rename, because reports are keyed by id and shown by title.
Daily, weekly or monthly, in the sender's timezone, with each schedule's own filters. Send now shows exactly what recipients will get.
Name, accent colour, logo and footer note, applied to the report list and to every published report.
Administration
Owner, Administrator, Builder, Analyst and Viewer come seeded and editable, and custom roles are assembled from the same permission catalog.
Map a group from your identity provider onto a role. Group names match without case, and a distinguished name matches the plain group name.
Anthropic, OpenAI or Google, with a model chosen per job. The key is validated before storage and kept in the vault.
"Your role doesn't include that" and "your plan's limit has been reached" are asked separately, so the reason someone sees is the true one.
See it against your own data
The fastest way to judge any of this is to upload one real file.