Skip to Content

Products

The catalogue a tenant sells from — products, services, skills, industries and territories. See Reading the tables for the conventions.

Capabilities

CapabilityGateAdminCSMSDMExpertVendorCustomer
Browse the cataloguetaxonomy.view✔️✔️✔️❌❌❌
Create, edit and archive products, services and skillstaxonomy.manage✔️✔️✔️❌❌❌
Create, edit and archive industriestaxonomy.manage✔️✔️✔️❌❌❌
Link or unlink a service on a producttenantConfig.manage✔️❌❌❌❌❌
Manage territoriestenantConfig.manage✔️❌❌❌❌❌

Managing the catalogue records and wiring the catalogue together are two different gates: CSMs and SDMs maintain products, services, skills and industries under taxonomy.manage, but the product↔service links are tenant configuration and stay admin-only. Skills carry no category taxonomy of their own — a skill links many-to-many to the services it supports, chosen on the skill form.

Removing a catalogue record archives it — the control says Archive, and the dialog says the record leaves every list and picker and can’t be restored from the app. Archives are dependency-guarded, and each dialog names its own rule: a service with product links or skills, a product used by a lead, an expert or a linked service, a skill held by a lead or an expert, and an industry held by a lead, a customer or an expert all refuse to archive. A service’s own leads are not yet checked. Regions archive the same way, refused while they still hold countries or people.

Products, services and skills can be switched inactive. An inactive product or service leaves the public lead form and the create-lead form; an inactive skill is no longer offered in the create-lead form. Records that already use one keep it. Industries carry no switch in the app.

Names are stored exactly as typed — “Rapid implementation” stays “Rapid implementation” — and are unique regardless of case: with “Integration” saved, creating “integration” (a service, product, skill or industry) is refused as a duplicate, while changing only the capitalisation of an existing name is an ordinary edit. Names saved before this rule keep the lowercase they were stored in until someone renames them.

An archived name is free again: names are unique among live records only, so archiving a service, product, skill or industry and creating one with the same name succeeds. A product name is unique within its organisation: two organisations may each hold a product of the same name, but one organisation cannot hold “CRM” and “crm” side by side. Products are the one technology level of the catalogue — there is no platform above them. Emptying a record’s description and saving clears it.

Surfaces

PageGateAdminCSMSDMExpertVendorCustomer
/products, /servicesderived from taxonomy.view or taxonomy.manage✔️✔️✔️❌❌❌
/admin/settings/skills — the Skills tab; /skills redirects to itderived from taxonomy.view or taxonomy.manage✔️✔️✔️❌❌❌
/admin/industriesderived from taxonomy.manage✔️✔️✔️❌❌❌
/admin/settings/products, /admin/settings/services, /admin/settings/industriesderived from taxonomy.manage✔️✔️✔️❌❌❌
/admin/territoriesderived from tenantConfig.manage✔️❌❌❌❌❌

Territories are the one catalogue domain edited in a modal rather than on its own create and edit pages, so the list refreshes in place instead of redirecting after a save.

Skills sit in the settings hub alongside products, services and industries, but read on taxonomy.view or taxonomy.manage rather than the taxonomy.manage alone its neighbouring tabs read on. The two permissions are granted separately, so the read pages open to either: someone who may write the catalogue can always read it. Writing a skill still takes taxonomy.manage, as it does everywhere else in the catalogue.

Create, edit and archive controls appear only to people who can write the catalogue — the same taxonomy.manage check the saves themselves make, including a tenant’s own edits to a role’s permissions. Anyone else sees the lists and records read-only, and opening a create or edit page by its address takes them back to the list or the record instead of a form that would fail.

Last updated on