Skip to main content
A page is a list of blocks. It can show your app’s numbers next to Pult’s live counts, put buttons and forms for any action in one place, and carry the flags your team flips most. A growth dashboard, an operations panel with a “broadcast message” form, a page for the person on call: what a page is for is up to you. Pages show up in the sidebar and in ⌘K.

Fixed or rendered

render is either a list of blocks or a function that returns one. A list is fixed in code. It ships with your definitions, opens instantly and works while your app is offline, which suits pages made of Pult’s own blocks: counts, item lists, inbox charts, flags and buttons. A function runs in your app each time someone opens the page, so it can show anything your app knows. It receives params and the actor looking at it. Like every request from Pult, it’s signed and goes over your app’s connection.

Parameters

params turns the top of the page into a row of filters: a choice for each enum or boolean, a text box for strings and numbers. The values live in the address, so a filtered page can be shared as a link, and arrive in render validated and typed. Fields with a default start on it.

Home

home is the page everyone lands on:
It takes the same blocks or function as any page. There’s one per project. Without one, home shows how many items are open in each inbox.

Who sees a page

Everyone sees home. Other pages are granted in roles with pages, and admins see all of them. Blocks on a page still follow the viewer’s role: counts and lists for inboxes they can’t see, and buttons for actions they can’t run, are left out.

Staying current

Pages fixed in code update as items change. Rendered pages render again after an action runs, so a button that changes your numbers shows its effect.