The Salesforce Analytics Cloud Connector will allow to connect to the Salesforce Analytics Cloud application using regular username and password via the SOAP API. The connector exposes convenient methods for creating data sets into Salesforce Analytics Cloud from different data sources (XML, CSV, list of map).

Integrating with Salesforce Analytics Cloud consists of web service calls utilizing XML request/response setup over an HTTPS connection. The technical details of this connection such as request headers, error handling, HTTPS connection, etc. are all abstracted from the user to make implementation quick and easy.

Additional Info

Requires Mule Enterprise License

Yes  

Requires Entitlement

No  

Mule Version

3.5.0 or higher

Configs


OAuth 2.0 JWT Bearer

<sfdc-analytics:config-oauth-jwt-bearer>

Connection Management

Salesforce configuration object that uses OAuth 2.0 JWT bearer in order to establish connection with Salesforce system.

Attributes

Name Java Type Description Default Value Required

name

String

The name of this configuration. With this name can be later referenced.

x 

consumerKey

String

- consumer key for Salesforce connected app

x 

keyStore

String

- path to key store used to sign data during authentication

x 

storePassword

String

- password of key store

x 

principal

String

Username of desired Salesforce user to take action on behalf of.

x 

tokenEndpoint

String

URL pointing the server responsible of providing authentication token. According to Salesforce it should be https://login.salesforce.com/services/oauth2/token, or, if implementing for a community, https://acme.force.com/customers/services/oauth2/token (where acme.force.com/customers is your community URL).

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

 

metadataFileName

String

Path to file containing description of object structure of a row that will be uploaded into Salesforce Analytics Cloud system. This path has to be relative path to src/main/resources dir.

x 

readTimeout

int

Specifies the amount of time, in milliseconds, that the consumer will wait for a response before it times out. Default value is 0 which means infinite.

0

 

connectionTimeout

int

Specifies the amount of time, in milliseconds, that the consumer will attempt to establish a connection before it times out. Default value is 0 which means infinite.

0

 

proxyHost

String

Hostname of the proxy. If this property is not set then no proxy is used, otherwise proxy is going to be used but host can not be empty.

 

proxyPort

Integer

Port of the proxy. If host is set then this property has to be set and can not be a negative number.

3128

 

proxyUsername

String

Username used to authenticate against the proxy. If this property is not set then no authentication is going to be used against proxy, otherwise this value can not be empty.

 

proxyPassword

String

Password used to authenticate against the proxy.

 


OAuth 2.0 SAML Bearer

<sfdc-analytics:config-oauth-saml-bearer>

Connection Management

Salesforce configuration object that uses OAuth 2.0 JWT bearer in order to establish connection with Salesforce system.

Attributes

Name Java Type Description Default Value Required

name

String

The name of this configuration. With this name can be later referenced.

x 

consumerKey

String

- consumer key for Salesforce connected app

x 

keyStore

String

- path to key store used to sign data during authentication

x 

storePassword

String

- password of key store

x 

principal

String

Username of desired Salesforce user to take action on behalf of.

x 

tokenEndpoint

String

URL pointing the server responsible of providing authentication token. According to Salesforce it should be https://login.salesforce.com/services/oauth2/token, or, if implementing for a community, https://acme.force.com/customers/services/oauth2/token (where acme.force.com/customers is your community URL).

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

 

metadataFileName

String

Path to file containing description of object structure of a row that will be uploaded into Salesforce Analytics Cloud system. This path has to be relative path to src/main/resources dir.

x 

readTimeout

int

Specifies the amount of time, in milliseconds, that the consumer will wait for a response before it times out. Default value is 0 which means infinite.

0

 

connectionTimeout

int

Specifies the amount of time, in milliseconds, that the consumer will attempt to establish a connection before it times out. Default value is 0 which means infinite.

0

 

proxyHost

String

Hostname of the proxy. If this property is not set then no proxy is used, otherwise proxy is going to be used but host can not be empty.

 

proxyPort

Integer

Port of the proxy. If host is set then this property has to be set and can not be a negative number.

3128

 

proxyUsername

String

Username used to authenticate against the proxy. If this property is not set then no authentication is going to be used against proxy, otherwise this value can not be empty.

 

proxyPassword

String

Password used to authenticate against the proxy.

 


Basic authentication

<sfdc-analytics:config>

Connection Management

Salesforce Analytics Cloud connector configuration that uses basic authentication for establishing connection with Salesforce Analytics Cloud system.

Attributes

Name Java Type Description Default Value Required

name

String

The name of this configuration. With this name can be later referenced.

x 

username

String

- username for Salesforce API

x 

password

String

- password for Salesforce API

x 

securityToken

String

- token for Salesorce API

x 

url

String

Web service URL responsible for user authentication. This is the URL for the endpoint able to handle SOAP authentication requests.

https://login.salesforce.com/services/Soap/u/31.0

 

metadataFileName

String

Path to file containing description of object structure of a row that will be uploaded into Salesforce Analytics Cloud system. This path has to be relative path to src/main/resources dir.

x 

readTimeout

int

Specifies the amount of time, in milliseconds, that the consumer will wait for a response before it times out. Default value is 0 which means infinite.

0

 

connectionTimeout

int

Specifies the amount of time, in milliseconds, that the consumer will attempt to establish a connection before it times out. Default value is 0 which means infinite.

0

 

proxyHost

String

Hostname of the proxy. If this property is not set then no proxy is used, otherwise proxy is going to be used but host can not be empty.

 

proxyPort

Integer

Port of the proxy. If host is set then this property has to be set and can not be a negative number.

3128

 

proxyUsername

String

Username used to authenticate against the proxy. If this property is not set then no authentication is going to be used against proxy, otherwise this value can not be empty.

 

proxyPassword

String

Password used to authenticate against the proxy.

 


Salesforce Analytics Cloud (OAuth)

<sfdc-analytics:config-with-oauth>

OAuth2 Using OAuth2 as authentication method will add the authorize and unauthorize operations. You must authorize before using any operation with OAuth2.

Salesforce Analytics Cloud connector configuration that uses oauth2 dance for establishing connection with Salesforce Analytics Cloud system.

Attributes

Name Java Type Description Default Value Required

name

String

The name of this configuration. With this name can be later referenced.

x 

consumerKey

String

Your application's client identifier (consumer key in Remote Access Detail).

x 

consumerSecret

String

Your application's client secret (consumer secret in Remote Access Detail).

x 

metadataFileName

String

Path to file containing description of object structure of a row that will be uploaded into Salesforce Analytics Cloud system. This path has to be relative path to src/main/resources dir.

x 

readTimeout

int

Specifies the amount of time, in milliseconds, that the consumer will wait for a response before it times out. Default value is 0 which means infinite.

0

 

connectionTimeout

int

Specifies the amount of time, in milliseconds, that the consumer will attempt to establish a connection before it times out. Default value is 0 which means infinite.

0

 

proxyHost

String

Hostname of the proxy. If this property is not set then no proxy is used, otherwise proxy is going to be used but host can not be empty.

 

proxyPort

Integer

Port of the proxy. If host is set then this property has to be set and can not be a negative number.

3128

 

proxyUsername

String

Username used to authenticate against the proxy. If this property is not set then no authentication is going to be used against proxy, otherwise this value can not be empty.

 

proxyPassword

String

Password used to authenticate against the proxy.

 

Processors


Create data set

<sfdc-analytics:create-data-set>

  DataSense enabled

Creates a new data set into Salesforce Analytics Cloud system and returns the identifier of created data set within Salesforce Analytics Cloud system.

../../../doc/Salesforce-analytics-connector.xml.sample sfdc-analytics:create-data-set

XML Sample

<sfdc-analytics:create-data-set config-ref="mySalesforceAnalyticsConfig" operation="OVERWRITE" description="descriptionOfDataSet" label="labelOfDataSet" dataSetName="dataSetName"/>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x 

operation

DataSetConnectorOperation

- indicates which operation to use when you’re loading data into the DataSet. See DataSetConnectorOperation

x 

description

String

- data set description

x 

label

String

- data set label

x 

dataSetName

String

- data set name

x 

edgemartContainer

String

- The name of the app that contains the dataset.

  • If the name is omitted when you’re creating a dataset, the name of the user’s private app is used.
  • If the name is omitted for an existing dataset, the system resolves the app name.
  • If the name is specified for an existing dataset, the name is required to match the name of the current app that contains the dataset.

 

notificationSent

DataSetConnectorNotificationSent

- Indicates when to send notifications about the upload. Picklist values are:

  • ALWAYS - Always send notifications.
  • NEVER - Never send notifications.
  • FAILURES - Send notifications if the upload process failed. The API name is Failures.
  • WARNINGS - Send notifications if warnings or errors occurred during the upload. The API name is Warnings.

 

notificationEmail

String

- The email address to send notifications to. Can be up to 255 characters and can contain only one email address. Defaults to the current user’s email address.

 

type

String

x 

Returns

Return Java Type Description

String

identifier of created data set


Upload external data

<sfdc-analytics:upload-external-data>

  DataSense enabled

Inserts given records into data set with given id from Salesforce Analytics Cloud system.

../../../doc/Salesforce-analytics-connector.xml.sample sfdc-analytics:upload-external-data

XML Sample

<sfdc-analytics:upload-external-data config-ref="mySalesforceAnalyticsConfig" type="recordId" dataSetId="dataSetId">
        <sfdc-analytics:payload ref="#[payload]"/>
    </sfdc-analytics:upload-external-data>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x 

payload

List<Map<String,Object>>

- list of records to be inserted

#[payload]

 

type

String

- type of the records to be inserted. This is automatically computed based on metadata extracted from file provided with configuration element

x 

dataSetId

String

- identifier of data set within Salesforce Analytics Cloud system

x 

Returns

Return Java Type Description

BulkOperationResult<Map<String,String>>

list of record process summary of each record


Start data processing

<sfdc-analytics:start-data-processing>

Tells to Salesforce Analytics Cloud system to start processing the records uploaded so far into given data set

../../../doc/Salesforce-analytics-connector.xml.sample sfdc-analytics:start-data-processing

XML Sample

<sfdc-analytics:start-data-processing config-ref="mySalesforceAnalyticsConfig" dataSetId="dataSetId"/>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x 

dataSetId

String

- identifier of data set to be processed

x 

Returns

Return Java Type Description

String

identifier of data set


Upload external data into new data set and start processing

<sfdc-analytics:upload-external-data-into-new-data-set-and-start-processing>

  DataSense enabled

Creates data set uploads data into it and tells to Salesforce Analytics Cloud system to start processing uploaded data.

../../../doc/Salesforce-analytics-connector.xml.sample sfdc-analytics:upload-external-data-into-new-data-set-and-start-processing

XML Sample

<sfdc-analytics:upload-external-data-into-new-data-set-and-start-processing config-ref="mySalesforceAnalyticsConfig" type="recordId" operation="OVERWRITE" description="descriptionOfDataSet" label="labelOfDataSet" dataSetName="dataSetName">
        <sfdc-analytics:payload ref="#[map-payload:payload]"/>
    </sfdc-analytics:upload-external-data-into-new-data-set-and-start-processing>

Attributes

Name Java Type Description Default Value Required

config-ref

String

Specify which config to use

x 

payload

List<Map<String,Object>>

- list of records to be inserted

#[payload]

 

type

String

- type of the records to be inserted. This is automatically computed based on metadata extracted from file provided with configuration element

x 

operation

DataSetConnectorOperation

- indicates which operation to use when you’re loading data into the DataSet. See DataSetConnectorOperation

x 

description

String

- data set description

x 

label

String

- data set label

x 

dataSetName

String

- data set name

x 

edgemartContainer

String

- The name of the app that contains the dataset.

  • If the name is omitted when you’re creating a dataset, the name of the user’s private app is used.
  • If the name is omitted for an existing dataset, the system resolves the app name.
  • If the name is specified for an existing dataset, the name is required to match the name of the current app that contains the dataset.

 

notificationSent

DataSetConnectorNotificationSent

- Indicates when to send notifications about the upload. Picklist values are:

  • ALWAYS - Always send notifications.
  • NEVER - Never send notifications.
  • FAILURES - Send notifications if the upload process failed. The API name is Failures.
  • WARNINGS - Send notifications if warnings or errors occurred during the upload. The API name is Warnings.

 

notificationEmail

String

- The email address to send notifications to. Can be up to 255 characters and can contain only one email address. Defaults to the current user’s email address.

 

Returns

Return Java Type Description

String

identifier of create data set