Studio overview
Studio pages are named, versioned, permissioned views of your data — pages, dashboards, reports, forms, and embeds built visually.
#What is a page?
Studio is where you build pages — a page is a saved definition of how to look at your data: a layout of blocks (headings, tables, cards, charts, forms…) wired to data bindings, with its own access rules and version history. (Under the hood the page format and its render engine are called lens, which you'll see in the API and SDK.) One page can render in several places:
| Kind | Renders at | Use it for |
|---|---|---|
| Page (backend) | inside the app | dashboards, custom admin pages |
| Public | /l/your-slug and embeds |
shared pages, public catalogues, intake forms |
| Collection view | a collection's Data page | replace or complement the built-in table |
| Record preview | a record's preview | "a page per record" — detail views |
| Report (export) | PDF / HTML / CSV / Markdown | print-ready documents |
Find them under Studio in the sidebar, grouped by kind.
#The designer
Open any page and press Edit to enter the designer:
- Canvas (centre) — a live server render of your page. Click a block to select it; edits preview as you type.
- Tree & catalog (left) — the block structure; drag to reorder, add blocks from the catalog.
- Inspector (right) — the selected block's settings, generated from the block's own schema. Tables get a columns editor, forms a fields editor, cards/kanban a meta-fields editor.
- Data panel — bindings: which collections (or static data, scripts, flows, URL parameters) feed the page, with filters, sorting, limits, and an optional JSONata transform.
- JSON tab — the whole definition as editable JSON, for copy/paste and fine control. The visual tools and the JSON are two views of the same document.
Tips:
- The field picker lists the fields your bindings expose; hover a field to see ten real values from your data before you commit to it.
- The AI assistant panel can build or fix a lens for you — describe what you want and apply its suggestions with one click.
- Undo/redo works across everything (Ctrl+Z / Ctrl+Shift+Z).
#Data bindings
A binding fetches data once per render and makes it available to blocks:
- Collection — records from a collection, with filter/sort/limit. Row-level security applies: viewers only ever see records their role allows.
- Static — inline JSON, handy for menus and fixtures.
- URL parameter — read
?param=valuefrom the page URL. - Script / Flow — run an Automate script or flow and use its result.
- Site / user context — instance name, current user.
A binding's optional Transform runs JSONata over the fetched data — filter rows, derive new fields, or compute totals. See Expressions & calculations.
#System lenses
Some pages of the app itself are lenses (the System dashboard, for instance). They are seeded templates: customise them freely — upgrades never overwrite your changes, and Reset to default restores the shipped version.