Newer Version Available
Streaming Event Features
The Lightning Platform offers several types of streaming events. To determine which event
meets your use case, compare the features of the various events.
| Feature | PushTopic Event | Change Data Capture Event | Platform Event | Generic Event |
|---|---|---|---|---|
| Define a custom schema as strongly typed fields | N/A | N/A | ![]() |
![]() |
| Include user-defined payloads | N/A | N/A | ![]() |
![]() |
| Publish custom events via one or more APIs | N/A | N/A | ![]() |
![]() |
| Publish events via Apex | N/A | N/A | ![]() |
![]() |
| Publish declaratively using Process Builder and Flow Builder | N/A | N/A | ![]() |
![]() |
| Publish to specific users | N/A | N/A | ![]() |
![]() |
| Subscribe via CometD using JavaScript, Java, and other languages | ![]() |
![]() |
![]() |
![]() |
| Subscribe via Apex triggers | ![]() |
![]() |
![]() |
![]() |
| Filter subscriptions | ![]() |
![]() |
![]() |
![]() |
| Receive auto-published event notifications for Salesforce record changes | ![]() |
![]() |
N/A | N/A |
| Choose the fields to include in event notifications for Salesforce record changes | ![]() |
![]() |
N/A | N/A |
| Receive a versioned event schema | ![]() |
![]() |
![]() |
![]() |
| Get field-level security | ![]() |
![]() |
![]() |
![]() |
| Get record-sharing support | ![]() |
![]() |
N/A | N/A |
| Encrypt field data with Shield Platform Encryption | ![]() |
![]() |
![]() |
![]() |
| Replay retained event notifications | ![]() |
![]() |
![]() |
![]() |
| Event retention period | 1 day | 3 days | 1 day or 3 days* | 1 day |
* High-volume platform events are retained for up to 3 days.

