Skip to main content
A Page is an HTML document we host for you at its own URL: a report, a dashboard, a calculator, a hand-off document — anything your bot or your backend can render as HTML. Every save is a new version, every version has a permanent URL, and members can flip between versions in the app.

Ways to create one

In a reply

Put a page block in any message your bot sends to an internal conversation. We host the HTML and turn the block into a link card.

From your backend

Call the Pages API with your bot’s key. No conversation needed, so cron jobs and nightly builds work.
Both paths make the same kind of Page, at the same URL, owned by the same bot. A job that keeps one URL fresh should use PUT /pages/by-slug/{slug}: the first call creates the Page, every later call adds a version. See Scheduled and automated Pages.

URLs

Every workspace gets its own subdomain on the Pages domain, and every Page a slug under it:
Slugs are 1 to 63 lowercase letters, digits and dashes. Rename one and the old address redirects to the new one. A slug that belonged to a deleted Page is retired and never reused.

Visibility

Neither level is indexed by search engines, and a public Page is not listed anywhere. The link is the only way in.

Versions

Each write adds a version. We keep the newest ones up to your plan’s limit and prune the rest; the current version is never pruned. A write whose HTML is byte-for-byte identical to the current version is skipped and reported as deduplicated: true. Rolling back copies an older version to the top of the history, so nothing is ever rewritten in place. Page HTML counts toward your workspace storage, and every view counts toward bandwidth.

Who owns a Page

A Page created through the API belongs to the bot whose key made it, and a page block’s Page belongs to the bot that sent it. Any key in the workspace can read every Page. A key can only write to Pages owned by its own bot, and only when Pages write is switched on for that key in the bot’s API-key settings.

Inside the HTML

Pages are served from a separate domain, kept apart from the app. Scripts run, forms work, and the HTML may fetch data from any endpoint that allows cross-origin requests, so a Page can be a live dashboard that pulls fresh numbers each time it opens rather than a snapshot. What it cannot do is reach your workspace’s data or cookies. It has no session.

Scheduled and automated Pages

Keep one URL fresh from a cron job.

Pages API reference

Every endpoint, field and error.