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
view: <scope>? role= <role>& w= <window>& env= <live| test>& asOf= <watermark>| Part | Holds | Default |
|---|---|---|
scope | What the view covers | Required |
role | A Role or a Team id, which narrows the view to what that seat answers for | The scope's own view |
w | A horizon value | The current week |
env | live or test | live |
asOf | An Event watermark or a time | Now |
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
| Scope | Written as | Example |
|---|---|---|
| The Studio | studio | view: |
| A Startup | its domain | view: |
| A part of a Startup | its domain and path | view: |
| A Portfolio query | portfolio: and a saved Collection | view: |
| One person | person: and their id | view: |
Scope and Role combine freely. view: is marketing across every b2c marketplace in the Portfolio. view: 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.
| Horizon | Value |
|---|---|
| Day | 2026-10-22 |
| Week | 2026Q4W4 |
| Quarter | 2026Q4 |
| Year | 2026 |
| Three years | 2026-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= 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.
{ "name": "fetch", "arguments": { "id": "view: permitfeed.dev? role= sales-lead& w= 2026Q4W4" } }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.