Update and Deploy Lightning Communities with ExperienceBundle (Generally Available)

The ExperienceBundle metadata type, which was previously available as a pilot program, is now generally available. ExperienceBundle provides human-readable, text-based representations of the different Experience Builder settings and site components, such as pages, branding sets, and themes. Whether it’s for your own org or you’re a consulting partner or ISV, quickly update and deploy Lightning communities using your preferred development tools, including Salesforce Extensions for VS Code, Salesforce CLI, Workbench, or your favorite IDE or text editor.

Where: This change applies to Lightning communities accessed through Lightning Experience and Salesforce Classic in Essentials, Enterprise, Performance, Unlimited, and Developer editions.

Why: Previously, the Network, CustomSite, and SiteDotCom metadata types combined to define a community. However, retrieving the SiteDotCom type produces a binary .site file, which isn’t human readable. By retrieving the ExperienceBundle type instead of SiteDotCom, you can extract granular community metadata in a human-readable format, contained in a three-level folder structure.

The experiences folder contains all the Lightning communities in your org. Each community folder contains subfolders that represent the different components that you access in Experience Builder. Edit the .json files on your local machine or scratch org, and then quickly deploy your changes.

Three-level folder structure

How: To enable the ExperienceBundle metadata type, from Setup, enter Communities Settings in the Quick Find box, and then select Communities Settings. Select Enable ExperienceBundle Metadata API, and save your changes.

Or you can enable this feature when creating a scratch org using a scratch org definition file. (See the Metadata Coverage report.)
{
  "orgName": "Sample Org",
  "edition": "developer",
  "features": [
    "COMMUNITIES"
  ],
  "settings": {
    "experienceBundleSettings": {
      "enableExperienceBundleMetadata": true
    },
    "communitiesSettings": {
      "enableNetworksEnabled": true
    }
  }
}
Tip

Tip

Before you begin editing the .json files of your community, make a copy of the files as a backup.