Newer Version Available
Platform Event Fields
To define a platform event in Salesforce Classic or Lightning Experience:
- From Setup, enter Platform Events in the Quick Find box, then select Platform Events.
- On the Platform Events page, click New Platform Event.
- Complete the standard fields, and optionally add a description.
- For Publish Behavior, choose when the event message is published in a transaction.
- Publish After Commit to have the event message published only after a transaction commits successfully. Select this option if subscribers rely on data that the publishing transaction commits. For example, a process publishes an event message and creates a task record. A second process that is subscribed to the event is fired and expects to find the task record. Another reason for choosing this behavior is when you don't want the event message to be published if the transaction fails.
- Publish Immediately to have the event message published when the publish call executes. Select this option if you want the event message to be published regardless of whether the transaction succeeds. Also choose this option if the publisher and subscribers are independent, and subscribers don't rely on data committed by the publisher. For example, the immediate publishing behavior is suitable for an event used for logging purposes. With this option, a subscriber might receive the event message before data is committed by the publisher transaction.
- Click Save.
- To add a field, in the Custom Fields & Relationships related list, click New.
- Follow the custom field wizard to set up the field properties.
Standard Fields
Platform events include standard fields. These fields appear on the New Platform Event page.
| Field | Description |
|---|---|
| Label | Name used to refer to your platform event in a user interface page. |
| Plural Label | Plural name of the platform event. |
| Starts with a vowel sound | If it’s appropriate for your org’s default language, indicate whether the label is preceded by “an” instead of “a.” |
| Object Name | Unique name used to refer to the platform event when using the API. In managed packages, this name prevents naming conflicts with package installations. Use only alphanumeric characters and underscores. The name must begin with a letter and have no spaces. It cannot end with an underscore or have two consecutive underscores. |
| Description | Optional description of the object. A meaningful description helps you remember the differences between your events when you view them in a list. |
| Deployment Status | Indicates whether the platform event is visible to other users. |
Custom Fields
- Checkbox
- Date
- Date/Time
- Number
- Text
- Text Area (Long)
The maximum number of fields that you can add to a platform event is the same as for a custom object. See Salesforce Features and Edition Allocations.
ReplayId System Field
Each event message is assigned an opaque ID contained in the ReplayId field. The ReplayId field value, which is populated by the system when the event is delivered to subscribers, refers to the position of the event in the event stream. Replay ID values are not guaranteed to be contiguous for consecutive events. For example, the event following the event with ID 999 can have an ID of 1,025. A subscriber can store a replay ID value and use it on resubscription to retrieve events that are within the retention window. For example, a subscriber can retrieve missed events after a connection failure. Subscribers must not compute new replay IDs based on a stored replay ID to refer to other events in the stream.
EventUuid System Field
A universally unique identifier (UUID) that identifies a platform event message. This field is available in API version 52.0 and later. The API version corresponds to the version that an Apex trigger is saved with, or the version specified in a CometD subscriber endpoint.
API Name Suffix for Custom Platform Events
When you create a platform event, the system appends the __e suffix to create the API name of the event. For example, if you create an event with the object name Low Ink, the API name is Low_Ink__e. The API name is used whenever you refer to the event programmatically, for example, in Apex. API names of standard platform events, such as AssetTokenEvent, don’t include a suffix.