Skip to content

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.

ScenarioKey features
Executive reportingKPIs, trend charts, filter presets
Sales analyticsPipeline funnel, leaderboard, drill-down
Operations monitoringLive metrics, auto-refresh, WebSocket sources
Marketing analyticsCampaign performance, conversion funnel
Financial reportingP&L, period comparisons
TV displaysPresenter 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.

Every dashboard creates two artifacts that share a single Y.js CRDT document:

ModeURLAccess
Editorshareout.site/a/{slug}Authenticated; full editing
Publishedshareout.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}.

const sdk = new ShareOut();
const result = await sdk.dashboards.create({
title: 'Sales Dashboard',
visibility: 'public',
});
console.log(result.editorUrl); // shareout.site/a/sales-dashboard
console.log(result.publishedUrl); // shareout.site/p/sales-dashboard

Both artifacts are created automatically. editorArtifactId and publishedArtifactId are also returned if you need them for API calls.

ValueWho can view the published URL
privateCollaborators only; requires authentication
workspaceAny member of the artifact’s workspace (Teams)
publicAnyone 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');
dashboard.publish.unpublish(); // published URL returns 404
dashboard.publish.republish(); // restore

Public 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}).

Dashboards build on existing SDK primitives:

SDK featureRole in dashboards
sdk.realtime()Underlying Y.js document
sdk.blobsImage storage for widgets
sdk.commentsPer-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.