Portal Community

Route Pattern Syntax

// Route patterns on AppPages
/leads                     // Static route — no parameters
/leads/:id                 // Single parameter
/leads/:id/edit            // Nested route with parameter
/reports/:year/:month      // Multiple parameters
/documents/:category/:id   // Multiple segments

Route Matching Rules

AppPage Route Config

// AppPage configuration
{
  "pageId": "lead-detail",
  "title": "Lead Detail",      // Supports tokens: "Lead: {{ route.id }}"
  "route": "/leads/:id",
  "isHome": false,
  "breadcrumbParent": "leads-list",   // Parent page for breadcrumb chain
  "requiredRoles": []          // Empty = all app users
}

Route Hierarchy for Breadcrumbs

The breadcrumbParent field creates the breadcrumb hierarchy independently of the URL structure. Even if /leads/:id/edit is not nested under /leads/:id in the URL, you can define the breadcrumb chain:

// leads-list:   route=/leads,        breadcrumbParent=null (root)
// lead-detail:  route=/leads/:id,     breadcrumbParent="leads-list"
// lead-edit:    route=/leads/:id/edit, breadcrumbParent="lead-detail"

// Breadcrumb for lead-edit: Leads > Lead Detail > Edit

Deep Linking

All App Studio routes support deep linking. A user can share the URL /app/acme/crm/leads/lead-456 — the recipient navigates directly to the Lead Detail AppPage for lead-456 without needing to navigate from the list first.

Deep links work because: