Assemble canvases for your users
Bring dashboards and KPIs together for an audience and manage canvas preferences without losing assignments.
A canvas gives an audience a convenient starting point for its reporting. For example, a service team can see a workload dashboard and a small set of KPIs together rather than searching for each resource separately.
Prepare the content and audience first
Create or select the dashboards, KPIs and access groups before creating the canvas. Confirm that the underlying content and data permissions are appropriate for the intended readers.
A canvas assignment is part of the reader experience. It is not a substitute for customer-data isolation or permissions on the reporting resources it contains.
Create an explicit configuration
Canvas Save takes a CanvasClientModel. The main configuration includes:
| Field | Purpose |
|---|---|
Name and Description | Explain the reporting workspace to its audience. |
DashboardIds and KpiIds | Select the reporting content. |
GroupIds and UserIds | Specify group and direct-user assignments. |
AutoRefresh and RefreshInterval | Configure the canvas refresh behaviour. |
Use a user identity: canvas operations can require the authenticated current user ID. Retain the GUID returned in Data and read the canvas back. The Create a canvas for an existing customer group recipe in Recipes demonstrates the sequence.
Preserve assignments when updating
Canvas Update accepts the complete client model and relationship lists. Maintain a complete intended configuration rather than sending an incomplete patch.
The canvas GET shape differs from the save/update shape. It includes nested kpis, dashboards and groups, while the write model uses ID lists. The documented read model does not expose a direct UserIds list. Do not reconstruct an update from that GET alone and silently clear direct-user assignments. Reconcile the complete assignment configuration before saving.
Offer a useful user preference
List canvases for the current user returns a bare array. Set Favorite For User saves a preference for that authenticated user; it does not grant access or set another user’s preference.
Canvas refresh behaviour and dataset freshness are separate concerns. See refresh history and data freshness, then verify the finished canvas using an intended reader account.
Updated 3 days ago

