Vexal Documentation by WileyLabs

Hub Workspace

Stable

Route: /vexal-workspace/ · Leads: /vexal-workspace/leads/

Updated: July 2026

Workspace is the customer-facing Hub app: shell, trusted cards, and server-resolved account/site context. It is not the WordPress dashboard and not the Operator Console.

Workspace Shell and Card Registry

  • Theme-agnostic full-page shell
  • Cards registered in a trusted PHP registry (e.g. Leads summary from Intake cache)
  • No remote module pull during Workspace render

Customer and site context

User → vexal_hub_access → account membership → site.account_id → Workspace

Context is resolved on the server. URL parameters must not authorize access.

selection_required

When a user has multiple authorized accounts or multiple active sites, Hub fails closed with status selection_required. It does not guess the first record.

Login → Authenticated → Multiple accounts/sites?
  → selection_required (today: honest placeholder)
  → Future: Choose Account → Choose Site → Workspace

Roadmap Phase A: build the authorized Account/Site selection UI. Phase B: safe return URLs. Phase C: branded logout.

Workspace states

  • ready — single resolvable context; cards render
  • selection_required — multi-context; chooser pending
  • access_denied / unavailable — no safe context

Operator preview

Explicit route: /vexal-workspace/operator/preview/{site_db_id}/. Requires operator authorization. Does not create normal customer context.

Not Portfolio Project Workspace

Docs historically used “Workspace” for Portfolio’s Project Workspace. Hub Workspace is a different product surface. Prefer “Hub Workspace” vs “Portfolio Project Workspace” when writing.

See also