My admittedly basic understanding of how Salesforce works is that everything is defined in metadata. If I create an app, that's defined in App_Name.app-meta.xml. If I add a page to it, that creates a few files, Page_Name.flexipage-meta.xml and Page_Name.tab-meta.xml. I can then include these in my local project folder and deploy the app as-built to a new org.

Is this true of everything? I've used the Setup interface to create a Change Data Capture for a custom object, but can't find the metadata for it. Does one exist? If not, does this mean that to deploy an app that requires it I need to manually configure the new org's Change Data Capture each time?

1 Answer 1


Regarding your “True of everything?” question - No. Some changes are “Unsupported Metadata” which may vary depending on Salesforce’s roadmap and when you read this.

Try the PlatformEventChannel metadata for Change Data Capture config. See https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_platformeventchannel.htm

Most setup menu changes can be handled via the metadata api assuming its "Supported Metadata".

  • Thanks, but either I'm looking in the wrong place, or that isn't it. I am using VS Code with the Salesforce extensions, and had already downloaded the custom object metadata file. I did see a tag in there for enableStreamingApi, but I took the custom object out of the CDC list and re-downloaded the file (using the org metadata browser). It hadn't changed.
    – Chuck
    Commented Apr 28, 2021 at 2:07
  • Oh, ok. I've updated the answer. Commented Apr 28, 2021 at 2:18
  • 1
    Thanks so much! Strangly it was actually Platform Event Channel Members, and there was no Platform Event Channel metadata.
    – Chuck
    Commented Apr 28, 2021 at 21:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .