# Workspaces A product that serves companies can let any signed-in end user create a company of their own — a **workspace** — without you placing anyone: one new node of your organization tree, and a new membership for that end user homed there, as the company's admin. Their other memberships stay as they were, so a person who signed up as a customer keeps that account and gains the company beside it. Registration does not change: end users still sign up through your product's one hosted sign-up, under the posture `[authenticate]` declares ([Members, roles and registration](members.md)). Creating a workspace is something a signed-in end user does afterwards, from your product's page. ## Declaring it ```toml [authenticate] roles = ["staff", "customer", "company_admin", "company_member"] registration = "open" default_roles = ["customer"] default_org_path = "/crm/people" admin_org_path = "/crm" [authenticate.workspaces] parent = "/crm/companies" admin_profile = "company_admin" name = "slug" seed = "company" ``` | key | what it says | |---|---| | `parent` | the node every workspace is created under: at or below `admin_org_path`, not at or below `default_org_path`, and with room for a node below it | | `admin_profile` | a profile of `config/profiles.toml` the creator is granted at the new node ([Profiles and grants](profiles-and-grants.md)) | | `name` | how the new node's last segment is made: `slug` from the name the end user types, with a suffix when it is taken (a name that yields no letters falls back to `token`); `token` an opaque value, so the name never enters the path | | `seed` | optional: a node seed template, `db/seeds//nodes/