Salesforce Connector supports the Salesforce Streaming API. You can configure an event source in a Salesforce connection to subscribe to Salesforce custom platform events, PushTopic queries, and change events. You can use the event source in a process to consume changes in near real time.
After you define an event source for a Salesforce connection, you can publish the connection on a Secure Agent Group or a Secure Agent machine. You can then access the event source in a process and deploy the process on a Secure Agent Group or a Secure Agent machine to consume the process objects generated by the event source downstream.
After the connection is published for the first time, Salesforce assigns a default replay ID of -1. When the event is delivered to the subscribers, the replay ID is auto-generated based on the position of the event in the event stream. The Process Server persists the Replay IDs and uses them to process subsequent requests. In case of a connection failure, the Process Server uses the persisted Replay ID to retrieve missed events and avoid message loss.
Salesforce retains messages for 24 hours. If the replay ID points to a message older than 24 hours, the replay ID is reset to -1 and only the recent events are processed.
To create event sources for a Salesforce connection, click Add Event Source on the Event Sources tab. Select the event source type as Event Source. You can add one or more event sources for each Salesforce connection that you create.
The following table describes the basic event source properties that you can configure:
Property
Description
Name
Required. The event source name that appears in the Process Designer. The name must be unique for the connection.
The name must start with an alphabet and can contain only alphabets, numbers, or hyphens (-).
Description
Optional. A description for the Salesforce event source that appears in the Process Designer.
Enabled
Select Yes to make the event source available immediately after it is published.
Select No to disable the event source until you are ready to use it.
Default is Yes.
You can configure the following properties for an event source:
Enable Load Balancing
Required. Determines whether the connection must be deployed on all the Secure Agents in a group or on the selected Secure Agent for load balancing. You must enable this option only if the Process Server uses a Secure Agent Cluster configuration.
When you enable this option, the Process Server distributes the routes across different Secure Agent machines in a Secure Agent Cluster to ensure load balancing.
Default is No.
Note: After you publish a connection and run a process, if you toggle the load balancing option, you might see duplicate messages. To avoid this issue, Informatica recommends that you create a new connection for load balancing.
Event Consumer
Required. Name of the Salesforce custom platform event, PushTopic query, or change event that you want to subscribe to.
Use one of the following ways to configure the property based on the type of event that you want to subscribe to:
Subscribing to Salesforce custom platform events
To subscribe to platform events, enter the API name that you defined for the custom platform event in Salesforce, prefixed by the term /event/.
For example, consider a Salesforce custom platform event with the API name set to CS_PlatformEvent_e as shown in the following image:
For this Salesforce custom platform event, enter the following value in the Event Consumer field:
/event/CS_PlatformEvent_e
Subscribing to Salesforce PushTopic queries
To subscribe to PushTopic queries, enter the streaming push topic name that you defined for the PushTopic query in Salesforce, prefixed by the term /topic/.
For example, consider a Salesforce PushTopic query with the push topic name set to AccountTopic as shown in the following image:
For this Salesforce PushTopic query, enter the following value in the Event Consumer field:
/topic/AccountTopic
Subscribing to change events
You can use Salesforce Connector to subscribe to change events in Salesforce and synchronize the corresponding data in an external data store.
Change events represent the changes that have been made to a record. Changes include creating a new record, updating an existing record, deleting a record, and undeleting a record.
To subscribe to change events, use one of the following formats:
▪ /data/ChangeEvents to subscribe to the change events of all the Salesforce CDC-enabled entities
▪ /data/<standard_object_name>ChangeEvent to subscribe to the change events of a specific standard object
▪ /data/<custom_object_name>__ChangeEvent to subscribe to the change events of a specific custom object
▪ /data/<custom_channel_name>__chn to subscribe to the change events of a custom channel
If you update the list of CDC-enabled entities in Salesforce, you must republish the Salesforce connection and process to listen to the new or updated CDC-enabled entities.
By default, Salesforce Connector listens to all the change events of all the entities in an organization that are enabled for Change Data Capture (CDC) in Salesforce. To filter the change events, you can define specific CDC-enabled entities that you want to listen to in the Event Filter field.
Event Filter
In the Event Filter field, enter a comma-separated list of names of the Salesforce CDC-enabled entities for which you want to filter the change events.
You can view the status of each event source in the published connection. If the status of the event source is stopped, you can republish the connection and restart the event source. When you republish the connection, all the event sources in the connection start by default.
For more information about starting and stopping event sources in a listener-based connection, see Connectors for Cloud Application Integration and Monitor.
Note: The Salesforce event source must be unique across multiple Salesforce connections that run on the same Secure Agent group or Secure Agent machine.
Include the eventUUID field in Salesforce platform event messages
The EventUUID field is a universally unique identifier (UUID) that identifies a platform event message. To include the EventUUID field in a platform event message, you must use Salesforce API version 56.0 in the Salesforce connection and configure the JVM properties.
1Enter the following Salesforce URL in the Service URL field of the Salesforce connection properties:
https://login.salesforce.com/services/Soap/c/56.0
2Configure the JVM property -Dae.sf.enable.event.uuid=true in Administrator. For more information about Process Server, see the Application Integration Process Server section in the Administrator help.
3 Restart the Process Server and republish the Salesforce connection.