Skip to content

Menu

CRM exposes a front-facing portal at /crm for users with CRM access permissions. Entity collections and contact workflows use /crm/* routes rather than standard admin paths.

Routes

Path Purpose
/crm Portal landing page (overview blocks from the CRM menu)
/crm/contact Contact collection
/crm/contact/{id} Contact canonical (Summary tab)
/crm/contact/{id}/relationship Contact relationships tab
/crm/contact/{id}/comment Contact comments tab (Comment module)
/crm/method Contact method collection
/crm/relationship Relationship collection

Admin structure and configuration remain under /admin/structure/crm and /admin/config/crm.

Permissions

Permission Effect
access crm View the /crm portal landing page and portal menu links the user can access
administer crm Full CRM administration (also grants portal access)

Bundle-specific contact and relationship permissions control access to individual entities. See Permissions.

CRM menu

Portal navigation uses the crm menu (config/install/system.menu.crm.yml). Menu links are defined in crm.links.menu.yml with menu_name: crm. The landing page at /crm builds admin-style blocks from top-level links in this menu.

The portal currently exposes four top-level sections:

Section Children Notes
Contacts Contacts, Relationships, Methods Requires access crm or administer crm
User Settings, Fields, List Requires administer crm
Export Serialization, REST Requires administer crm; Serialization also requires Serialization; REST also requires REST
Relationship settings Requires administer crm

The Relationship settings section links to /admin/config/crm/relationship/settings and configures the relationship closure index (synchronous update threshold, async mode, and rebuild).

The Export → Serialization child links to /admin/config/crm/serialization/settings and configures which contact-method fields are inlined during contact serialization. The link and form are shown only when the Serialization module is enabled.

The Export → REST child links to /admin/config/crm/rest/settings and configures which REST write verbs accept inline contact-method entity data.

Theme

Routes whose path starts with /crm use the theme negotiator theme.negotiator.admin_theme.crm (ThemeNegotiator). The active theme is read from crm.settings (theme key, default admin), resolved against system.theme configuration.

Configure at Admin > Configuration > CRM or export crm.settings config.