Salesforce Subscriber
In this article
Overview
The Salesforce Subscriber Snap is a Read-type Snap that enables subscribing to the CometD channels of the Salesforce Platform to read Custom Platform events and Change Data Capture (CDC) events for standard and custom Salesforce objects. The Snap also enables subscribing to custom channels where Salesforce’s enterprise users broadcast real-time updates on their Salesforce objects.
Refer to the Salesforce Platform Event Allocations and Subscribe to change events documents before configuring this Snap.
Supported Salesforce Events
Custom Platform events: User-defined read/write events. These events end with
"__e"
.CDC events: Read-only events created when the Salesforce objects (standard or custom) change. These events end with
"ChangeEvent"
or"__ChangeEvent"
.Custom channels: Streams of select event messages, of either platform event type or CDC event type. These topics end with
__chn
.
There are two underscore characters in __e
, __ChangeEvent
, and __chn
.
Prerequisites
Ensure that Change Data Capture is enabled for the target entities. Log in to your Salesforce instance and navigate to Setup → App Setup → Develop → Change Data Capture.
Ensure that Field Tracking is enabled for the selected entities.
Account must have valid access permissions.
Limitations and Known Issues
For a Salesforce (Platform Events) Subscriber Snap, retry attempts are not logged, and currently, retries are attempted only for authentication errors.
Salesforce imposes a limit on the number of subscriptions. See Change Data Capture Allocations for details.
Supports only Platform and CDC events.
Behavior Change
From the 4.30 release onwards, the Snap stops and reports the error immediately when it encounters the daily limit exceeded
error. Earlier, the Snap reported an error and stopped only at the next resubscribe attempt when it encountered the daily limit exceeded
error.
Support for Ultra Pipelines
Works in Ultra Pipelines.
Snap Views
Type | Format | Number of Views | Examples of Upstream and Downstream Snaps | Description |
---|---|---|---|---|
Input | Document |
|
| This Snap at the most can have only one input document that contains data to be listened on a Salesforce object. |
Output | Document |
|
| A document with Map data that contain the individual records subscribed on the given Salesforce object and/or |
Snap Settings
Field | Field Type | Description |
---|---|---|
Label*
| String | Specify the name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline.
|
Service Version*
| String/Expression | Specify the version number of the Salesforce service that you want to connect to. Salesforce platform event is supported in version 44.0 or later.
|
Topic*
| String/Expression | Specify the topic (Salesforce Platform event, CDC event, or custom channel) to subscribe to. This is a suggestible field that lists the Platform Events and CDC events available to you. You can select the name from the suggested list. The supported Salesforce events are:
Custom channel names are case-sensitive. |
Custom channel type
Default Value: CDC | Dropdown list | Choose a custom channel type - Event (for events) or CDC (for data) if the chosen topic is a custom channel that ends with Custom channel type values are case-sensitive. |
Replay ID*
| Integer/Expression | Specify the position of an event in the event stream. The Snap supports the following IDs:
If you stop a Pipeline execution, the Replay ID is lost and the Snap restarts from the position you input here. The Snap automatically sets the Replay ID value to -2 when:
|
Message Count*
| Integer/Expression | Specify the number of messages required to read and complete the Pipeline execution. If the value is set to -1, the Snap waits indefinitely and reads messages whenever available until you manually stop the pipeline execution.
|
Pass Through
| Checkbox | Select this checkbox to pass the input document the output view under the key 'original'. If you deselect this checkbox, the input document will not be passed and there is no "
|
Advanced Properties | Use this fieldset to configure Http Long Polling. | |
Properties
| String | Specify the property or select from the suggestion list.
|
Values Default Value: N/A | String | Specify the value for the property.
|
Snap Execution
| Dropdown list | Select one of the following three modes in which the Snap executes:
|
Troubleshooting
Error | Reason | Resolution |
| Client is not authorized to access the server due to either a domain mismatch or authentication failure. | Configure the Enhanced Domain in the Instance URL property to ensure authentication for successful access to the server. |
| The Topic value does not exactly match the full name of the custom channel. OR | Check the spelling of the provided channel, including the matching case, and ensure it ends with |
Incorrect Custom channel type is selected. | Select the appropriate channel type from the list - CDC for custom channels of type ‘data’ and Event for custom channels of type ‘event.’ |
Example
Process Platform Events in Salesforce
This example Pipeline demonstrates how the Salesforce Subscriber Snap processes platform events. The following Salesforce Subscriber Snap shows how the Snap is configured and how the Salesforce object's records are read.
You can see that the Replay ID is -2. So the Snaps reads messages from the beginning. And the Snap reads only 3 messages as the Message count is set to 3.The Snap processes the events and the output preview is as follows:
Process Salesforce events through custom channels
This example pipeline depicts configuring a Salesforce Subscribe Snap to read event information from a Salesforce custom channel.
For this example, a series of create, update, and delete actions are consecutively performed on a Lead object in Service (API) version 52.0. This example presumes an appropriate account configuration for the Snap.
This Snap is configured to:
Read the channel topic singleCDC1ReplayidStandardObj__chn of type CDC, where these updates are logged.
Use the Salesforce API version 60.0 with the Replay ID set to -1
Read only three (3) messages (for a compact JSON preview in the Snap’s output).
Snap configuration | Snap output preview |
---|---|
Upon validation of this pipeline, the Snap’s output preview gets information on three recent events - create, update, and delete actions in that sequence, from the CDC data in the selected topic/channel. The snapshot of the output preview above shows these three events (replayid
s) with the update event expanded to depict the details.
Downloads
Snap Pack History
Have feedback? Email documentation@snaplogic.com | Ask a question in the SnapLogic Community
© 2017-2025 SnapLogic, Inc.