Skip to main content

Publish, share and schedules

Versions and their states​

StateMeaning
Awaiting uploadA version was created; its bundle has not been uploaded yet.
DraftUploaded and private to whoever created it.
ValidatedEvery declared query compiled and the bundle booted. Eligible for publication; not live yet.
InvalidA query or the bundle failed; the per-query errors are on the version.
PublishedThe app's live version, readable by everyone in the workspace who can see the app.
SupersededA previously published version replaced by a newer one. Kept.
Unpublished appThe app was taken offline; its versions are retained.

The latest draft and the published version can differ. Ask the agent to show both before revising or publishing an existing app (dataapp_describe, dataapp_versions).

Publishing​

Publishing (dataapp_publish, or the Publish control on the app's page) makes a validated version live. It is always done by a person, or by an agent acting as you after you said yes. Two cases ask for a review in Studio at publish time:

  • the version adds or re-pins a function or workflow import (the app can now call something it could not before);
  • the app declares an analysis or persistence it did not declare before.

Unpublishing (dataapp_unpublish) takes the app offline and keeps every version.

Sharing​

An app is readable by its creator; publishing does not by itself hand it to anyone who cannot see it. Sharing (dataapp_share, or the app's Share control) grants read, write, publish or admin access to a person or a supported group; changing grants needs admin permission on the app.

One rule to know: a workflow screenshot (a snapshot step) can capture only an app that is shared with the whole workspace, because the capture runs as the workspace's service identity, which holds no personal grant. Otherwise the step fails with snapshot_app_not_shared and the send that would have included the picture is skipped.

Schedules: email a picture of an app​

A schedule captures one saved view of a published app at a time and emails it as a PNG, a PDF or both. No steps, no approval: use it for "send me this every Monday". For steps, conditions and approvals, use a workflow.

What a schedule needs:

SettingWhat to give
App and viewThe published app, plus a saved link, an app-view URL or view settings (tab, filters, time preset).
TimingA cron expression and a time zone. Ask the agent to say the resulting times in plain words.
Reporting periodExplicit dates, or a preset the app's time control offers (7d, 30d, 90d, quarter, ytd).
RecipientsEmail addresses. A schedule only to yourself needs read access; other recipients need write access on the app.
FormatPNG, PDF or both.
TabsThe saved tab, chosen tab ids, or every tab the app declares.
Email contentOptional subject, body and where a summary goes.

Tools: dataapp_schedule (create, update, enable, disable, delete, run), dataapp_schedule_list (read), dataapp_schedule_test (rehearse; deliver=false by default, so it makes the picture and sends nothing).

Good practice:

  1. Ask for a test with deliver=false first and look at the picture.
  2. Then give the recipients and enable the schedule.
  3. To stop deliveries, disable the schedule. Ending a chat or removing the MCP connection does not disable it.
  4. On a preview environment, mail goes only to addresses on the deployment's allowlist (recipient_not_allowed otherwise).

A schedule's run history is on the app's Subscribe menu and on the Runs page.

Asking an app​

Two read-only tools work on a published app: dataapp_ask(app, question) asks its Ask AI chat (this can create a chat thread), and dataapp_summary(app) summarises what its screen shows. Neither changes the app.

Persistent effects to review​

ActionWhat persists
Create or revise an appan app or a new draft version
Publishthe live version changes; workspace-wide read access
Unpublishthe app goes offline; versions kept
Sharea person's or group's permission on the app
Upload a blobcontent under a blob name the app declares
Ask an app or request a summarymay create a chat thread or a cached summary
Create or change a scheduledelivery settings that outlive the chat
Run a schedule or deliver a testan email to the configured recipients