Skip to main content
A widget is an individual block on a page. A data widget connects to a data source and displays a metric or breakdown; other widgets add headings, text, images, buttons, or embeds.
1

Open the report or dashboard

From the client’s Reports tab, open the report.
2

Select the page

For a report, click the page you want to add the widget to. (A dashboard is a single view.)
3

Open the Add Content tab

In the editor sidebar, open the Add Content tab.
4

Drag a content type onto the canvas

Drag a card onto the grid where you want it: Data Query, Calculated Metric, Custom Data, Goal, Static Value, Heading, Textbox, Image, Button, or Embed. See Content types.
5

Configure it

For a Data Query, pick the data source, metric, and optional dimension, then set the data. A new data widget shows demo data until it has a source. See Configure a widget.
A dashboard is capped at 50 widgets. Reports paginate instead, so they have no widget cap.

API

POST /v1/widgets batch-upserts widgets. Oviond saves the whole report atomically and also auto-saves as you work. For a data widget, configure it with plain identifiers — pass metric and dimension ids (from GET /v1/datasources/{datasource_id}/describe):
  • metrics / dimensions are arrays of objects. Only value — the field id — is required; Oviond fills in the rest from the catalog. Add label to rename the field on the widget.
  • chart is one of table, score, area, line, bar, column, pie, donut, funnel, map.
  • source_type is project or template. project is a stored value that predates the rename to report — it still means a report, and it was left as-is rather than migrating every widget row.
  • filters (optional) is an array of { field, operator, value }; see Querying data for operators.
Over MCP, the equivalent is add_data_widget with the same datasource_id, metrics, dimensions and chart.