Skip to content
Adoptiv

Widget Studio

A widget declares the shape of its answer before it declares how that answer looks. Pick the shape once, then swap the picture as often as you like, because the second choice is a column on the row and not a fresh query.

One widget, two columns: the shape and the picture

7 renderers
Data shape · stored in its own column
What one widget carries
Modules
1 to 8
Aggregates
sum, avg, count, min, max
Measures
1, plus 8 on series
Rows
50 default, 1000 ceiling
Authoring drawer · nine tabs, some dark
  • Basics
  • Data
  • Shape
  • Visualization
  • Dates
  • Filters
  • Design
  • Grid
  • Tenant preview
Renderer names · lit ones are what this shape offers
  • KPI_CARD
  • COLUMN
  • BAR
  • PIE
  • DONUT
  • FUNNEL
  • TREEMAP
  • RADIAL_BAR
  • STACKED_COLUMN
  • STACKED_BAR
  • LINE
  • AREA
  • STACKED_AREA
  • COMBO
  • RADAR
  • SCATTER
  • BUBBLE
  • TABLE
  • PIVOT
  • GAUGE
  • SUNBURST
  • SANKEY
unset falls to the first compatible name rather than refusing to render · sunburst and sankey have no component at all
widget_typeandchart_visualtwo columns, one row

Saving a different picture writes the second column. The resolved payload is handed to a different component, no SQL is rebuilt and no aggregate runs twice.

A workspace copy refuses these eleven
modulescalculationadditionalCalculationsfiltersdateFiltergroupBytableColumnswidgetTyperowLimitgaugeTargetcacheTtlSec
403 · the picture, the palette, the name and the icon pass
Widgets are authored by the operator and land in workspaces as copies · a module listed but never referenced is dropped from the join before the query runs
One dimension against one measure. Seven renderers read that payload, and the four that emit a click on this shape are the only four points on the platform a reader can click at all.
0
data shapes a widget can declare
0
aggregates behind every measure
0
tabs in the authoring drawer

Product figures from the platform’s own defaults - not customer averages

The mechanism

How it works.

01

The shape is the contract

KPI, categorical, series, scatter, table, gauge and hierarchy. Each names what the resolver returns, not what Recharts draws. A widget stores its kind in one column and its chosen picture in another, which is why changing the picture never touches the database again.

02

What one widget is made of

One to eight modules, a measure built from an aggregate plus a module and field, an optional date window, a condition tree, a dimension to group on, and for tables as many as twenty projected columns. Series widgets carry eight further measures beyond the first.

03

Tabs go dark where they do not apply

A single-figure card has no dimension, so Shape closes on it and Visualization closes with it. The card-design picker opens for the single figure alone. The intent is that you cannot author a setting the resolver would then quietly ignore.

04

Authored centrally, adjusted locally

Widgets are built by the operator and land in workspaces as copies. On the workspace side the patch route accepts the picture, the palette, the name, the tooltip and the icon, and answers 403 on any of eleven fields that would move the data binding.

Where it sits

Two moments in every number.

Every number passes through the same seven. Widget Studio is the lit ones, and everything either side of it is a different page in this category.

  1. 01
    Query

    what is asked, and of what

  2. 02
    Shape

    the measure and the dimension

  3. 03
    Draw

    the visual chosen for that shape

  4. 04
    Arrange

    where it sits on a dashboard

  5. 05
    Filter

    narrowing it after the fact

  6. 06
    Drill

    going from the number to the rows

  7. 07
    Share

    who else gets to see it

The specifics.

8 facts
Shapes
KPI, categorical, series, scatter, table, gauge, hierarchy
Aggregates
Sum, average, count, minimum, maximum. Count alone may run without a field
Measures
One primary, plus eight more on the series shape only
Modules
One to eight. Ones you list but never reference are dropped from the join before the query runs
Rows
Fifty by default, ceiling of a thousand
Workspace edits
Modules, the measure, the extra measures, conditions, dates, the dimension, the kind, the row cap, the gauge target, the cache window and table columns all refuse
Hierarchy
Resolves parents with their children, which is the shape the sunburst, the Sankey and the treemap read
Not the same as
Chart Visuals, which chooses the renderer inside a shape you have already fixed

More in Reporting & Analytics

11 capabilities

Seven data shapes, twenty-two visuals, shareable without the portal.

Dashboard Sharing

Hand a board to a team or a CRM role, at read or at edit, by the person who built it. Roles outlive people, which is why a share points at one, not a mailbox.

Cross-Filtering

Click a bar and the rest of the dashboard follows it, so the next question is asked by pointing at the answer instead of rebuilding the filter.

Drill-Through

Wire a chart's clicks to a second dashboard. The value travels on the URL and is read by the board that was named before it paints for the first time.

Pivot Tables

Cross one dimension against another with row, column and grand totals - the shape a finance team asks for when a chart will not settle the argument.

Conditional Formatting

Colour a number by the rule that matters - under target, over threshold, inside a band - so a dashboard reads correctly from across the room.

Reference Lines

Draw the target on the chart itself, so performance is read against the number that was promised rather than against the shape of the bars.

Comparison Periods

Put a window against the one before it, or against the same window a week, month, quarter or year back, on a card as a difference or a chart as a series.

Theme Sets

Six palettes including a print set, pinned per widget, each carrying eight series colours plus the axis, grid, card and tooltip colours drawn around them.

Public Links

Thirty-two bytes of entropy, an expiry you choose, revocation on the spot, and only the hash kept at rest, on a board that draws its figures for a reader.

Embedded Widgets

Name a slot at the call site and one authored widget answers it everywhere inside the product, computed against the records of whoever is signed in.

Call Analytics

Total calls, answered rate, average duration and missed calls, split by direction and outcome, over the call records rather than a sampled export.

Reporting & Analytics

See widget studio on your own floor.

Thirty minutes, your numbers and your data. We will set widget studio up live and you can decide from the thing itself rather than from this page.

14-day trial · no card · migration included