Salesforce Subscriber

In this article

Overview

The Salesforce Subscriber Snap is a Read-type Snap that provides the functionality to subscribe to Salesforce Platform and CDC events for a given standard and custom Salesforce object.

 


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".

There are two underscore characters in "__e" and "__ChangeEvent"

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

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input

Document

  • Min:0

  • Max:1

  • JSON Parser

  • Mapper

This Snap at the most can have only one input document that contains data to be listened on a Salesforce object.

Output

Document

  • Min:1

  • Max:1

  • JSON Formatter

  • Mapper

A document with Map data that contain the individual records subscribed on the given Salesforce object and/or original fields.

Snap Settings

Field

Field Type

Description

Field

Field Type

Description

Label*


Default Value: Salesforce Subscriber
Example: Salesforce Subscriber

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*


Default value: 52.0
Example: 52.0

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.

 

Events*


Default Value: N/A
Example:

  • Printer_Event__e

  • AccountChangeEvent

String/Expression

Specify the Salesforce Platform event or CDC event. 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 in the drop-down menu. The supported Salesforce events are:

  • Standard Platform events:

  • Platform events: User-defined read/write events. These events end with "__e".

Replay ID*


Default Value: -2
Example: 20

Integer/Expression

Specify the position of an event in the event stream. The Snap supports the following IDs:

  • -2: Receives events from the earliest event position in the stream.

  • -1: Receives events from the latest event position in the stream.

  • A specific positive value ID: Receives events after the specified positive ID value.

If you stop a Pipeline execution, the Replay ID is lost and the Snap restarts from the position you input here.

Message Count*


Default Value: -1
Example: 2

Integer/Expression

Specify the number of messages required to read and complete the Pipeline execution.

 

Pass Through


Default Value:  Not Selected

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 "original" key in the output document.

 

Advanced Properties

Use this fieldset to configure Http Long Polling.

Properties


Default Value: N/A
Example: maxNetworkDelay, maxMessageSize

String

Specify the property or select from the suggestion list.

 

Values

Default Value: N/A
Example: 50000

String

Specify the value for the property.

 

Snap Execution


Default Value: Validate & Execute
Example: Execute only

Dropdown list

Select one of the following three modes in which the Snap executes:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.

  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.

  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Troubleshooting

Error

Reason

Resolution

403::Handshake denied; 401::Request requires authentication

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.

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:

Download this Pipeline.

Downloads

  File Modified

File Example_Pipeline_Salesforce_Subscriber_Event_Platform.slp

Mar 10, 2022 by Subhajit Sengupta