Dynamic Page Routing
URLs matter more than most business software acknowledges. A URL that uniquely identifies a specific record, list view, or filter configuration is bookmarkable, shareable, and can be deep-linked from other systems. A URL that doesn't uniquely identify anything — or that changes on every navigation — makes the platform harder to use and harder to integrate.
Dynamic page routing gives every meaningful view in your workspace a stable, meaningful URL.
How It Works
Page routes are defined as URL patterns with parameters. /projects/{id} loads the detail page for the project with that ID. /projects?status=active&owner={userId} loads a filtered list with those parameters encoded in the URL.
When you navigate to any record or filtered view, the URL updates to reflect exactly where you are. Refresh the page and you're in the same place. Share the URL and your colleague lands on the same record with the same context.
Parameterized Routes in Definitions
Routes with parameters are first-class in the screen definition system. A screen definition can declare that it responds to /invoices/{id}, load the invoice with that ID as its data source, and build the entire page around that record.
Related screens link to each other using these parameterized routes. An invoice list links to individual invoice detail pages. A project detail page links to the project's related tasks. Each link is constructed from the record's ID, producing a stable URL for every destination.
Deep Linking from Other Systems
Stable URLs mean you can link to specific records from other places. An email notification links directly to the relevant record. A chat message includes a link that lands on the exact record being discussed. An integration logs the platform URL alongside its own data.
Deep linking from external systems requires predictable URLs. Dynamic routing provides them.
The Navigation Experience
Consistent URL patterns also make the platform easier to navigate by keyboard and by memory. The URL structure of your workspace reflects its data structure, making navigation more intuitive and making browser back/forward work correctly throughout.
URLs are interfaces. They should work like interfaces.