Skip to main content

Widgets

Widgets are the building blocks you place on a page. In edit mode, Edit with OpenBuild → Add widget… opens the picker; pick a type, set its appearance, and it drops into the page's grid. Each widget has a cog for its own configuration. Most widgets can be added more than once and configured differently each time.

Widgets fall into two groups: object widgets that read your app's data, and content widgets for text, media and navigation.

Every tile below is a widget configured in-app. This one dashboard from the Pet Store tutorial combines a header banner, four statistic cards, two charts, a gauge, a comparison/delta, an object list and an image — no code:

A Pet Store dashboard composed of many widget types: a header banner, four stat cards, a donut chart, a line chart, a gauge, a delta, an object list and an image

A detail page is the same idea bound to one object — a header, an Object data grid, a Files panel and an Object relations section:

A pet detail page with a header banner, an Object data grid, and Files and Object relations widgets

Object widgets

These read from the page's object or a register/schema you point them at.

WidgetWhat it showsConfigure
Object dataThe current object's fields, as an editable data grid.Which properties show, their order, layout (Stacked / 2-col / 3-col), per-field editor and editability. Inline click-to-edit; the same config drives the full edit form.
Object relationsEverything linked to the object — related objects, files, and leaf integrations (mail, calendar, contacts, tasks, deck, …) — as tabs.Relations to show: pick which relation groups appear. Add it several times to scope each to different relations.
Object listA list/table of objects from a register + schema.Register, schema, filter, sort, columns, limit.
TableA tabular object list (alias of Object list for type:"table").Register, schema, columns, sort, limit.
Statistic / KPIA single headline metric (count / sum / avg) over a register.Data source, metric, label, icon.
Statistic cardA KPI card with a count and breakdown.Data source, metric, variant, icon.
Comparison / deltaA metric vs. a previous period, with a delta.Data source, metric, comparison window.
Gauge / utilizationA gauge for a value against a target/capacity.Data source, value, max/target.
ChartA bar/line/area chart bucketed over a register.Chart kind, data source, bucket field/interval, metric.

Object data

The default body of a detail page. Click the cog to choose exactly which fields show and how they're laid out — hide id, show name and race stacked, and so on. The same map drives both the inline display and the edit form.

The Object data widget rendered on a detail page, showing the object's fields as a data grid

Object relations

Aggregates the object's relations into tabs. Pick Relations to show to scope a widget to a subset — for example one widget for Objects + Files and another for Mails + Events — and add as many as you need.

Object relations configuration — pick which relation groups to show

Object list

A list or table of objects from a register and schema, with the columns, sort and limit you choose:

An Object list widget titled "Recent pets" with Name, Species and Status columns

Statistic / KPI

A single headline metric — a count, sum or average over a register — with a label and icon:

A Statistic widget showing "Pets 10 in catalogue" with an icon

Chart

A bar, line, area or donut chart bucketed or grouped over a register:

A donut Chart widget titled "Pets by status" with available, sold and pending segments

Gauge / utilization

A gauge for a value against a target or capacity:

A Gauge widget titled "Pets sold" showing progress toward a target

Comparison / delta

A metric compared against a previous period, with the change shown as a delta:

A Comparison/delta widget titled "Revenue trend"

Content & layout widgets

These don't need data — they're for text, media, navigation and structure.

WidgetWhat it is
LabelA short styled text label (font size, colour, weight, alignment).
TextA rich text / paragraph block.
Header BannerA page banner with title and styling.
ImageAn image (uploaded or by URL).
VideoAn embedded video.
DividerA horizontal rule to separate sections.
ContainerA grouping container for nesting widgets.
TileA quick-access tile with an icon and a link.
LinksA list of links.
QuicklinksA compact quick-links grid.
MenuA navigation menu block.
NewsA news/announcements feed block.
FilesA files panel for the object or a folder.

Header Banner

A full-width page banner with a title, subtitle and background styling:

A Header Banner widget reading "Pet Store — Pets, owners, orders and vet visits"

Image

An image, uploaded into Nextcloud Files or referenced by a same-origin URL:

An Image widget showing a photo of a cat and dog

Text

A rich-text / Markdown paragraph block:

A Text widget showing a Markdown welcome paragraph

Appearance (every widget)

The Add-widget dialog and each widget's cog share an Appearance section: show/hide the title, set a custom title, pick a background colour, and choose an icon. Widgets that bring their own title (like Object data and Object relations) hide the duplicate title field automatically.

Widgets placed via the manifest

A few widgets are rendered by the runtime but aren't offered in the Add-widget picker because they have no in-app config form (they're wired through the manifest or an integration): Calendar, People, Knowledge base search, Nextcloud widget, Spend analytics, and Interaction form. Integrations registered by other apps also surface here as integration widgets. See the integrator guide.

Reference