How one UI manages multiple Supabase-backed workspaces.
An HQ workspace is a Supabase project that you own. Your agents, tasks, CRM, knowledge, routines, collections, and settings all live in that one database. The HQ UI connects to it at runtime — you can point a single UI at multiple Supabase projects and switch between them.
The UI stores workspace metadata in two files on the ui-config Docker volume:
workspaces.json — array of workspace entries: label, emoji, Supabase URL, anon key, and a default flag
secrets.json — encrypted service-role keys for each workspace
When the UI container starts, it reads the registry and connects to the default workspace. The browser receives the workspace’s Supabase URL and anon key — it connects directly to your Supabase project, not through the UI server.
Workspace registry
Stored on the ui-config Docker volume. Survives container restarts and image updates. Back this up.
Runtime injection
The active workspace is selected at runtime and injected into the browser — no image rebuild needed when switching.
Use the workspace switcher in Settings → Database. When you switch:
The UI server updates the active workspace in the registry
The browser reloads with the new Supabase URL and anon key
You re-authenticate against the new workspace’s Supabase Auth
Each workspace has its own user accounts. Signing into workspace A doesn’t sign you into workspace B — they’re separate Supabase projects with separate auth.
Self-hosted installs use a single default tenant ID (00000000-0000-0000-0000-000000000000). All authenticated users in a workspace see the same data. This is by design — HQ is workspace-level admin software, not a multi-user SaaS with per-user permissions.If you need per-user access control within a workspace, restrict who can sign up for your Supabase project (disable email signup, use invite-only). See Security model.
For most teams, one workspace is enough. Add a second when you genuinely need data isolation — not just organizational separation. Use streams, labels, and agent hierarchy within a workspace to organize work.