Skip to main content

Striim Cloud 4.1.0 documentation

Salesforce Reader

Reads Salesforce sObject data. See also Salesforce Platform Event Reader and Salesforce Push Topic Reader.

See Getting Started with the REST API for information on which firewall ports must be open.

See API Request Limits and Allocations for information on Salesforce-side limits that may require you to limit how much and how quickly Salesforce Reader ingests data.



default value


API End Point


endpoint for your REST API

Auth Token

encrypted password

If autoAuthTokenRenewal is set to false , specify your Salesforce access token (see Set Up Authorization on the first section, "Setting Up OAuth 2.0," explains how to create a "connected app"; the second section, "Session ID Authorization," explains how to get the token using curl).

If autoAuthTokenRenewal is set to true, leave blank.

Auto Auth Token Renewal



Set to true if you want the access token to be renewed automatically so the application can run continuously. 

Connection Retry Policy


retryInterval=30, maxRetries=3

With the default setting, if a connection attempt is unsuccessful, the adapter will try again in 30 seconds (retryInterval. If the second attempt is unsuccessful, in 30 seconds it will try a third time (maxRetries). If that is unsuccessful, the adapter will fail and log an exception. Negative values are not supported.

When autoAuthTokenRenewal is false, this setting has no effect.

Consumer Key


If autoAuthTokenRenewal is set to true, specify the Consumer Key (see Set Up Authorization on

Consumer Secret

encrypted password

If autoAuthTokenRenewal is set to true, specify the Consumer Secret (see Set Up Authorization on

Custom Objects Only



By default, both standard and custom objects are included. Set to True to include only custom objects and exclude standard objects.




Use the default setting InitialLoad to load all existing data using force-rest-api 0.28 and stop.

Set to BulkLoad to load all existing data using the Salesforce Bulk API and stop.

Set to Incremental to read new data continuously using force-rest-api 0.28.


See sObjects.


encrypted password

If autoAuthTokenRenewal is set to true, specify the password for the specified username.

Polling Interval


5 min

How often the data will be read, in minutes. We recommend the default value. The maximum value is 120. See API Request Limits and Allocations for more information on setting this value appropriately.

Security Token


If autoAuthTokenRenewal is set to true, specify the security token for the specified username (see Reset Your Security Token on




In the Flow Designer this property is shown as Objects.

With the default wildcard value %, all available objects associated with the specified API End Point will be read. To exclude standard objects, set Custom Objects Only to True.

Alternatively, specify one or more objects to read, separating multiple objects with semicolons, for example, Account; Business_C. Note that any child objects (see Object Relationships Overview) must be specified explicitly, they are not included automatically when you specify the parent.

The objects must be queryable. In Incremental mode, the objects must have the CreatedDate field. The account associated with the specified Auth Token must have View All Data permission for the objects.

Start Timestamp


By default, Salesforce Reader reads only new events. Optionally, specify the time (based on LastModifiedDate) from which to start reading older events in the format YYYY-MM-DDTHH:MM:SS. If the Salesforce organization's time zone is not the same as Striim's, convert the Salesforce start time to UTC (GMT+00:00) and include a Z at the end of the string. See SimpleDateFormat for more information.

Thread Pool Size



Set this to match your Salesforce Concurrent API Request Limit (see API Request Limits and Allocations).



If autoAuthTokenRenewal is set to true, specify an appropriate username (see Add a Single User on

The output type is WAEvent.

Use the following cURL commands (see Using cURL in the REST Examples and to verify your configuration and get information about available resources and sObjects.

  1. Get an access token using the Salesforce login URL.

    curl -d "grant_type=password" \
    -d "client_id=<your consumer key>" -d "client_secret=<your consumer secret>" \
    -d "username=<your username>" -d "password=<your password>"
  2. Using the access token returned by that command, test the REST API URL for your organization. The instance is typically the first part of the URL you see in your browser when logged into Salesforce, such as "mycompany" in Alternatively, ask your Salesforce technical administrator for access to a connected app. (For more information, see Understanding the Username-Password OAuth Authentication Flow.)

    If you do not have a proxy server:

    curl https://<your Salesforce instance> \
    -H 'Authorization: Bearer <token>'

    If you have a proxy server (change the proxy server URL to match yours):

    curl -x \
    https://<your Salesforce instance > \
    -H 'Authorization: Bearer <token>'
  3. List available REST resources and sObjects (see List Available REST Resources and Get a List of Objects).

    curl https://<your Salesforce instance> \
    -H 'Authorization: Bearer <token>'
    curl https://<your Salesforce instance> \
    -H 'Authorization: Bearer <token>'

For additional information, see Salesforce's REST API Developer Guide .

The following TQL will read from the Business__c sObject and create an appropriate typed stream:

CREATE SOURCE SFPoller USING SalesforceReader (
  sObjects: 'Business__c',
  authToken: '********',
  apiEndPoint: '<your organization's endpoint UEL>',
  mode: 'InitialLoad',
  autoAuthTokenRenewal: 'false'
OUTPUT TO DataStream;

CREATE TYPE OpStream_Type (
  Id String KEY,
  Name String,
  POSDataCode__c String,
  Currency__c String
CREATE STREAM OpStream OF OpStream_Type;

  SELECT data[0],data[1],data[2],data[3]
  FROM DataStream;