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.

Add from the + menu

Select a widget and click + to add a new one right below it. Under Data Query, Assets lists your saved assets. Calculated Metric and Goal list your saved ones, already set up. Choose Start from Blank for an empty widget.

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.