Get Started Developing for CMS

Content management systems (CMS) give you the power to reuse content rather than having to duplicate it. Using a CMS, you can provide content to multiple sites and also centrally update it to keep it current everywhere. Experience Cloud has two CMS options. Salesforce CMS is built into your org for curating and sharing content with multiple channels. Salesforce CMS allows you to manage different language versions of your content and control who creates content. The second option is CMS Connect, a tool for embedding content from a third-party CMS in your site.

Use Salesforce APIs to perform different tasks programmatically in CMS.

Before developing for CMS, learn about these key concepts.

When a user creates content, such as a blog or event, the content type determines its fields and how each field behaves. For example, a blog has a field dedicated to the author’s name to separate it from the body. For more information, see CMS Content types in Salesforce Help.

You can share content in your CMS workspaces with other endpoints via a CMS channel. You use a CMS channel to connect to B2C Commerce Cloud, Marketing Cloud, Heroku, LEX apps, or a third-party site using headless APIs. Public channels manage content intended for a public audience, such as marketing emails, websites, custom apps, and more. For more information, see CMS Channels in Salesforce CMS in Salesforce Help.

For high-performance delivery of public content, use a content delivery network (CDN). Use our CDN partner, Akamai, or use a CDN of your own. The easiest way to get started is to use a default domain hosted by Akamai (requires My Domain). For more information, see Salesforce's CDN for Digital Experiences Overview in Salesforce Help.

CMS workspaces are the primary organizing and security principle in the Digital Experiences app. Use CMS workspaces to create and organize your content, set languages, and select contributors. Then, share your curated content to Experience Builder sites or other endpoints, including Marketing Cloud, Heroku, custom apps, and more. Workspaces also help limit access to the content. For more information, see CMS Workspaces in Salesforce Help.

A contributor is a user that has access to CMS. Contributors are either content admins or content managers. Content admins have access to perform administrative tasks in the workspace, and content managers have access to create and modify content. For more information, see Role-Based Access in Salesforce CMS in Salesforce Help.

Import images, news, documents, or custom content types, into a workspace in Salesforce CMS by uploading a .zip archive of JSON files. Transfer content from an external source or CMS, or mass-import images from an external digital asset manager (DAM), for product enrichment. For more information, see Import Content into Salesforce CMS in Salesforce Help.

You can use these APIs to perform different tasks programmatically in CMS.

Use Tooling API to create custom content types from JSON objects and retrieve content node types. For more information, see ManagedContentType in Tooling API.

Use Metadata API to create custom content types from XML components. To make calls to Metadata API with the Salesforce command-line interface (CLI), use mdapi commands. For more information, see ManagedContentType in Metadata API Developer Guide.

Use Connect REST API to retrieve content from CMS for use in other systems. For more information, see CMS Managed Content Resources and Enhanced CMS Workspaces Resources in Connect REST API Developer Guide.

Use Connect in Apex to retrieve content from CMS for use in other systems. For more information, see ManagedContent Class and ManagedContentDelivery Class in Apex Reference Guide.

In Salesforce’s enhanced CMS, use third-party APIs to create custom components for the CMS content editor. Use sidebar extensions to add productivity features, such as spell checkers, grammar and tone editors, content recommendations, and translation services, to your content workflow. For more information, see Build and Deploy Sidebar Extensions in the CMS Content Editor in Salesforce Developers’ Blog.