Change Event Filters

Filter a stream of change events by adding a filter expression on a channel member. A filter expression can contain Salesforce entity fields and event header fields, which are part of ChangeEventHeader. A change data capture channel can have one or more channel members, and each channel member can have its own filter.

The filter can still be evaluated even if the subscriber has no view access to the fields in the filter expression. For more information, see field-level security in Field Considerations.

Auto-Enrichment of Filtered Fields

Each Salesforce entity field referenced in a filter expression is automatically enriched, which means that the change event message always contains the filtered field. Without enrichment, change events contain only new and changed fields of Salesforce records. With a filter and auto-enrichment, fields referenced in the filter expression are included in the change event message, provided that they’re not empty and the subscriber has view access to them. For more information about event enrichment, see Enrich Change Events with Extra Fields.

Change Event Header Fields

You can add ChangeEventHeader fields in a filter expression, except for fields that are arrays. For a list of header fields, see ChangeEventHeader Fields.

The unsupported array fields are:

  • recordIds
  • nulledfields
  • diffFields
  • changedFields

ChangeEventHeader fields contain information about the change, such as the change type and the ID of the user who made the change. For example, you can use the ChangeEventHeader.changeType field in a filter expression to receive events only for record updates.