Plank help · updated 2026-11-02

Dashboards and regular reports

Pages that read your workspace tables show up in «Дашборды» by themselves, always with today's numbers; reports a schedule writes every day or week are grouped into one series you can flip through.

Agents: fetch the raw markdown of this page at /en/help/dashboards.md

Dashboards and regular reports

The assistant builds three kinds of result for you, and all three are listed in «Дашборды»:

What it isWhere you find it
A one-off report — "show me Q3 sales" — numbers written into the page once.«Дашборды» → «Разовые отчёты», newest first (since 24 October 2026), as well as the chat that made it and your workspace files.
A regular report — a schedule writes a new dated file every day or week.«Дашборды» → «Регулярные отчёты», one row per report; tapping it opens the newest issue, and «Подробнее» switches between issues.
A live dashboard — a page that reads your workspace tables every time you open it.«Дашборды» → «Живые».

Where «Дашборды» is. On the computer it is a row of its own in the sidebar, right below «Поиск». On the phone it is a tab in the bottom bar, between «Чаты» and «Агенты» (or «Ещё»). Until 12 October 2026 it sat under «Ещё»; an old link to it still opens it. Pinned entries («Закрепить») come first.

Tapping an entry opens the page itself, full size, the same way as opening it from «Избранное» or «Главная» — the numbers are the first thing you see. A regular report opens its newest issue. On the computer it opens in the file page's current tab; Ctrl-click (Cmd-click on a Mac), a middle click, or «Открыть в новой вкладке» in the ⋯ menu opens it in a new tab beside the others, the way a browser does. A file opened from the page — a PDF a dashboard links to — replaces it in the same tab, and «‹» at the top goes back.

A page opens even if you have never written to a chat. Until 2 November 2026 a member who had only been invited to a space — and had never opened a chat in it — saw the entry in «Дашборды» and got an error instead of the page ("Machine not provisioned. Connect to chat first."). The page now opens for them, with live numbers, and so do the pictures in it; nothing has to be started first and nothing is slower for anyone else. A viewer reads the page exactly this way. Editing a file still needs a chat in that space, and a viewer still cannot change files at all.

«Подробнее» in the entry's «Ещё действия» menu (⋯) opens its details: the page with «Откуда цифры» — the tables it reads and when each was last written, the sources behind them, the schedule that rewrites it, and the chat it was made in — and, for a regular report, one chip per issue. «Поделиться», «Попросить изменить» and «Переименовать» are there too.

A page becomes a dashboard by itself

You don't have to ask for it and the assistant doesn't have to remember anything. When a chat writes an HTML page:

  • The page reads your workspace tables (apps/<table>) → it is a live dashboard. Its title comes from the page's own title. «Попросить изменить» opens the chat that built it. If you can't open that chat (it is another member's private chat), it starts a new chat on «Главная» that names the page. Rewriting the same file updates the entry — it never makes a second one.
  • A schedule writes a dated file (report-2026-10-10.html, report-2026-10-11.html, …) → from the second such file on, they are one regular report and every new file is a new issue.
  • The numbers are written into the page, and either its name says dashboard («дашборд», «сводка», "dashboard") or a schedule rewrites that same file → it is a snapshot dashboard. It shows «данные от <дата>» — the numbers are as old as the last time the page was written — and offers «Сделать живым».
  • Anything else is a one-off report: the page a chat hands you as its result is listed under «Разовые отчёты», with the date its numbers were written. Writing the same file again updates the entry. If the report later starts reading your tables, or a schedule starts rewriting it, the same entry becomes a dashboard, keeping its pin and your title. Only the page that is the chat's result is listed — not drafts or helper pages written along the way.
  • A copy of a dashboard that is already listed is not a new entry. When the assistant checks how a page looks, it may save a rendered copy next to it (for example reports/…-qa/card.html). A copy with the same page title and the same page code — or the same title and its code stripped out — points at the existing entry instead of adding a second one. Renaming or moving the page keeps the same entry, with its pin and your title. Two different dashboards over the same table — a different title, or different page code — stay two entries.

"Данные от …" and the warning line

A live dashboard shows when its tables were last written. If a source it depends on has a problem — an integration that needs reconnecting, a file that is no longer found — the card says so, so a stale number never looks current.

An open live dashboard catches up by itself. When the assistant finishes a reply that changed the tables the page reads, the open page reloads with the new numbers. It also checks when you press Refresh or come back to the app. If the tables did not change, the page stays as it is, with your tab and filters.

«Сделать живым»

A snapshot dashboard repeats yesterday's numbers until something rewrites it. «Сделать живым» writes a request into a new chat on «Главная»: move those numbers into workspace tables and make the page read them, keeping its look and touching no other file. Nothing is sent until you press send, and nothing is rewritten without that chat — your files are never changed in bulk.

If a schedule regenerates the page, the assistant will ask you before changing that schedule to "refresh the tables" instead — it never changes the schedule without your yes.

Templates («Шаблоны»)

«Дашборды» has a second tab, «Шаблоны»: ready-made dashboards and regular reports — planners, a sales funnel, a budget, a class journal and more — grouped by category. Every example shows made-up data; nothing in it comes from a real company.

  • «Подходит к вашим данным» lists the templates whose data your workspace already seems to have — a connected CRM, a table of deals, a registered file. It is a hint, not a promise.
  • Open a template to see the full example and «Какие данные нужны»: the data it needs, with ✓ next to what was found.
  • «Сделать на моих данных» writes a request into a new chat on «Главная». Nothing is sent until you press send. The assistant then builds the page on your own data, asking at most one question if something it needs is missing. The result appears under «Мои» like any other dashboard.
  • A regular-report template comes with a suggested schedule; the assistant offers it and never creates it without your yes.

Removing an entry

Open the entry's «Ещё действия» menu (⋯) and choose «Убрать». It moves to «Убранные» and is never added back automatically, even when the page is written again. Choose «Вернуть» there to bring it back. Removing an entry does not delete the file. This applies to one-off reports too.

For the assistant

  • To make a dashboard, write an HTML page that fetches apps/<table> (see App data). The platform registers it at the end of the turn — no tool call is needed.
  • fetch('apps/<table>') answers {data: [...rows]}, never a bare array — read (await res.json()).data. A page that treats the body as the list renders empty while the table is full; App data has the full shape table and a copy-paste appRows() helper.
  • Rewrite the existing page to change a dashboard; never write a second copy beside it. plank_dashboards_find lists what is already registered.
  • Visual QA renders are not dashboards. A browser render of the page saved beside it keeps the page's <title> and scripts, and is filed under the existing entry rather than listed; to make a NEW dashboard from an existing one, give it its own <title>. To move a dashboard, rename the file — the entry follows.
  • One-off reports are listed automatically — the turn's deliverable HTML with baked numbers becomes a «Разовые отчёты» entry. plank_dashboards_find lists them only with kind: "report". Publishing a report's path with plank_dashboard_publish (after making it fetch apps/) turns that same entry into a dashboard.
  • plank_dashboard_publish is optional: use it to give a page a better title, pin it, or name the sources (reads_sources) it depends on so their health shows on the card. It refuses a page that does not fetch apps/ — a page with baked numbers is a report, not a dashboard. It also refuses a page the person removed; tell them it is in «Дашборды» → «Убранные».
  • plank_report_issue is optional: use it to file a dated report as an issue of its series the first time, before a schedule has written two. The file name must carry the date.
  • Templates. When the person asks for a dashboard or report a common template may cover, call plank_dashboard_templates_find (optional query, category) — it says per data need whether this workspace seems to have it. plank_dashboard_template_get({ slug }) returns the example HTML and the build recipe: map each need to a source, ask ONE question if a required one is missing, write dashboards/<slug>.html that fetches apps/<table> and keeps the example's look, then call plank_dashboard_publish({ path, template_slug }). Never copy the example's sample numbers into the person's page.
  • Don't put a credential in a page title — the title is shown to everyone in the workspace.