External Change Data Capture Considerations

Keep these considerations in mind when working with External Change Data Capture.

  • Each polling request counts toward your Salesforce org’s OData callout rate allocation.
  • OData doesn’t differentiate between created and updated change events. Both events are published with update change type.
  • When you enable change tracking, a $top=0 query for zero rows is sent to the external data source to tell it to track changes, and a delta link is returned.
  • If an error occurs, Salesforce stops sending polling requests. You can check for an error status by querying the BackgroundOperation object or viewing the latest error on the object’s setup page.
  • If you create an Apex trigger to respond to change events, these requirements and behaviors apply.
    • Create the Apex trigger with development tools, such as the Developer Console or Metadata API or Salesforce UI. You can’t create the trigger from the Salesforce UI.
    • Because the Apex trigger runs after an event occurs, only the after-insert trigger event is supported.
    • The trigger passes the associated change event, not the object that caused the change.
    • Changed records can be committed in the same transaction that started the trigger. However, keep in mind that this transaction is separate from the transaction that created the original event.