Home
The protected per-org landing canvas — auto-created with the org, locked from rename, and the default destination of every login.
Home is what you see right after picking an org. It's the launchpad — a centered greeting, a dock of app icons, a recents column, and a team column — rendered on a canvas. Home is one of the canvas-based surfaces; the named apps in the dock (Pages, Data, Calendar, Inbox, Dial) now open as native shell surfaces with their own opinionated layouts. See Canvases and widgets → native apps vs canvases.
Every org has exactly one Home canvas, created by the
handle_new_org_home_canvas trigger at org creation (and backfilled for
older orgs). It's pinned to slug = 'home', is_system = true, and
visibility = 'org', and the protect_system_canvas trigger blocks
rename, icon, slug, type, visibility, and is_system writes — so the
canvas-dropdown's Manage and Delete entries are hidden when
hovering Home. The Share entry is hidden too, since visibility is
locked to org-wide.
Content fields (nodes_json, edges_json, viewport, description) stay
fully editable, so you can fill Home with dashboards, widgets, or notes
like any other board.
Layout
The default Home (HomePreviews.jsx, variation D — "Launchpad +
Minimal") shows:
- Greeting — time-of-day-aware (
"Good morning, Philip"). - Subtitle — org name and your role badge.
- App dock — colored Lucide icons linking to the shipping apps. The set is filtered by the canvas-app status registry, so hidden / in-progress apps don't appear in production.
- Recents column — clickable conversation list pulled live from the
conversationsstore. Clicking jumps to that conversation. - Team column — org members from
org_members, with avatar initials and role badges.
Get there
- Click the logo in the breadcrumb.
- ⌘K → "Home".
- Navigate directly to
/:orgSlug(no app suffix lands on Home).
Customising
Home is a full canvas, so right-click → Add Widget → Calendar / Pages /
Data / Tasks / Email / Dial lets you pin dashboard-style widgets onto
your homepage if the dock isn't enough. The full apps moved off the
canvas, but every dashboard widget — DataStatsWidget,
CalendarAgendaWidget, EmailInboxWidget, DialStatsWidget,
DialBucketListWidget, and the rest — stays addable.
You can't rename or relocate Home, but you can pan it, zoom it, and set your own anchor + default zoom — those are per-user (see Canvases and widgets → Per-user view state). Admins can also save their view as the team default for new users who haven't customized yet.
The live app dock
In production the dock shows only the apps with status = 'live':
- Home
- Pages
- Data
- Calendar
- Inbox (email)
- Dial
Apps marked in_progress (chat, agents, sms, campaigns, office, design,
automations) are visible in dev but filtered out of the production
sidebar, the right-click widget picker, and the toolbar widget picker.
Deep-linking to a hidden app in prod redirects back to Home.
Already-placed widgets keep rendering regardless — visibility is enforced
only at the picker entry points, so a canvas you built in dev doesn't
lose data when the same app gets flipped to in_progress.
When to leave Home
- Open an app → click any dock icon, or hit
⌘Kand pick. - Resume work → click an entry in Recents.
- Switch canvas → use the canvas dropdown in the breadcrumb (Home first, then user-created canvases alphabetically).
- Switch orgs → use the org switcher on the left of the breadcrumb.