Skip to main content
Free canvas layout for multi-page reports

Place widgets anywhere on the page

A new Multi-Page Report is now built on a free canvas: widgets go anywhere on the page, at any size, instead of snapping to rows and columns. Drag one and alignment hairlines appear against the page edges, its centre lines and every other widget; equal gaps snap and label themselves in pixels. Rubber-band select a group and move it as one, or drag a widget straight onto another page.The New Report flow asks which you want when you start from scratch — Free canvas or Grid — with a preview of each. Free canvas is the default.Existing reports and all dashboards stay on the grid, unchanged. The choice is made once, at creation: widget positions are stored in the units they were authored in, so a report can’t switch engines afterwards.
Resize a whole selection at once

A group resizes as one object

Select several widgets on a free canvas and the selection draws a box with its own handles. Drag one and every widget scales together — and so do the gaps between them, so the arrangement keeps its shape instead of the widgets growing into each other.Shrinking stops when the first widget reaches its own minimum size, rather than letting one be squashed past the point of being readable while the rest still have room.
Both layouts share one Pages panel and one Add Content

The grid report gets the canvas’s editing surface

Everything that isn’t widget geometry is now the same in both layouts:
  • the Pages panel — cover, contents, every page and thank-you in one list, each with its settings inline
  • the page tab on the selected page — rename in place, add after, duplicate, reorder, delete
  • a New page button below the last page, so you can add one from where the report actually ends
  • the empty-page card, which offers the first widget outright rather than telling you to drag something
  • the selected-page ring, and square page corners
Add Content is one catalog in one order for both, so the cards don’t differ depending on which layout you opened.
Per-report cover and thank-you overrides

Override the theme on a single report

A report’s cover heading, subheading and artwork — and its thank-you heading and message — can now be set on the report itself, overriding whatever the theme says. Leave a field blank and it goes back to inheriting the theme, so one report can depart from a shared theme without cloning it.
Contents pages that spill onto a second sheet

Every contents sheet is its own page

A long report’s table of contents runs to more than one sheet. Those extra sheets were part of the finished document and you could scroll to them, but they never appeared in the page list. Each now gets its own row — in the editor’s Pages panel and in the reader’s navigation — labelled Table of Contents continued, numbered, and clickable.
Reading a report

A cleaner reading view

Opening a report to read it, rather than edit it:
  • the header spans the window and the page list sits beneath it, as part of the document rather than a second piece of app chrome
  • page names show a tooltip, so a long one can be read in full
  • on mobile the page list stays collapsed to numbers instead of taking a third of the screen, and a phone gets the page list in a sheet
Date range changes save from the header

Changing the date range outside edit mode saves

The date picker in the report header carried a note saying view-only changes weren’t saved. They always were — the range is written straight through and every data widget re-fetches. The note was wrong and is gone.
PDF export is Multi-Page Reports only

Dashboards no longer export to PDF

A Dashboard is one continuous scrolling view with no page boundaries, so there is nothing to paginate — rendering one produced a single over-long sheet. PDF export is now a Multi-Page Report feature.Dashboards no longer show the Download tab, the Allow PDF Download option, or the download button on a shared link. Any dashboard that still had Allow PDF Download switched on has had it cleared — the setting no longer applies to it.
POST /v1/pdf/generate now returns 400 for a dashboard, and the MCP generate_pdf tool rejects one. The same applies to the shared-link download endpoint, so an old public link can’t queue a dashboard PDF either. If you generate dashboard PDFs through the API or an assistant, those calls will start failing.
MCP: layout, cover overrides and canvas widget placement

Assistants can build free-canvas reports

create_report takes a layoutgrid or canvas — so an assistant can create a free-canvas report rather than always landing on the grid. It also takes the cover and thank-you overrides, and update_report takes the overrides (not the layout, which is fixed at creation).Widgets added to a free-canvas report are now sized correctly. The server placed every widget using grid units; on a canvas page those numbers are read as pixels, so an assistant-added widget arrived a few pixels wide in the top-left corner. It is now converted to the page’s own pixels.
Renaming and deleting pages through the API fixed

Page updates over the API no longer fail

Renaming or deleting a page through PUT /v1/pages/{page_id} or DELETE /v1/pages/{page_id} returned 403 Forbidden, even for a page in your own report. The MCP pages_update and pages_delete tools hit the same wall, so an assistant couldn’t rename or remove a page.The check that confirms a page belongs to your account was looking the report up under its old name, found nothing, and read that as “not yours”. Editing pages in the app was never affected — it saves through a different route.
Editor fixes

Two smaller editor fixes

A dashboard now scrolls clear of the floating dock. The last row of widgets ended underneath it.Loading placeholders match the page that’s coming. A report showed a dashboard-shaped grid of blocks while it loaded, then reflowed into pages. It now shows page sheets at the report’s own orientation and paper size.
New Report flow rebuilt

Starting a report

The New Report flow was rebuilt: pick how to start, pick the type, name it, and go. An empty reports table now offers a way out instead of a dead end, and its wording is corrected in every language.
Keyboard shortcuts in the editor

Shortcuts, and a list of them

The editor dock has a shortcuts helper, and each dock button’s tooltip shows its key so you can learn them as you work.
Trendline on area and column charts

Trendline toggle on more chart types

The trendline option now appears on area and column charts, not just line and bar.
Google Ads video metrics fixed
Video views and Video view rate queried Google Ads’ video_views and video_view_rate, which v23 no longer returns for these reports — the widgets came back empty. Both now request the TrueView fields the API actually serves, so existing video widgets fill in again with no change needed at your end.
LinkedIn showcase and brand pages fixed

LinkedIn followers and posts work on showcase pages

A LinkedIn showcase or brand page is stored as an organizationBrand URN, but two of LinkedIn’s endpoints — follower counts and posts by author — only accept an organization URN. Those two calls failed for any showcase page, so followers and posts came back empty. They are now converted before the call, and the posts request sends the API version header it requires.
Charts with nested dimension groups fixed

LinkedIn follower statistics can be charted

Some data views list their dimensions grouped by metric rather than as a flat list — LinkedIn’s Follower statistics is one. The chart builder only understood the flat shape, so it read those views as having no dimensions and refused to draw. Both shapes now work.
Goal widget currency fixed

Goal widgets show the right currency

A goal measured in money always drew its value and target with a dollar sign, ignoring the client’s currency. Both now use the widget’s own currency symbol.
Share from the Oviond domain when you have custom domains

Choose the Oviond domain for a single client

Once an account had a custom domain, every client’s share links used one — there was no way to send a particular client a plain Oviond link. A client’s domain picker now offers No custom domain, which forces that client’s links back to the Oviond host, and the default option names the domain it actually resolves to instead of just saying “Default domain”.
Table row details

Open a table row to see its details

Clicking a row in a table widget opens a slide-over with that row’s full detail, themed to match the report it sits in.
YouTube video thumbnails in previews

Video thumbnails in YouTube previews

YouTube preview widgets carry a video thumbnail dimension, so a preview shows the video rather than a bare row.
Two new data sources

Nozzle and Airtable

Nozzle — SERP and keyword tracking, on Nozzle’s v2 API, as a single data view. A segment is required when you configure it.Airtable — pull records from an Airtable base into a widget.