CRM Module
The CRM module extends the platform with organizations, org membership, CRM contact data, status tracking, and invitation flows. It depends on the Admin layer because the current policies and staff and admin workflows assume RBAC is present.
What schema it installs
organizationsfor company-level records and primary contact linkage.organization_membersfor org membership and org-admin/member role control.crm_contactsfor contact records linked to organizations and optionally profiles.crm_status_logfor contact status history.organization_invitationsfor invitation flows, with later acceptance linkage.- Later schema refinements such as address support, contact/profile linking, and generalized tax identifier fields on organizations.
What package and domain logic it provides
@brightweblabs/module-crmexports shell registration for CRM nav groups and toolbar routes.- It also exports server-side CRM data helpers such as
getCrmDashboardData(). - The package reads from shared platform tables such as
profilesanduser_role_assignmentsin addition to CRM-owned tables.
Whether it adds starter routes and wiring
| Area | Current behavior |
|---|---|
| Scaffold wiring | Selecting CRM adds the package dependency and enables CRM-related shell/config wiring in generated platform apps. |
| Starter routes | The current module template contributes the /playground/crm starter surface in the scaffold. |
| Shell behavior | The module registration adds CRM navigation groups and toolbar route definitions. |
The CRM module does not install a full ready-made CRM frontend into a client app. It provides shared schema, policies, helper functions, and a light starter surface. Real client UI remains app-owned.
Related docs
Repo sources
supabase/modules/crm/migrationspackages/module-crm/src/index.tspackages/module-crm/src/registration.tspackages/create-bw-app/template/modules/crmsupabase/module-registry.json
Repo source
docs/modules/crm.mdThis page is rendered directly from the root docs folder. Edit the markdown there, not inside the app.
PreviousModulesOptional modules currently extend the platform mostly through shared schema, domain logic, package helpers, and light starter wiring. They should not be treated as fully packaged frontend products that drop a finished UI into each client app.NextProjects ModuleThe Projects module extends the platform with work-management data and project access rules. It depends on CRM because projects are attached to organizations, and it inherits the Admin and RBAC layer through that dependency chain.