Skip to main content
Feedback

Salesforce Platform Events Pub/Sub (Early Access) operation

Updated 

The Salesforce Platform Events Pub/Sub (Early Access) operation defines the Salesforce event channel to subscribe to and where event delivery starts. Create one operation for each channel that your integration requires.

Listen action

Use Listen to receive Platform Events and Change Data Capture events from Salesforce. The operation creates one output document for each event received. Each document contains the decoded event data.

  • Listen is available only on the Start step of a process.
  • You can view, pause, resume, and restart listeners on the Listeners panel in Manage > Runtime Management.

Options tab

Replay Position - Where the subscription starts. Required. Select one of the following:

  • New Events Only (default) - Starts with events that Salesforce receives after the listener starts.
  • Retained and New Events - Reads retained events, up to the Salesforce retention period (up to 72 hours), then reads new events.
  • Custom Replay Id - Starts after the Base64-encoded replay ID in Custom Replay Id.

If Replay persistence is enabled, a persisted replay position takes precedence over this setting on restart. See Replay persistence.

Custom Replay Id - The Base64-encoded opaque replay ID to resume after. Visible only when Replay Position is Custom Replay Id. The connector stores and replays this value verbatim. It never computes or interprets it.

Topic - The Salesforce Pub/Sub topic. Visible when the imported object type is not All Changes. Default: the topic of the imported profile. Change it only to a topic that is compatible with the imported profile.

Browsing for event channels

Use Browse to select the event channel. Browse reads the current channels from the connected Salesforce org and lists them as object types. First, choose a streaming event type:

  • Platform Events lists custom and supported standard Platform Events.
  • Change Data Capture Events lists CDC channels, the All Changes channel, and custom CDC channels.

Browse adds a prefix to each object type name so you can tell the types apart, both at browse time and in an imported operation. Which types appear depends on your org configuration and user permissions.

Object typeDescriptionStreaming event typeObject type prefix
Custom Platform EventA custom event whose name ends in __e.Platform EventsCustom Event
Standard Platform EventA standard Salesforce event that supports event delivery. Some standard events are Listen-only.Platform EventsStandard Event
Custom Platform Event ChannelA custom channel that groups multiple Platform Events.Platform EventsCustom Platform Event Channel
Change Data Capture channelA channel for changes to one Salesforce object.Change Data Capture EventsCDC
All ChangesA channel that combines CDC events for all supported objects.Change Data Capture EventsNone
Custom CDC channelA custom channel that groups multiple CDC event types.Change Data Capture EventsCustom CDC Channel

To receive changes to an object, the subscriber needs the matching Change Data Capture permissions in Salesforce. See the Change Data Capture Developer Guide.

Output profiles

Browse creates the profile for the selected object type.

A Platform Event or object-specific CDC channel returns one JSON document for each event. The top-level property uses the event record name, and its value contains the decoded event fields:

{
"Order_Event__e": {
"Order_Number__c": "A-1001",
"Amount__c": 42.5
}
}

CDC profiles include ChangeEventHeader. CDC bitmap fields appear as lists of field names. Date, date-time, and time fields use JSON strings. Byte fields use Base64 strings.

A custom channel can contain more than one event type:

  • If Browse resolves all channel members, the profile contains one object for each member event type.
  • If Browse cannot resolve the members, the profile is open because the event fields are unknown at import time.

The All Changes channel has no generated output profile. At runtime, the connector uses the event record name to build the output for each event, so one listener can process events from a channel that contains more than one event type.

Overriding the Topic

When you import a Listen object, Browse adds a Topic field to the operation. You can change the Topic so that an imported operation subscribes to a different topic on start. Use only a topic that matches the imported profile. Otherwise, the profile does not fit the events. The All Changes object has no Topic field because it always uses the combined CDC channel.

Event metadata

Listen exposes the tracked properties listed on the connector overview page: channel, eventId, replayId, and schemaId.

Replay persistence

Listen can save the last replay position for each topic. Persistence is disabled by default. To enable it, set the container property Enable Persisted Connector Cache (com.boomi.container.connector.persistence.enabled) to true in the Advanced Properties section of the container properties. For more information, refer to Enabling connector property persistence.

The connector saves the replay position after it submits the event. On restart, a saved replay position takes precedence over the configured Replay Position. If Salesforce rejects an expired or invalid replay ID, the connector clears the saved value and falls back to Retained and New Events.

When persistence is disabled, the listener starts from the configured Replay Position on restart.

Singleton mode

The Listen operation runs in singleton mode by default, and the setting cannot be changed. Listeners submit executions from a single node of a runtime cluster or runtime cloud. In a runtime cloud, Boomi recommends enabling a listener worker so that Boomi can distribute the resulting process executions across the available execution workers.

On this Page