Solavel Solavel Docs

Workspace Settings

docs/solavel/workspace-settings.md

Who can use this: Workspace owners only (client_owner role) URL / Route: /portal/workspace/settings (route portal.workspace.edit) Plan / feature gate: Always on

Purpose

Workspace Settings is the canonical edit page for your workspace — the company-level container that holds all of your organizations, team members, and billing. It lives one layer above any specific organization.

Use this page when you need to change anything that applies to the whole workspace, not to a single organization. Example: renaming your company, adding the new @acme.io domain so future signups auto-attach to your workspace, updating your contact phone.

Step by step

  1. Click Workspace Settings in the sidebar (under the Workspace section), or visit /portal/workspace/settings.
  2. Edit any of:
    • Workspace name — the company name shown on invoices, in the sidebar header, and on every share / invite URL
    • Website — your public URL
    • Contact email — workspace-level contact (separate from your personal email)
    • Contact phone
    • Workspace domains — comma-separated list of email domains that belong to your company (acme.com, acme.io). Used for Company-account detection during invitations and for future-self SSO.
  3. Click Save changes (PATCH /portal/workspace/settings, route portal.workspace.update).
  4. The first time you save a workspace name, Solavel stamps workspace_name_set_at so the first-time-naming prompts go away forever after.

What this is NOT

It is easy to confuse three different "settings" pages — they each own a different layer:

Page URL What it edits Who can use it
Account Settings /portal/settings YOUR name, email, password Anyone signed in
Workspace Settings /portal/workspace/settings YOUR COMPANY: workspace name, domains Workspace owner only
Organization Settings /portal/orgs/{org}/edit ONE ORG: org name, address, logo Per-org Owner of that org

If you want to change YOUR profile, go to Account Settings. If you want to change ONE organization, go to that organization's Settings. Only the workspace-level fields belong here.

Permissions / restrictions

  • Reading and writing the page require the client_owner Spatie role — i.e. you must be a workspace owner. Managers, members, and viewers see an "Access denied" page if they navigate here directly.
  • The page is protected by ClientWorkspaceController middleware auth + verified + ensure.client, plus an explicit role check inside the controller.
  • Independent users are never workspace owners of someone else's workspace and cannot reach this page for it.

Workspace domains explained

The Workspace domains field is the most important one. It's a comma-separated list of email domains your company owns (acme.com, acme.io). Solavel uses it to:

  • Detect Company-account invitations. When you invite name@acme.com and acme.com is in your domain list, that invitation defaults to a Company account type (i.e. the new user's account belongs to your workspace).
  • Auto-attach future signups to your workspace if they sign up with a matching email domain (planned).

If your team uses multiple domains (e.g. you bought acme.io last year), add them all. The list is JSON-encoded in clients.company_domains and split on commas at save time.

Routes

Method URL Route name Controller
GET /portal/workspace/settings portal.workspace.edit ClientWorkspaceController@edit
PATCH /portal/workspace/settings portal.workspace.update ClientWorkspaceController@update

Behind the scenes

  • Controller: app/Http/Controllers/Client/ClientWorkspaceController.php
  • Model: app/Models/Client.php (the workspace = one row in clients)
  • Validation: workspace name 2–120 chars; website optional URL; domains parsed from comma-separated string into a JSON array
  • Stamping: workspace_name_set_at is set on first save so the first-time naming prompts never reappear

See also

Source: docs/solavel/workspace-settings.md ← All documentation