Keep Your External Data Up to Date with Change Data Capture (Generally Available)

Receive near-real-time changes of Salesforce records, and synchronize corresponding records in an external data store. Change Data Capture publishes change events that represent changes to Salesforce records. Changes include creating a record, updating a record, deleting a record, and undeleting a record. Change Data Capture was offered in the last release as a developer preview and a pilot, and we’ve made enhancements for this release.

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

Why: For example, you have a human resource (HR) system with copies of employee custom object records from Salesforce. You can synchronize the employee records in the HR system by receiving change events from Salesforce. After receiving the events, you can process the corresponding insert, update, delete, or undelete operations in the HR system. Because the changes are received in near real time, the data in your HR system stays up to date.

How: Change events are based on platform events and share some of their characteristics. For example, you can replay a stream of past events that are stored for up to three days. Also, change events share the usage-based entitlements for CometD event delivery with high-volume platform events.

Change events are available for all custom objects defined in your Salesforce org and a subset of standard objects. Select the objects that you want to get notifications for from the new Change Data Capture page in Setup. The following standard objects support change events.

  • Account (including Person Account)
  • AccountContactRole
  • Asset
  • Campaign
  • Case
  • Contact
  • ContractLineItem
  • Entitlement
  • Event
  • EventRelation
  • Lead
  • ListEmail
  • LiveChatTranscript
  • Opportunity
  • OpportunityContactRole
  • Order
  • OrderItem
  • Product2
  • Quote
  • QuoteLineItem
  • ServiceContract
  • Task
  • TaskRelation
  • User (including partner users)

To select objects in Setup, enter Change Data Capture in the Quick Find box, and click Change Data Capture.

Change Data Capture page

Shield Platform Encryption Support

If Salesforce record fields are encrypted with Shield Platform Encryption, changes in encrypted field values generate change events. Data in change event messages is delivered over a secure transport layer (HTTPS and TLS).

Change events are stored in a separate data store in Salesforce for up to three days. Before being stored, they’re encrypted and require you to create an Event Bus tenant secret. To enable encryption and delivery of change events, first create an Event Bus tenant secret in the Key Management page in Setup. Then, in the Encryption Policy page, select Encrypt and deliver Change Data Capture events.

New in This Release

In this release, we made the following enhancements.