Salesforce Streaming Source

The Salesforce Streaming source plugin is available in the Hub.

Plugin version: 1.4.5

This source tracks updates in Salesforce sObjects. Examples of sObjects are opportunities, contacts, accounts, leads, any custom object, etc.

To track the updates Salesforce PushTopic events are used.

The generation of PushTopic notifications in Salesforce follows this sequence:

  1. Create a PushTopic based on a SOQL query. The PushTopic defines the channel.

  2. Clients subscribe to the channel.

  3. A record is created, updated, deleted, or undeleted (an event occurs). The changes to that record are evaluated.

  4. If the record changes match the criteria of the PushTopic query, a notification is generated by the server and received by the subscribed clients.

The plugin can either create a PushTopic for the user, or use an existing one.

Configuration

Property

Macro Enabled?

Version Introduced

Description

Property

Macro Enabled?

Version Introduced

Description

Reference Name

No

 

Required. Name used to uniquely identify this source for lineage, annotating metadata, etc.

Username

Yes

 

Required. Salesforce username.

Password

Yes

 

Required. Salesforce password.

Security Token

Yes

 

Optional. Salesforce security Token. If the password does not contain the security token the plugin will append the token before authenticating with salesforce.

Consumer Key

Yes

 

Required. Application Consumer Key. This is also known as the OAuth client id. A Salesforce connected application must be created in order to get a consumer key.

Consumer Secret

Yes

 

Required. Application Consumer Secret. This is also known as the OAuth client secret. A Salesforce connected application must be created in order to get a client secret.

Login Url

Yes

 

Required. Salesforce OAuth2 login url.

Default is https://login.salesforce.com/services/oauth2/token

Connection Timeout

Yes

1.4.4

Optional. Maximum time in milliseconds to wait for connection initialization before time out.

Default is 30000 milliseconds.

Proxy URL

Yes

1.4.5

Optional. Proxy URL. Must contain a protocol, address and port.

Topic Name

Yes

 

Required. Salesforce push topic name. Plugin will track updates from this topic. If the topic does not exist, the plugin creates it. To manually create pushTopic use Salesforce workbench, Apex code or API.

Query

Yes

 

Optional. Salesforce push topic query. The query is used by Salesforce to send updates to push topic. This field not required if you are using an existing push topic.

Notify On Create

No

 

Required. Push topic property, which specifies if a create operation should generate a record.

Default is Enabled.

Notify On Update

No

 

Required. Push topic property, which specifies if a update operation should generate a record.

Default is Enabled.

Notify On Delete

No

 

Required. Push topic property, which specifies if a delete operation should generate a record.

Default is Enabled.

Notify For Fields

No

 

Required. Push topic property, which specifies how the record is evaluated against the PushTopic query. The Notify For Fields values are:

  • All. Notifications are generated for all record field changes, provided the evaluated records match the criteria specified in the WHERE clause.

  • Referenced (default). Changes to fields referenced in the SELECT and WHERE clauses are evaluated. Notifications are generated for the evaluated records only if they match the criteria specified in the WHERE clause.

  • Select. Changes to fields referenced in the SELECT clause are evaluated. Notifications are generated for the evaluated records only if they match the criteria specified in the WHERE clause. 

  • Where. Changes to fields referenced in the WHERE clause are evaluated. Notifications are generated for the evaluated records only if they match the criteria specified in the WHERE clause.

Default is Referenced.

SObject Name

Yes

 

Optional. Salesforce object name to read. If value is provided, plugin will get all fields for this object from Salesforce and generate SOQL query (select <FIELD_1, FIELD_2, ..., FIELD_N> from ${sObjectName}). Ignored if SOQL query is provided.

Data Type Mapping

Salesforce Data Type

CDAP Schema Data Type

Comments

Salesforce Data Type

CDAP Schema Data Type

Comments

_bool

bool

 

_int

int

 

_long

long

 

_double, currency, percent

double

 

date

date

 

datetime

timestamp

Microseconds

time

time

Microseconds

picklist

string

 

multipicklist

string

 

combobox

string

 

reference

string

 

base64

string

 

textarea

string

 

phone

string

 

id

string

 

url

string

 

email

string

 

encryptedstring

string

 

datacategorygroupreference

string

 

location

string

 

address

string

 

anyType

string

 

json

string

 

complexvalue

string

 



Created in 2020 by Google Inc.