Skip to content

View address

A view address names any view by scope, Role and window, and the same string opens that view on the web, a phone, an agent's context, the API and MCP.

A view address names one view by its scope, its Role and its window. Every view is a point in that space, so none is designed by hand.

Grammar

Text
view:<scope>?role=<role>&w=<window>&env=<live|test>&asOf=<watermark>
PartHoldsDefault
scopeWhat the view coversRequired
roleA Role or a Team id, which narrows the view to what that seat answers forThe scope's own view
wA horizon valueThe current week
envlive or testlive
asOfAn Event watermark or a timeNow

Views are not stored. A Dashboard is a record, but the view it fills is computed on every read from the address and the records behind it.

Scopes

ScopeWritten asExample
The Studiostudioview:studio
A Startupits domainview:chairside.app
A part of a Startupits domain and pathview:chairside.app/products/reminders
A Portfolio queryportfolio: and a saved Collectionview:portfolio:b2c-marketplaces
One personperson: and their idview:person:ana-reyes

Scope and Role combine freely. view:portfolio:b2c-marketplaces?role=marketing is marketing across every b2c marketplace in the Portfolio. view:person:ana-reyes is the union of every Role that person holds, in every Startup.

Windows

The window is a horizon value. Its horizon picks the base Dashboard, so the same scope reads as a day's work, a week's review or a year's plan.

HorizonValue
Day2026-10-22
Week2026Q4W4
Quarter2026Q4
Year2026
Three years2026-2028

Live and as of

Views are live by default: each number is as fresh as the last Event behind it. asOf pins a view to one watermark, so every reader and every rendering sees the same numbers.

The weekly review uses both. It reads the week view as of the week's close, while the founder's phone shows live numbers from the same resolver. env=test resolves the same address over records written in test Mode.

Every surface

One address opens everywhere. An agent fetches it through MCP; a phone, a watch or a script reads it through the API.

JSON
{ "name": "fetch", "arguments": { "id": "view:permitfeed.dev?role=sales-lead&w=2026Q4W4" } }
Terminal
curl "https://api.sb/views/permitfeed.dev?role=sales-lead&w=2026Q4W4" \
  -H "Accept: text/markdown" \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"

Every Role, Team and Metric page links its address, and every Markdown block a view renders states its address on its first line. A citation copied from an agent's reasoning opens the same view for the person reading it.