Dashboards overview
Dashboards are collaborative, real-time publishing artifacts. You build them in an authenticated editor and share a separate read-only URL — both stay in sync over a live Y.js document.
When to use dashboards
Section titled “When to use dashboards”| Scenario | Key features |
|---|---|
| Executive reporting | KPIs, trend charts, filter presets |
| Sales analytics | Pipeline funnel, leaderboard, drill-down |
| Operations monitoring | Live metrics, auto-refresh, WebSocket sources |
| Marketing analytics | Campaign performance, conversion funnel |
| Financial reporting | P&L, period comparisons |
| TV displays | Presenter mode, auto-cycling, fullscreen |
Use dashboards when you need real-time collaboration, interactive filtering, or presenter mode. For static reports or simple embeds, a plain artifact with the JSON store or tables is simpler.
Two URLs, one document
Section titled “Two URLs, one document”Every dashboard creates two artifacts that share a single Y.js CRDT document:
| Mode | URL | Access |
|---|---|---|
| Editor | shareout.site/a/{slug} | Authenticated; full editing |
| Published | shareout.site/p/{slug} | Shareable; read-only, filters interactive |
Changes in the editor propagate to the published view in real time (typical latency 50–200 ms). The published viewer can apply filters and follow a presenter but cannot modify widget definitions or data sources.
On Teams workspaces both URLs are also available under the workspace subdomain:
{workspace}.shareout.site/a/{slug} and {workspace}.shareout.site/p/{slug}.
Publishing
Section titled “Publishing”Create
Section titled “Create”const sdk = new ShareOut();
const result = await sdk.dashboards.create({ title: 'Sales Dashboard', visibility: 'public',});
console.log(result.editorUrl); // shareout.site/a/sales-dashboardconsole.log(result.publishedUrl); // shareout.site/p/sales-dashboardBoth artifacts are created automatically. editorArtifactId and
publishedArtifactId are also returned if you need them for API calls.
Visibility
Section titled “Visibility”| Value | Who can view the published URL |
|---|---|
private | Collaborators only; requires authentication |
workspace | Any member of the artifact’s workspace (Teams) |
public | Anyone on the internet with the link; listed on workspace homepage (Teams) |
Change visibility at any time:
const dashboard = await sdk.dashboards.open('sales-dashboard');dashboard.publish.setVisibility('public');Unpublish / republish
Section titled “Unpublish / republish”dashboard.publish.unpublish(); // published URL returns 404dashboard.publish.republish(); // restorePublic dashboards are embeddable by default:
<iframe src="https://shareout.site/embed/my-dashboard/" width="100%" height="600" frameborder="0"></iframe>Restrict origins or disable embedding via the artifacts API (embed_allowed,
embed_origins fields on PATCH /v1/artifacts/{id}).
Integration with the SDK
Section titled “Integration with the SDK”Dashboards build on existing SDK primitives:
| SDK feature | Role in dashboards |
|---|---|
sdk.realtime() | Underlying Y.js document |
sdk.blobs | Image storage for widgets |
sdk.comments | Per-widget threads (contextId: 'widget-{id}') |
sdk.table() | shareout data source type for widgets |
See Widgets & charts for widget types and layout, and SDK API for the full method reference.