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
Structure Contact, Method, Relationship, Overview Requires administer crm
Configuration Serialization, REST Requires administer crm; Serialization also requires Serialization; REST also requires REST

Structure links to contact types, contact method types, and relationship types. Overview links to /admin/structure/crm, which also lists method details and telephone types. The section heading links to the same overview.

The Configuration → 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 Configuration → 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.