# mulesoft Salesforce Marketing Cloud Connector - Full Documentation --- product: Salesforce Marketing Cloud Connector version: 4.1 --- # Salesforce Marketing Cloud Connector 4.1 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for Salesforce Marketing Cloud (Marketing Cloud Connector) enables you to connect to the Marketing Cloud API web services (now known as the Marketing Cloud API), which is also known as the Salesforce Marketing Cloud. This connector exposes convenient operations for exploiting the capabilities of Salesforce Marketing Cloud. Release Notes: [Salesforce Marketing Cloud Connector Release Notes](https://docs.mulesoft.com/release-notes/connector/salesforce-mktg-connector-release-notes-mule-4) Exchange: [Salesforce Marketing Cloud Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-sfdc-marketing-cloud-connector/) ## Before You Begin To use this information, you should be familiar with Salesforce Marketing, Mule runtime engine (Mule), Anypoint Connectors, Anypoint Studio, Mule concepts, elements in a Mule flow, and Global Elements. You need login credentials to test your connection to your target resource. For software requirements and compatibility information, see the Connector Release Notes. ## Common Use Cases for the Connector Common use cases for Salesforce Marketing Cloud Connector include: - **Customer Insights** Get a complete, unified view of the customer, such as their purchase habits, lifestyle, or subscriptions, and continually adjust to a customer’s journey in real time. - **Personalization** Create personalized, targeted email campaigns by integrating with back-office data from external systems, such as SAP, Oracle E-Business Suite, NetSuite, and Workday. - **Marketing Automation** Save time by automating your business processes while engaging with your customers. For example, you can schedule future emails for your customers. For examples of these use cases, refer to [Salesforce Marketing Cloud Connector Examples](https://docs.mulesoft.com/salesforce-marketing-cloud-connector/4.1/salesforce-mktg-connector-examples). ## POM File Information ```xml com.mulesoft.connectors mule-sfdc-marketing-cloud-connector x.x.x mule-plugin ``` Replace `x.x.x` with the version that corresponds to the connector you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for ``. 4. Select the connector. 5. Click **Dependency Snippets** near the upper right of the screen. ## What’s New in this Connector This connector version has the same operations as the 2.x versions, but groups some of them differently. Also, the connector no longer uses FuelSDK. Instead, the connector performs the SOAP requests itself. ## Add and Configure the Connector in a Studio Project To add the connector to a Studio project: 1. In Studio, create a Mule project. 2. In the Mule Palette view, click **(X) Search in Exchange**. 3. In **Add Modules to Project**, type "marketing" in the search field. 4. Click this connector’s name in **Available modules**. 5. Click **Add**. 6. Click **Finish**. ### Configure the Connector in Studio 1. Drag the connector to the Studio Canvas. 2. To create a global element for the connector, complete these fields: - Basic Authentication (Username Password): - **Username** - Username used to initialize the session - **Password** - Password used to authenticate the - **Service URL** - The URL of the service on Salesforce Marketing Cloud to be accessed from the connector. ![Global element properties window for Basic Authentication](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/4.1/_images/salesforce-mktg-3-user-pass-config.png) - OAuth Client Credentials authentication: - **Service URL** - URL of the Salesforce Marketing Cloud service that the connector will access\*\* **Client Id** - Client ID for the installed package - **Client secret** - Client secret for the installed package - **Token url** - URL of the endpoint that provides the access tokens ![Global element properties window for OAuth Client Credentials](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/4.1/_images/salesforce-mktg-3-oauth-client-credentials-config.png) ### Use Case - Create an Object 1. Create a new Mule project by selecting **File** > **New** > **Mule Project**. 2. Supply a name for your project and click **Finish**. 3. Open the pom.xml file and add the following dependency for Mule Salesforce Marketing Connector, where `x.x.x` is the current connector version: ```xml org.mule.connectors mule-module-sfdc-marketing-cloud-connector x.x.x mule-plugin ``` 4. Navigate through the project’s structure and double-click `src/main/app/smc-usecase-create-object.xml`. 5. Search for the **HTTP** component in the Mule Palette view. 6. Drag the **Listener** operation onto the canvas. 7. Search for **Transform Message** and drag the component after the **Listener**. 8. Search for **Salesforce Marketing Cloud** and drag the **Create entities** operation after **Transform Message**. 9. Add a **Transform Message** component after **Create**. 10. Double-click on the **Listener** component. ![HTTP Listener component properties window](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/4.1/_images/salesforce-mktg-3-http-listener-config.png) 11. Click ![Plus button](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/4.1/_images/salesforce-mktg-as-plus-button.png) next to the **Connector configuration** field. 12. Specify the **Host** as localhost and **Port** as `8081`, then click **OK**. 13. Specify the **Path** as `/create`. 14. Double-click **Create**. ![Create entities properties window](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/4.1/_images/salesforce-mktg-3-smc-create-config.png) 15. Click the ![Plus button](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/4.1/_images/salesforce-mktg-as-plus-button.png) next to Connector configuration. ![Global element properties window for Basic Authentication](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/4.1/_images/salesforce-mktg-3-user-pass-config.png) 16. Specify the required fields with the credentials for your organization and click **OK**. 17. From the **Object type** drop-down select `List`. 18. Double-click **Transform Message** (to the left of **Create** in the flow) and configure as shown below: ![Window of Transform message before configuration](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/4.1/_images/salesforce-mktg-3-transform-before-config.png) 19. Double-click **Transform Message** (to the right of **Create** in the flow) and configure as shown below: ![Window of Transform message after configuration](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/4.1/_images/salesforce-mktg-3-transform-after-config.png) 20. Deploy the app. 21. Use a REST client to make a POST request to `x-www-form-urlencoded to localhost:8081/create` with the following parameter payload: `listName=testlist`. For example, `curl -d listName=MyName-Test localhost:8081/create`. 22. Go to your instance and check that the list was created. You can use a similar flow for other connector operations, such as Upload and Delete, but you must change the Object Type in the Salesforce Marketing Cloud to the name of the object that you are going to create, and remap fields on the Transform Message component as needed. ### Use Case: XML Check your code against the app’s XML representation: ```xml ``` ## Known Issues and Limitations Salesforce Marketing Cloud Connector has some limitations, including when: - Working with subclasses inside complex fields - Trying to retrieve fields from a hierarchy - Attempting to return an Automation object. ### Working with Subclasses Inside Complex Fields Some objects in Salesforce Marketing Cloud have complex fields, such as the Recurrence field, which belong to a base class. DataSense can only bring up fields specific to the base class. To use additional fields that belong to a subclass of a base class, manually add the desired fields to the Transform Message component. For Salesforce Marketing Cloud to know that you want to work with a subclass and recognize the fields you added, you must also add a field called concreteClassType of type String whose value is the name of the subclass. See [Providing a Subclass as a Type to a Complex Field](#providing-subclass) for an example detailing how to achieve this. ### Retrieve Operation Limitations The Retrieve operation enables you to retrieve records in a SQL query-like fashion. When you use the Retrieve operation, Salesforce Marketing Cloud prevents the retrieval of fields that are part of a hierarchy. For example, the Subscriber object has a complex structure: ![Subscriber structure](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/4.1/_images/salesforce-mktg-as-subscriber-structure.png) The API only allows you to query fields on the first level, such as `EmailAddress` or `SubscriberKey`, but not fields such as `Attributes.Name`. The `Retrieve` operation supports filters for querying the data. However the filters do not behave like an SQL filter condition. For example, a clause such as `WHERE 1=1` works in SQL, but results in an error in Salesforce Marketing Cloud because the API doesn’t support it. In this example, the operand to the left of the equal sign must be a valid property of the Salesforce data extension (SFDE). When executing the request with the `WHERE 1=1` clause, the filter expects a property. It is transformed into the following request: ` 1 equals 1 `. The response is: \`Error: The Filter Property '1' is not a retrievable property.\`. When filtering the results of a query, only the following operators are supported in WHERE clauses:
OperatorSalesforce Marketing API equivalent

=

equals

<>

notEquals

>

greaterThan

>=

greaterThanOrEqual

<

lessThan

⇐

lessThanOrEqual

like

like

> [!IMPORTANT] This connector uses DSQL Query syntax instead of native Salesforce OQL and does not > send the SQL query to the Salesforce server as is. Instead, the query is parsed and transformed > into an XML object before it is sent. Because of this, any filters that are not included in the > table above or any SQL syntax features, such as TOP(x), LIMIT, OFFSET, ALIAS, or JOINs, are > unsupported. For more details, refer to the > [Salesforce API Guide](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/retrieverequest.html#properties). ### Server Results Containing an Automation Object Server results that contain an Automation object cause an exception to be thrown. When performing an operation, such as Create or Delete, on an Automation object, the returned result contains the structure of the Automation object you acted upon. The server also returns an additional field in the Automation object called isPlatformObject that is not recognized by the WSDL. To bypass this issue, make all operations that directly use an Automation object asynchronous. If an operation is asynchronous, the immediate response of the operation is `Operation Queued`. For more information, see [Asynchronous Operations](#asynchronous-operations). ## Common Use Cases Use Salesforce Marketing Cloud Connector operations for the following common use cases: - `Configure action` operation - Calls the Configure method with Create, Delete, or Update as the value of the Action parameter when connected to the Marketing Cloud API SOAP web service. - `Create entities` operation - Creates new objects on the Marketing Cloud API web server. - `Delete objects` operation - Deletes existing objects on the Marketing Cloud API web server. - `Perform operation` - Calls the Perform method with the GetMaxCount, Start, or Stop as the value of the Action parameter when connected to the Marketing Cloud API SOAP web service. - `Retrieve entities` operation - Retrieves objects from the Marketing Cloud API web server in a SQL query-like fashion. - `Schedule start` operation - Calls the Schedule method with Start as the value of the Action parameter when connected to the Marketing Cloud API SOAP web service. - `Update entities` operation - Updates existing objects on the Marketing Cloud API web server. - `Upsert entities` operation - Creates objects on the Marketing Cloud API web server if the objects do not already exist, or updates existing objects on the server. ### Add a Proxy To use a proxy server, set the following configuration properties on the **Advanced** tab of your configuration: ![Proxy fields configuration](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/4.1/_images/salesforce-mktg-3-proxy.png) ### Providing a Subclass as a Type to a Complex Field Suppose you want to schedule an existing Automation that sends emails to a subscriber list once per minute. To do this, add a Schedule Reference to the connector through a flow variable: ![Schedule Start Automation configuration window](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/4.1/_images/salesforce-mktg-3-schedule-start-automation.png) Use the **Recurrence** field in **ScheduleDefinition** to provide information such as how much time to pass between sending emails. The **Recurrence** field is a complex field that has no structure. To specify a MinutelyRecurrence instead of a Recurrence: - Manually add the fields belonging to the MinutelyRecurrence class. - Add an additional field called concreteClassType of type String whose value is the name of the subclass. The mapping for the ScheduleDefinition looks like this in the example: ![Schedule definition](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/4.1/_images/salesforce-mktg-3-schedule-definition-transform-config.png) This map has a field called `minuteInterval` that belongs to a subclass of Recurrence called `MinutelyRecurrence`. For the connector to use the MinutelyRecurrence object, you must also add the concreteClassType field with `MinutelyRecurrence` as the value. ### Asynchronous Operations Most operations are synchronous by default, meaning that the connector waits for the result of the operation. For more details regarding the operations of the Marketing Cloud API, access the Salesforce Marketing Cloud Methods documentation. To specify that you want an operation to behave asynchronously, use the Options parameter for the operation. The following example creates a list of Automation objects to provide in the payload. Because the result of any operation that works directly with Automation objects throws an exception caused by the presence of an unknown field, the example uses the CreateOptions parameter to make the call asynchronous. In this example, the CreateOptions value is provided in a variable called `vars`. ![Create options field with value specified](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/4.1/_images/salesforce-mktg-3-create-automation-config.png) This mapping for CreateOptions in vars looks like this: - The requestType field determines the type of call (SYNCHRONOUS or ASYNCHRONOUS). - The conversationID field assigns a unique identifier to the asynchronous call. You can group asynchronous calls together using the conversationID, callsInConversation, and sequenceCode fields. For example, suppose you want to make five asynchronous calls to the server, execute the calls together, and specify their execution order. To do this: 1. Assign the same conversationID to each call. 2. Set the callsInConversation field to 5. 3. Use the sequenceCode field to order the calls. The following example has a single call, so it passes a value of 1 to callsInConversation and sequenceCode. ![Create options output](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/4.1/_images/salesforce-mktg-as-create-automation-options.png) The Options parameter has more functionality than shown in this example. For more information, see the Salesforce Marketing Cloud Objects documentation. ## See Also - [Salesforce Get Started with the SOAP Web Services API](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/getting_started_developers_and_the_exacttarget_api.html) - [Salesforce API Integration](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/api-integration.html). - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: Salesforce Marketing Cloud Connector version: 4.1 --- # Salesforce Marketing Cloud Connector 4.1 Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt The following examples show several Mule flows for Salesforce Marketing Cloud Connector: - [Create a List](#create-list) - [Retrieve a List](#retrieve-list) ## Configure a Connection To secure connections, you must specify the connection field values. To do this: - [Create a configuration file for a connection.](#create-config-file) - [Configure the connection global elements.](#configure-conn) - [Configure a global element for the properties file.](#configure-global) ### Create a Configuration File for a Connection Create a configuration file that includes properties for a connection: 1. Create a file named `mule-app.properties` in the `/src/main/resources/` folder. 2. In the `mule-app.properties` file, create a set of properties for the connection, similar to the ones that follow, replacing the bracketed text (including the brackets) with the correct values for your configuration: config-with-oauth.clientId= config-with-oauth.clientSecret= config-with-oauth.soapEndpoint= config-with-oauth.authEndpoint= This may vary depending on the selected connection configuration. For more information about creating a properties file, refer to [Configuring Property Placeholders](https://docs.mulesoft.com/mule-runtime/latest/mule-app-properties-to-configure). ### Configure the Connection Global Elements Configure global elements for connection: 1. Create a new Mule project. 2. In the **Mule Palette** view, click **Search in Exchange** and enter `Salesforce Marketing Cloud`. 3. Add **Salesforce Marketing Cloud Connector** to the **Selected modules** section and click **Finish**. 4. Click the **Global Elements** tab and click **Create**. 5. Select **Connector Configuration > Salesforce Marketing Cloud** and click **OK**. 6. Enter the values to configure either Basic Authentication or OAuth Client Credentials. 7. Click the **Test Connection** button to ensure there is connectivity with the Salesforce Marketing Cloud API. A successful message should pop up. 8. Click **OK**. 9. Open the HTTPS Listener config in **Global Element Configuration**. 10. Click the **TLS** tab and select TLS Configuration > Edit inline. 11. Specify the **Key Store Configuration** with the generated keystore details to enable HTTPS on this configuration. 12. Click **OK**. ### Configure a Global Element for the Properties File Configure a global element for the `mule-app.properties` file so that Mule knows where to find it: 1. Click the **Global Elements** tab and click **Create**. 2. In the **Choose Global Type** dialog, select **Configuration properties** and click **OK**. 3. In the **File** field, enter `mule.app.properties`. 4. Click **OK**. ## Create a List This Mule flow creates a list for storing subscribers. > [!NOTE] The default value for the List type is `Public`, which makes the list visible to all > subscribers. After creating the list, note the list ID to use it in other operations. This example uses the following operations: - **HTTP Listener** Accepts data from HTTP requests - **Logger** Shows the HTTP response from **HTTP Listener** - **Transform Message** Outputs the data in Java %dw 2.0 output application/java --- \[{ ListClassification: payload.listClassification, ListName: payload.listName, "Type": payload.listType }\] - **Create entities** Creates new objects on the Salesforce Marketing Cloud API web server Enter the following values:
FieldValue

Object type

List

Connector Configuration

Salesforce_Marketing_Cloud_Sfdc_marketing_cloud_config

Api objects

payload

- **Transform Message** Outputs the data in JSON output application/json --- payload ![Studio flow for the Create List operation](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/4.1/_images/salesforce-mktg-create-list.png) ### XML for This Example Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule app: ```xml ``` ## Retrieve a List This Mule flow retrieves the ID of a list to use in other operations. This example uses the following operations: - **HTTP Listener** Accepts data from HTTP requests - **Logger** Shows the HTTP response from **HTTP Listener** - **Transform Message** Outputs the data in Java %dw 2.0 output application/java --- { query: "SELECT ID FROM List WHERE ListName ='" ++ payload.listName ++ "'" } - **Retrieve entities** Retrieves objects from the Salesforce Marketing Cloud API web server using an SQL query Enter the following values:
FieldValue

Connector Configuration

Salesforce_Marketing_Cloud_Sfdc_marketing_cloud_config

Query

#[payload.query]

- **Transform Message** Outputs the data in JSON format %dw 2.0 output application/json --- payload ![Studio flow for the Retrieve List operation](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/4.1/_images/salesforce-mktg-retrieve-list.png) ### XML for This Example Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule app: ```xml #[payload.query] ``` ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: Salesforce Marketing Cloud Connector version: 4.1 --- # Salesforce Marketing Cloud Connector 4.1 Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for Salesforce Marketing Cloud (Salesforce Marketing Cloud Connector) enables you to connect to the Salesforce Marketing Cloud. This connector exposes convenient operations for exploiting the capabilities of Salesforce Marketing Cloud. ## Configuration Default Configuration for Salesforce Marketing Cloud Connector.
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

x

Connection

Connection types for this configuration.

x

Read timeout

Number

How long the consumer waits for a response before timing out.

0

Read timeout time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Read timeout field.

SECONDS

Name

String

ID used to reference this configuration.

x

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

### Basic Authentication Connection Type Uses a username and a password for connection.
NameTypeDescriptionDefault ValueRequired

Service URL

String

Base URL of the service on Salesforce Marketing Cloud to access from the connector. All other endpoints derive from this base URL.

x

Connection Timeout

Number

How long the connector waits before timing out when establishing a connection to the remote service.

Connection Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Connection Timeout field.

SECONDS

Proxy configuration

Configures a proxy for outbound connections.

WSDL file URL

String

URL of the WSDL file used by this connector. If unspecified, this parameter defaults to the service URL parameter host, but it appends /etframework.wsdl to the end.

Username

String

Username used to initialize the session.

x

Password

String

Password used to authenticate the user.

x

TLS configuration

Configures TLS. If using the HTTPS protocol, you must configure TLS.

Reconnection

Configures a reconnection strategy to use when a connector operation fails to connect to an external server.

### OAuth Client Credentials Connection Type Use OAuth 2.0 to delegate user authentication to the service hosting the user account. For more information, refer to [Configuring OAuth 2.0 for Connectors](https://docs.mulesoft.com/connectors/introduction/intro-config-oauth2), [Configuring OAuth 2.0 for Connectors on CloudHub](https://docs.mulesoft.com/connectors/introduction/intro-config-oauth2-cloudhub), or [OAuth Support in the SDK](https://docs.mulesoft.com/mule-sdk/latest/oauth). Uses a client ID, client secret, and token URL for connection.
NameTypeDescriptionDefault ValueRequired

Service URL

String

Base URL of the service on Salesforce Marketing Cloud to access from the connector. All other endpoints derive from this base URL.

x

Connection Timeout

Number

How long the connector waits before timing out when establishing a connection to the remote service.

Connection Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Connection Timeout field.

SECONDS

Proxy configuration

Configures a proxy for outbound connections.

WSDL file URL

String

URL of the WSDL file used by this connector. If unspecified, this parameter defaults to the service URL parameter host, but it appends /etframework.wsdl to the end.

Account Id

String

Account ID.

TLS configuration

Configures TLS. If using the HTTPS protocol, you must configure TLS.

Reconnection

Configures a reconnection strategy to use when a connector operation fails to connect to an external server.

Client Id

String

OAuth client ID, as registered with the service provider.

x

Client Secret

String

OAuth client secret, as registered with the service provider.

x

Token Url

String

URL of the service provider’s token endpoint.

https://{domain}.auth.marketingcloudapis.com/v2/token

Scopes

String

OAuth scopes to request during the OAuth dance. This value defaults to the scopes in the annotation.

Object Store

String

Configures the object store that stores data for each resource owner. If not configured, Mule uses the default object store.

## Sources - [On modified object](#ModifiedObjectListener) - [On new object](#NewObjectListener) ### On modified object `` Listener for modified objects.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Since

String

Specifies a date in the yyyy-MM-dd HH:mm:ss format, for example, 2017-03-17 16:30:40, to retrieve the selected objects.

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Object type

String

Type of API object to retrieve.

x

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Scheduling Strategy

Scheduling Strategy

Configures the scheduler that triggers the polling.

x

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Any

#### Associated Configurations - [Configuration](#Config) ### On new object `` Listener for new objects.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Since

String

Specifies a date in the yyyy-MM-dd HH:mm:ss format, for example, 2017-03-17 16:30:40, to retrieve the selected objects.

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Object type

String

Type of API object to retrieve.

x

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Scheduling Strategy

Scheduling Strategy

Configures the scheduler that triggers the polling.

x

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Any

#### Associated Configurations - [Configuration](#Config) ## Operations - [Configure action](#Configure) - [Create entities](#Create) - [Delete objects](#Delete) - [Perform action](#Perform) - [Retrieve entities](#Retrieve) - [Schedule start action](#ScheduleStart) - [Unauthorize](#Unauthorize) - [Update entities](#Update) - [Upsert entities](#Upsert) ### Configure action `` Allows the configuration of actions. > [!IMPORTANT] When you map your objects to the input of this message processor, the objects must > match the expected types of the objects in Salesforce Marketing Cloud.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Configurations

Array of Object

Array of one or more configurations to update.

#[payload]

Configure Options

Object

Options for the operation.

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Action

String

Type of action to perform.

x

Object Type

String

Type of object the action is performed on.

x

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Object

#### Associated Configurations - [Configuration](#Config) #### Throws - SFDC-MARKETING-CLOUD:CONNECTIVITY - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE - SFDC-MARKETING-CLOUD:INVALID\_INPUT - SFDC-MARKETING-CLOUD:PARSING - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED ### Create entities `` Creates one or more API objects. > [!IMPORTANT] When you map your objects to the input of this message processor, the objects must > match the expected types of the objects in Salesforce Marketing Cloud.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Object Type

String

Type of API object to create.

x

Api Objects

Array of Object

Array of one or more API objects.

#[payload]

CreateOptions

Object

Options for the operation.

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Object

#### Associated Configurations - [Configuration](#Config) #### Throws - SFDC-MARKETING-CLOUD:CONNECTIVITY - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE - SFDC-MARKETING-CLOUD:INVALID\_INPUT - SFDC-MARKETING-CLOUD:PARSING - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED ### Delete objects `` Deletes one or more API objects from your organization’s data.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Object Type

String

Type of object to delete.

x

Api Objects

Array of Object

Array of one or more API objects.

#[payload]

DeleteOptions

Object

Options for the operation.

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Object

#### Associated Configurations - [Configuration](#Config) #### Throws - SFDC-MARKETING-CLOUD:CONNECTIVITY - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE - SFDC-MARKETING-CLOUD:INVALID\_INPUT - SFDC-MARKETING-CLOUD:PARSING - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED ### Perform action `` Performs an action on a determined type of object. > [!IMPORTANT] When you map your objects to the input of this message processor, the objects must > match the expected types of the objects in Salesforce Marketing Cloud.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Definitions

Array of Object

Array of one or more definitions for the operation.

Service URL[payload]

Perform Options

Object

Options for the operation.

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Action

String

Type of action to perform.

x

Object Type

String

Type of object the action is performed on.

x

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Object

#### Associated Configurations - [Configuration](#Config) #### Throws - SFDC-MARKETING-CLOUD:CONNECTIVITY - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE - SFDC-MARKETING-CLOUD:INVALID\_INPUT - SFDC-MARKETING-CLOUD:PARSING - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED ### Retrieve entities `` Enables the retrieval of a single object type. This operation retrieves specified object properties only. You can apply filters to ensure that only relevant results are returned. Only the properties that have values for the object are returned. If an object that is requested does not exist, no results are returned.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Query

String

Query describing the objects that you want to retrieve.

x

RetrieveOptions

Object

Options for the operation.

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Array of Object

#### Associated Configurations - [Configuration](#Config) #### Throws - SFDC-MARKETING-CLOUD:CONNECTIVITY - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE - SFDC-MARKETING-CLOUD:INVALID\_INPUT - SFDC-MARKETING-CLOUD:PARSING - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED ### Schedule start action `` Schedules an action or an event to occur at a specific time. > [!IMPORTANT] When you map your objects to the input of this message processor, the objects must > match the expected types of the objects in Salesforce Marketing Cloud.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Object Type

String

Type of object on which to do a schedule.

x

Interactions

Array of Object

Array of one or more interactions in the operation.

#[payload]

Schedule Definitions

Object

Schedule definition used for the operation.

x

Schedule Options

Object

Options for the operation.

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Object

#### Associated Configurations - [Configuration](#Config) #### Throws - SFDC-MARKETING-CLOUD:CONNECTIVITY - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE - SFDC-MARKETING-CLOUD:INVALID\_INPUT - SFDC-MARKETING-CLOUD:PARSING - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED ### Unauthorize `` Deletes all the access token information of a given resource owner ID so that it is impossible to execute any operation for that user without repeating the authorization dance.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

#### Associated Configurations - [Configuration](#Config) ### Update entities `` Updates one or more API objects. > [!IMPORTANT] When you map your objects to the input of this message processor, the objects must > match the expected types of the objects in Salesforce Marketing Cloud.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Object Type

String

Type of object to update.

x

Api Objects

Array of Object

Array of one or more API objects.

#[payload]

UpdateOptions

Object

Options for the operation.

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Object

#### Associated Configurations - [Configuration](#Config) #### Throws - SFDC-MARKETING-CLOUD:CONNECTIVITY - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE - SFDC-MARKETING-CLOUD:INVALID\_INPUT - SFDC-MARKETING-CLOUD:PARSING - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED ### Upsert entities `` Upserts one or more API objects. > [!IMPORTANT] When you map your objects to the input of this message processor, the objects must > match the expected types of the objects in Salesforce Marketing Cloud. This operation performs > **Create** with the `SaveAction` in the **CreateOptions** for the fields set to `UPDATE_ADD`.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Object Type

String

Type of API object to upsert.

x

Api Objects

Array of Object

Array of one or more API objects.

#[payload]

UpsertOptions

Object

Options for the operation.

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Object

#### Associated Configurations - [Configuration](#Config) #### Throws - SFDC-MARKETING-CLOUD:CONNECTIVITY - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE - SFDC-MARKETING-CLOUD:INVALID\_INPUT - SFDC-MARKETING-CLOUD:PARSING - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED ## Object Types - [Crl File](#CrlFile) - [Custom Ocsp Responder](#CustomOcspResponder) - [Error Mapping](#ErrorMapping) - [Expiration Policy](#ExpirationPolicy) - [Key Store](#KeyStore) - [Proxy Configuration](#ProxyConfiguration) - [Reconnect](#reconnect) - [Reconnect Forever](#reconnect-forever) - [Reconnection](#Reconnection) - [Redelivery Policy](#RedeliveryPolicy) - [Redelivery Policy Message Identifier](#RedeliveryPolicyMessageIdentifier) - [Repeatable File Store Iterable](#RepeatableFileStoreIterable) - [Repeatable In Memory Iterable](#RepeatableInMemoryIterable) - [Standard Revocation Check](#StandardRevocationCheck) - [TLS](#Tls) - [Trust Store](#TrustStore) ### Crl File Specifies the location of the certification revocation list (CRL) file.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the CRL file.

### Custom Ocsp Responder Configures a custom OCSP responder for certification revocation checks.
FieldTypeDescriptionDefault ValueRequired

Url

String

URL of the OCSP responder.

Cert Alias

String

Alias of the signing certificate for the OCSP response. If specified, the alias must be in the truststore.

### Error Mapping Configures the error mapping of the connector.
FieldTypeDescriptionDefault ValueRequired

Source

Enumeration, one of:

  • ANY

  • REDELIVERY_EXHAUSTED

  • TRANSFORMATION

  • EXPRESSION

  • SECURITY

  • CLIENT_SECURITY

  • SERVER_SECURITY

  • ROUTING

  • CONNECTIVITY

  • RETRY_EXHAUSTED

  • TIMEOUT

Source of the error.

Target

String

Target of the error.

x

### Expiration Policy Configures an expiration policy strategy.
FieldTypeDescriptionDefault ValueRequired

Max Idle Time

Number

Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Max Idle Time field.

### Key Store Configures the keystore for the TLS protocol. The keystore you generate contains a private key and a public certificate.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the keystore. Mule resolves the path relative to the current classpath and file system.

Type

String

Type of keystore.

Alias

String

Alias of the key to use when the keystore contains multiple private keys. By default, Mule uses the first key in the file.

Key Password

String

Password used to protect the private key.

Password

String

Password used to protect the keystore.

Algorithm

String

Encryption algorithm that the keystore uses.

### Proxy Configuration Configures a proxy for outbound connections.
FieldTypeDescriptionDefault ValueRequired

Host

String

Hostname or IP address of the proxy server.

x

Port

Number

Port of the proxy server.

x

Username

String

Username to authenticate against the proxy server.

Password

String

Password to authenticate against the proxy server.

Non Proxy Hosts

String

Comma-separated list of hosts that the proxy must not be used against.

Ntlm Domain

String

Domain to authenticate against the proxy.

### Reconnect Configures a standard reconnection strategy, which specifies how often to reconnect and how many reconnection attempts the connector source or operation can make.
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often to attempt to reconnect, in milliseconds.

Blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

Count

Number

How many reconnection attempts the Mule app can make.

### Reconnect Forever Configures a forever reconnection strategy by which the connector source or operation attempts to reconnect at a specified frequency for as long as the Mule app runs.
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often to attempt to reconnect, in milliseconds.

Blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

### Reconnection Configures a reconnection strategy for an operation.
FieldTypeDescriptionDefault ValueRequired

Fails Deployment

Boolean

What to do if, when an app is deployed, a connectivity test does not pass after exhausting the associated reconnection strategy:

  • true

    Allow the deployment to fail.

  • false

    Ignore the results of the connectivity test.

Reconnection Strategy

Reconnection strategy to use.

### Redelivery Policy Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.
FieldTypeDescriptionDefault ValueRequired

Max Redelivery Count

Number

Maximum number of times that a redelivered request can be processed unsuccessfully before returning a REDELIVERY_EXHAUSTED error.

Message Digest Algorithm

String

Secure hashing algorithm to use if the Use Secure Hash field is true. If the payload of the message is a Java object, Mule ignores this value and returns the value that the payload’s hashCode() returned.

Message Identifier

One or more expressions that determine if a message was redelivered. This property can be set only if the Use Secure Hash field is false.

Object Store

ObjectStore

Configures the object store that stores the redelivery counter for each message.

### Redelivery Policy Message Identifier Configures how to identify a redelivered message and how to find out when the message was redelivered.
FieldTypeDescriptionDefault ValueRequired

Use Secure Hash

Boolean

If true, Mule uses a secure hash algorithm to identify a redelivered message.

Id Expression

String

One or more expressions that determine when a message was redelivered. You can set this property only if the Use Secure Hash field is false.

### Repeatable File Store Iterable Configures the repeatable file store iterable type.
FieldTypeDescriptionDefault ValueRequired

In Memory Objects

Number

Maximum amount of instances to keep in memory. If more than that is required, content on the disk is buffered.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the In Memory Objects field.

### Repeatable In Memory Iterable Configures the repeatable in memory iterable type.
FieldTypeDescriptionDefault ValueRequired

Initial Buffer Size

Number

Amount of instances to initially keep in memory to consume the stream and provide random access to it. If the stream contains more data than can fit into this buffer, then the buffer expands according to the Buffer Size Increment attribute, with an upper limit of Max In Memory Size. Default value is 100 instances.

Buffer Size Increment

Number

Amount by which the buffer size expands if it exceeds its initial size. Setting a value of 0 or lower specifies that the buffer can’t expand. A STREAM_MAXIMUM_SIZE_EXCEEDED error is raised when the buffer gets full.

100

Max Buffer Size

Number

Maximum amount of memory to use. If more than that is used, a STREAM_MAXIMUM_SIZE_EXCEEDED error is raised. A value lower than or equal to 0 means no limit.

### Standard Revocation Check Configures standard revocation checks for TLS certificates.
FieldTypeDescriptionDefault ValueRequired

Only End Entities

Boolean

Which elements to verify in the certificate chain:

  • true

    Verify only the last element in the certificate chain.

  • false

    Verify all elements in the certificate chain.

Prefer Crls

Boolean

How to check certificate validity:

  • true

    Check the Certification Revocation List (CRL) for certificate validity.

  • false

    Use the Online Certificate Status Protocol (OCSP) to check certificate validity.

No Fallback

Boolean

Whether to use the secondary method to check certificate validity:

  • true

    Use the method that wasn’t specified in the Prefer Crls field (the secondary method) to check certificate validity.

  • false

    Do not use the secondary method to check certificate validity.

Soft Fail

Boolean

What to do if the revocation server can’t be reached or is busy:

  • true

    Avoid verification failure.

  • false

    Allow the verification to fail.

### TLS Configures TLS to provide secure communications for the Mule app.
FieldTypeDescriptionDefault ValueRequired

Enabled Protocols

String

Comma-separated list of protocols enabled for this context.

Enabled Cipher Suites

String

Comma-separated list of cipher suites enabled for this context.

Trust Store

Configures the TLS truststore.

Key Store

Configures the TLS keystore.

Revocation Check

Configures a revocation checking mechanism.

### Trust Store Configures the truststore for TLS.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the truststore. Mule resolves the path relative to the current classpath and file system.

Password

String

Password used to protect the truststore.

Type

String

Type of truststore.

Algorithm

String

Encryption algorithm that the truststore uses.

Insecure

Boolean

If true, Mule stops performing certificate validations. Setting this to true can make connections vulnerable to attacks.

## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: Salesforce Marketing Cloud Connector version: 5.0 is-latest-version: true --- # Salesforce Marketing Cloud Connector 5.0 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for Salesforce Marketing Cloud (Marketing Cloud Connector) enables you to connect to the Marketing Cloud API web services (now known as the Marketing Cloud API), which is also known as the Salesforce Marketing Cloud. This connector exposes convenient operations for exploiting the capabilities of Salesforce Marketing Cloud. Release Notes: [Salesforce Marketing Cloud Connector Release Notes](https://docs.mulesoft.com/release-notes/connector/salesforce-mktg-connector-release-notes-mule-4) Exchange: [Salesforce Marketing Cloud Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-sfdc-marketing-cloud-connector/) ## Before You Begin To use this information, you should be familiar with Salesforce Marketing, Mule runtime engine (Mule), Anypoint Connectors, Anypoint Studio, Mule concepts, elements in a Mule flow, and Global Elements. You need login credentials to test your connection to your target resource. For software requirements and compatibility information, see the Connector Release Notes. ## Common Use Cases for the Connector Common use cases for Salesforce Marketing Cloud Connector include: - **Customer Insights** Get a complete, unified view of the customer, such as their purchase habits, lifestyle, or subscriptions, and continually adjust to a customer’s journey in real time. - **Personalization** Create personalized, targeted email campaigns by integrating with back-office data from external systems, such as SAP, Oracle E-Business Suite, NetSuite, and Workday. - **Marketing Automation** Save time by automating your business processes while engaging with your customers. For example, you can schedule future emails for your customers. For examples of these use cases, refer to [Salesforce Marketing Cloud Connector Examples](https://docs.mulesoft.com/salesforce-marketing-cloud-connector/latest/salesforce-mktg-connector-examples). ## POM File Information ```xml com.mulesoft.connectors mule-sfdc-marketing-cloud-connector x.x.x mule-plugin ``` Replace `x.x.x` with the version that corresponds to the connector you are using. To obtain the most up-to-date `pom.xml` file information: 1. Go to [Anypoint Exchange](https://www.mulesoft.com/exchange/). 2. In Exchange, click **Login** and supply your Anypoint Platform username and password. 3. In Exchange, search for ``. 4. Select the connector. 5. Click **Dependency Snippets** near the upper right of the screen. ## What’s New in this Connector Salesforce Marketing Cloud Connector 5.0 is a major release that requires Java 17 and Mule runtime engine 4.9.0 or later. The same operations from the 4.x release are preserved. Key changes in this release include: - The Spring Framework is upgraded to version 6.x, which requires Java 17 as a minimum. - The connector no longer depends on FuelSDK. Instead, it uses CXF-generated classes from the connector WSDL to perform SOAP requests directly. - The deprecated `omitInternalIdFromCustomFields` parameter is removed. - Multiple libraries are upgraded to address security vulnerabilities. For a full list, see [Upgrading and Migrating Salesforce Marketing Cloud Connector to 5.x](https://docs.mulesoft.com/salesforce-marketing-cloud-connector/latest/salesforce-mktg-connector-upgrade-migrate). ## Add and Configure the Connector in a Studio Project To add the connector to a Studio project: 1. In Studio, create a Mule project. 2. In the Mule Palette view, click **(X) Search in Exchange**. 3. In **Add Modules to Project**, type "marketing" in the search field. 4. Click this connector’s name in **Available modules**. 5. Click **Add**. 6. Click **Finish**. ### Configure the Connector in Studio 1. Drag the connector to the Studio Canvas. 2. To create a global element for the connector, complete these fields: - Basic Authentication (Username Password): - **Username** - Username used to initialize the session - **Password** - Password used to authenticate the - **Service URL** - The URL of the service on Salesforce Marketing Cloud to be accessed from the connector. ![Global element properties window for Basic Authentication](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/latest/_images/salesforce-mktg-3-user-pass-config.png) - OAuth Client Credentials authentication: - **Service URL** - URL of the Salesforce Marketing Cloud service that the connector will access\*\* **Client Id** - Client ID for the installed package - **Client secret** - Client secret for the installed package - **Token url** - URL of the endpoint that provides the access tokens ![Global element properties window for OAuth Client Credentials](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/latest/_images/salesforce-mktg-3-oauth-client-credentials-config.png) ### Use Case - Create an Object 1. Create a new Mule project by selecting **File** > **New** > **Mule Project**. 2. Supply a name for your project and click **Finish**. 3. Open the pom.xml file and add the following dependency for Mule Salesforce Marketing Connector, where `x.x.x` is the current connector version: ```xml org.mule.connectors mule-module-sfdc-marketing-cloud-connector x.x.x mule-plugin ``` 4. Navigate through the project’s structure and double-click `src/main/app/smc-usecase-create-object.xml`. 5. Search for the **HTTP** component in the Mule Palette view. 6. Drag the **Listener** operation onto the canvas. 7. Search for **Transform Message** and drag the component after the **Listener**. 8. Search for **Salesforce Marketing Cloud** and drag the **Create entities** operation after **Transform Message**. 9. Add a **Transform Message** component after **Create**. 10. Double-click on the **Listener** component. ![HTTP Listener component properties window](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/latest/_images/salesforce-mktg-3-http-listener-config.png) 11. Click ![Plus button](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/latest/_images/salesforce-mktg-as-plus-button.png) next to the **Connector configuration** field. 12. Specify the **Host** as localhost and **Port** as `8081`, then click **OK**. 13. Specify the **Path** as `/create`. 14. Double-click **Create**. ![Create entities properties window](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/latest/_images/salesforce-mktg-3-smc-create-config.png) 15. Click the ![Plus button](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/latest/_images/salesforce-mktg-as-plus-button.png) next to Connector configuration. ![Global element properties window for Basic Authentication](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/latest/_images/salesforce-mktg-3-user-pass-config.png) 16. Specify the required fields with the credentials for your organization and click **OK**. 17. From the **Object type** drop-down select `List`. 18. Double-click **Transform Message** (to the left of **Create** in the flow) and configure as shown below: ![Window of Transform message before configuration](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/latest/_images/salesforce-mktg-3-transform-before-config.png) 19. Double-click **Transform Message** (to the right of **Create** in the flow) and configure as shown below: ![Window of Transform message after configuration](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/latest/_images/salesforce-mktg-3-transform-after-config.png) 20. Deploy the app. 21. Use a REST client to make a POST request to `x-www-form-urlencoded to localhost:8081/create` with the following parameter payload: `listName=testlist`. For example, `curl -d listName=MyName-Test localhost:8081/create`. 22. Go to your instance and check that the list was created. You can use a similar flow for other connector operations, such as Upload and Delete, but you must change the Object Type in the Salesforce Marketing Cloud to the name of the object that you are going to create, and remap fields on the Transform Message component as needed. ### Use Case: XML Check your code against the app’s XML representation: ```xml ``` ## Known Issues and Limitations Salesforce Marketing Cloud Connector has some limitations, including when: - Working with subclasses inside complex fields - Trying to retrieve fields from a hierarchy - Attempting to return an Automation object. ### Working with Subclasses Inside Complex Fields Some objects in Salesforce Marketing Cloud have complex fields, such as the Recurrence field, which belong to a base class. DataSense can only bring up fields specific to the base class. To use additional fields that belong to a subclass of a base class, manually add the desired fields to the Transform Message component. For Salesforce Marketing Cloud to know that you want to work with a subclass and recognize the fields you added, you must also add a field called concreteClassType of type String whose value is the name of the subclass. See [Providing a Subclass as a Type to a Complex Field](#providing-subclass) for an example detailing how to achieve this. ### Retrieve Operation Limitations The Retrieve operation enables you to retrieve records in a SQL query-like fashion. When you use the Retrieve operation, Salesforce Marketing Cloud prevents the retrieval of fields that are part of a hierarchy. For example, the Subscriber object has a complex structure: ![Subscriber structure](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/latest/_images/salesforce-mktg-as-subscriber-structure.png) The API only allows you to query fields on the first level, such as `EmailAddress` or `SubscriberKey`, but not fields such as `Attributes.Name`. The `Retrieve` operation supports filters for querying the data. However the filters do not behave like an SQL filter condition. For example, a clause such as `WHERE 1=1` works in SQL, but results in an error in Salesforce Marketing Cloud because the API doesn’t support it. In this example, the operand to the left of the equal sign must be a valid property of the Salesforce data extension (SFDE). When executing the request with the `WHERE 1=1` clause, the filter expects a property. It is transformed into the following request: ` 1 equals 1 `. The response is: \`Error: The Filter Property '1' is not a retrievable property.\`. When filtering the results of a query, only the following operators are supported in WHERE clauses:
OperatorSalesforce Marketing API equivalent

=

equals

<>

notEquals

>

greaterThan

>=

greaterThanOrEqual

<

lessThan

⇐

lessThanOrEqual

like

like

> [!IMPORTANT] This connector uses DSQL Query syntax instead of native Salesforce OQL and does not > send the SQL query to the Salesforce server as is. Instead, the query is parsed and transformed > into an XML object before it is sent. Because of this, any filters that are not included in the > table above or any SQL syntax features, such as TOP(x), LIMIT, OFFSET, ALIAS, or JOINs, are > unsupported. For more details, refer to the > [Salesforce API Guide](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/retrieverequest.html#properties). ### Server Results Containing an Automation Object Server results that contain an Automation object cause an exception to be thrown. When performing an operation, such as Create or Delete, on an Automation object, the returned result contains the structure of the Automation object you acted upon. The server also returns an additional field in the Automation object called isPlatformObject that is not recognized by the WSDL. To bypass this issue, make all operations that directly use an Automation object asynchronous. If an operation is asynchronous, the immediate response of the operation is `Operation Queued`. For more information, see [Asynchronous Operations](#asynchronous-operations). ## Common Use Cases Use Salesforce Marketing Cloud Connector operations for the following common use cases: - `Configure action` operation - Calls the Configure method with Create, Delete, or Update as the value of the Action parameter when connected to the Marketing Cloud API SOAP web service. - `Create entities` operation - Creates new objects on the Marketing Cloud API web server. - `Delete objects` operation - Deletes existing objects on the Marketing Cloud API web server. - `Perform operation` - Calls the Perform method with the GetMaxCount, Start, or Stop as the value of the Action parameter when connected to the Marketing Cloud API SOAP web service. - `Retrieve entities` operation - Retrieves objects from the Marketing Cloud API web server in a SQL query-like fashion. - `Schedule start` operation - Calls the Schedule method with Start as the value of the Action parameter when connected to the Marketing Cloud API SOAP web service. - `Update entities` operation - Updates existing objects on the Marketing Cloud API web server. - `Upsert entities` operation - Creates objects on the Marketing Cloud API web server if the objects do not already exist, or updates existing objects on the server. ### Add a Proxy To use a proxy server, set the following configuration properties on the **Advanced** tab of your configuration: ![Proxy fields configuration](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/latest/_images/salesforce-mktg-3-proxy.png) ### Providing a Subclass as a Type to a Complex Field Suppose you want to schedule an existing Automation that sends emails to a subscriber list once per minute. To do this, add a Schedule Reference to the connector through a flow variable: ![Schedule Start Automation configuration window](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/latest/_images/salesforce-mktg-3-schedule-start-automation.png) Use the **Recurrence** field in **ScheduleDefinition** to provide information such as how much time to pass between sending emails. The **Recurrence** field is a complex field that has no structure. To specify a MinutelyRecurrence instead of a Recurrence: - Manually add the fields belonging to the MinutelyRecurrence class. - Add an additional field called concreteClassType of type String whose value is the name of the subclass. The mapping for the ScheduleDefinition looks like this in the example: ![Schedule definition](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/latest/_images/salesforce-mktg-3-schedule-definition-transform-config.png) This map has a field called `minuteInterval` that belongs to a subclass of Recurrence called `MinutelyRecurrence`. For the connector to use the MinutelyRecurrence object, you must also add the concreteClassType field with `MinutelyRecurrence` as the value. ### Asynchronous Operations Most operations are synchronous by default, meaning that the connector waits for the result of the operation. For more details regarding the operations of the Marketing Cloud API, access the Salesforce Marketing Cloud Methods documentation. To specify that you want an operation to behave asynchronously, use the Options parameter for the operation. The following example creates a list of Automation objects to provide in the payload. Because the result of any operation that works directly with Automation objects throws an exception caused by the presence of an unknown field, the example uses the CreateOptions parameter to make the call asynchronous. In this example, the CreateOptions value is provided in a variable called `vars`. ![Create options field with value specified](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/latest/_images/salesforce-mktg-3-create-automation-config.png) This mapping for CreateOptions in vars looks like this: - The requestType field determines the type of call (SYNCHRONOUS or ASYNCHRONOUS). - The conversationID field assigns a unique identifier to the asynchronous call. You can group asynchronous calls together using the conversationID, callsInConversation, and sequenceCode fields. For example, suppose you want to make five asynchronous calls to the server, execute the calls together, and specify their execution order. To do this: 1. Assign the same conversationID to each call. 2. Set the callsInConversation field to 5. 3. Use the sequenceCode field to order the calls. The following example has a single call, so it passes a value of 1 to callsInConversation and sequenceCode. ![Create options output](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/latest/_images/salesforce-mktg-as-create-automation-options.png) The Options parameter has more functionality than shown in this example. For more information, see the Salesforce Marketing Cloud Objects documentation. ## See Also - [Salesforce Get Started with the SOAP Web Services API](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/getting_started_developers_and_the_exacttarget_api.html) - [Salesforce API Integration](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/api-integration.html). - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: Salesforce Marketing Cloud Connector version: 5.0 is-latest-version: true --- # Salesforce Marketing Cloud Connector 5.0 Examples > For the full documentation index, see: https://docs.mulesoft.com/llms.txt These examples show several Mule flows for Salesforce Marketing Cloud Connector: - [Create a List](#create-list) - [Retrieve a List](#retrieve-list) ## Configure a Connection To secure connections, you must specify the connection field values. To do this: - [Create a configuration file for a connection.](#create-config-file) - [Configure the connection global elements.](#configure-conn) - [Configure a global element for the properties file.](#configure-global) ### Create a Configuration File for a Connection Create a configuration file that includes properties for a connection: 1. Create a file named `mule-app.properties` in the `/src/main/resources/` folder. 2. In the `mule-app.properties` file, create a set of properties for the connection, similar to the ones that follow, replacing the bracketed text (including the brackets) with the correct values for your configuration: config-with-oauth.clientId= config-with-oauth.clientSecret= config-with-oauth.soapEndpoint= config-with-oauth.authEndpoint= This may vary depending on the selected connection configuration. For more information about creating a properties file, refer to [Configuring Property Placeholders](https://docs.mulesoft.com/mule-runtime/latest/mule-app-properties-to-configure). ### Configure the Connection Global Elements Configure global elements for connection: 1. Create a new Mule project. 2. In the **Mule Palette** view, click **Search in Exchange** and enter `Salesforce Marketing Cloud`. 3. Add **Salesforce Marketing Cloud Connector** to the **Selected modules** section and click **Finish**. 4. Click the **Global Elements** tab and click **Create**. 5. Select **Connector Configuration > Salesforce Marketing Cloud** and click **OK**. 6. Enter the values to configure either Basic Authentication or OAuth Client Credentials. 7. Click the **Test Connection** button to ensure there is connectivity with the Salesforce Marketing Cloud API. A successful message should pop up. 8. Click **OK**. 9. Open the HTTPS Listener config in **Global Element Configuration**. 10. Click the **TLS** tab and select TLS Configuration > Edit inline. 11. Specify the **Key Store Configuration** with the generated keystore details to enable HTTPS on this configuration. 12. Click **OK**. ### Configure a Global Element for the Properties File Configure a global element for the `mule-app.properties` file so that Mule knows where to find it: 1. Click the **Global Elements** tab and click **Create**. 2. In the **Choose Global Type** dialog, select **Configuration properties** and click **OK**. 3. In the **File** field, enter `mule.app.properties`. 4. Click **OK**. ## Create a List This Mule flow creates a list for storing subscribers. > [!NOTE] The default value for the List type is `Public`, which makes the list visible to all > subscribers. After creating the list, note the list ID to use it in other operations. This example uses these operations: - **HTTP Listener** Accepts data from HTTP requests - **Logger** Shows the HTTP response from **HTTP Listener** - **Transform Message** Outputs the data in Java %dw 2.0 output application/java --- \[{ ListClassification: payload.listClassification, ListName: payload.listName, "Type": payload.listType }\] - **Create entities** Creates new objects on the Salesforce Marketing Cloud API web server Enter the following values:
FieldValue

Object type

List

Connector Configuration

Salesforce_Marketing_Cloud_Sfdc_marketing_cloud_config

Api objects

payload

- **Transform Message** Outputs the data in JSON output application/json --- payload ![Studio flow for the Create List operation](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/latest/_images/salesforce-mktg-create-list.png) ### XML for This Example Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule app: ```xml ``` ## Retrieve a List This Mule flow retrieves the ID of a list to use in other operations. This example uses the following operations: - **HTTP Listener** Accepts data from HTTP requests - **Logger** Shows the HTTP response from **HTTP Listener** - **Transform Message** Outputs the data in Java %dw 2.0 output application/java --- { query: "SELECT ID FROM List WHERE ListName ='" ++ payload.listName ++ "'" } - **Retrieve entities** Retrieves objects from the Salesforce Marketing Cloud API web server using an SQL query Enter these values:
FieldValue

Connector Configuration

Salesforce_Marketing_Cloud_Sfdc_marketing_cloud_config

Query

#[payload.query]

- **Transform Message** Outputs the data in JSON format %dw 2.0 output application/json --- payload ![Studio flow for the Retrieve List operation](/mulesoft/current/en-us/salesforce-marketing-cloud-connector/latest/_images/salesforce-mktg-retrieve-list.png) ### XML for This Example Paste this code into the Studio XML editor to quickly load the flow for this example into your Mule app: ```xml #[payload.query] ``` ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: Salesforce Marketing Cloud Connector version: 5.0 is-latest-version: true --- # Salesforce Marketing Cloud Connector 5.0 Reference > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Connector for Salesforce Marketing Cloud (Salesforce Marketing Cloud Connector) enables you to connect to the Salesforce Marketing Cloud. This connector exposes convenient operations for exploiting the capabilities of Salesforce Marketing Cloud. ## Configuration Default Configuration for Salesforce Marketing Cloud Connector.
NameTypeDescriptionDefault ValueRequired

Name

String

Name for this configuration. Connectors reference the configuration with this name.

x

Connection

Connection types for this configuration.

x

Read timeout

Number

How long the consumer waits for a response before timing out.

0

Read timeout time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Read timeout field.

SECONDS

Name

String

ID used to reference this configuration.

x

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

### Basic Authentication Connection Type Uses a username and a password for connection.
NameTypeDescriptionDefault ValueRequired

Service URL

String

Base URL of the service on Salesforce Marketing Cloud to access from the connector. All other endpoints derive from this base URL.

x

Connection Timeout

Number

How long the connector waits before timing out when establishing a connection to the remote service.

Connection Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Connection Timeout field.

SECONDS

Proxy configuration

Configures a proxy for outbound connections.

WSDL file URL

String

URL of the WSDL file used by this connector. If unspecified, this parameter defaults to the service URL parameter host, but it appends /etframework.wsdl to the end.

Username

String

Username used to initialize the session.

x

Password

String

Password used to authenticate the user.

x

TLS configuration

Configures TLS. If using the HTTPS protocol, you must configure TLS.

Reconnection

Configures a reconnection strategy to use when a connector operation fails to connect to an external server.

### OAuth Client Credentials Connection Type Use OAuth 2.0 to delegate user authentication to the service hosting the user account. For more information, refer to [Configuring OAuth 2.0 for Connectors](https://docs.mulesoft.com/connectors/introduction/intro-config-oauth2), [Configuring OAuth 2.0 for Connectors on CloudHub](https://docs.mulesoft.com/connectors/introduction/intro-config-oauth2-cloudhub), or [OAuth Support in the SDK](https://docs.mulesoft.com/mule-sdk/latest/oauth). Uses a client ID, client secret, and token URL for connection.
NameTypeDescriptionDefault ValueRequired

Service URL

String

Base URL of the service on Salesforce Marketing Cloud to access from the connector. All other endpoints derive from this base URL.

x

Connection Timeout

Number

How long the connector waits before timing out when establishing a connection to the remote service.

Connection Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Connection Timeout field.

SECONDS

Proxy configuration

Configures a proxy for outbound connections.

WSDL file URL

String

URL of the WSDL file used by this connector. If unspecified, this parameter defaults to the service URL parameter host, but it appends /etframework.wsdl to the end.

Account Id

String

Account ID.

TLS configuration

Configures TLS. If using the HTTPS protocol, you must configure TLS.

Reconnection

Configures a reconnection strategy to use when a connector operation fails to connect to an external server.

Client Id

String

OAuth client ID, as registered with the service provider.

x

Client Secret

String

OAuth client secret, as registered with the service provider.

x

Token Url

String

URL of the service provider’s token endpoint.

https://{domain}.auth.marketingcloudapis.com/v2/token

Scopes

String

OAuth scopes to request during the OAuth dance. This value defaults to the scopes in the annotation.

Object Store

String

Configures the object store that stores data for each resource owner. If not configured, Mule uses the default object store.

## Sources - [On modified object](#ModifiedObjectListener) - [On new object](#NewObjectListener) ### On modified object `` Listener for modified objects.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Since

String

Specifies a date in the yyyy-MM-dd HH:mm:ss format, for example, 2017-03-17 16:30:40, to retrieve the selected objects.

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Object type

String

Type of API object to retrieve.

x

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Scheduling Strategy

Scheduling Strategy

Configures the scheduler that triggers the polling.

x

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Any

#### Associated Configurations - [Configuration](#Config) ### On new object `` Listener for new objects.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Since

String

Specifies a date in the yyyy-MM-dd HH:mm:ss format, for example, 2017-03-17 16:30:40, to retrieve the selected objects.

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Object type

String

Type of API object to retrieve.

x

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Primary Node Only

Boolean

Determines whether to execute this source on only the primary node when running Mule instances in a cluster.

Scheduling Strategy

Scheduling Strategy

Configures the scheduler that triggers the polling.

x

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Any

#### Associated Configurations - [Configuration](#Config) ## Operations - [Configure action](#Configure) - [Create entities](#Create) - [Delete objects](#Delete) - [Perform action](#Perform) - [Retrieve entities](#Retrieve) - [Schedule start action](#ScheduleStart) - [Unauthorize](#Unauthorize) - [Update entities](#Update) - [Upsert entities](#Upsert) ### Configure action `` Allows the configuration of actions. > [!IMPORTANT] When you map your objects to the input of this message processor, the objects must > match the expected types of the objects in Salesforce Marketing Cloud.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Configurations

Array of Object

Array of one or more configurations to update.

#[payload]

Configure Options

Object

Options for the operation.

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Action

String

Type of action to perform.

x

Object Type

String

Type of object the action is performed on.

x

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Object

#### Associated Configurations - [Configuration](#Config) #### Throws - SFDC-MARKETING-CLOUD:CONNECTIVITY - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE - SFDC-MARKETING-CLOUD:INVALID\_INPUT - SFDC-MARKETING-CLOUD:PARSING - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED ### Create entities `` Creates one or more API objects. > [!IMPORTANT] When you map your objects to the input of this message processor, the objects must > match the expected types of the objects in Salesforce Marketing Cloud.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Object Type

String

Type of API object to create.

x

Api Objects

Array of Object

Array of one or more API objects.

#[payload]

CreateOptions

Object

Options for the operation.

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Object

#### Associated Configurations - [Configuration](#Config) #### Throws - SFDC-MARKETING-CLOUD:CONNECTIVITY - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE - SFDC-MARKETING-CLOUD:INVALID\_INPUT - SFDC-MARKETING-CLOUD:PARSING - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED ### Delete objects `` Deletes one or more API objects from your organization’s data.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Object Type

String

Type of object to delete.

x

Api Objects

Array of Object

Array of one or more API objects.

#[payload]

DeleteOptions

Object

Options for the operation.

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Object

#### Associated Configurations - [Configuration](#Config) #### Throws - SFDC-MARKETING-CLOUD:CONNECTIVITY - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE - SFDC-MARKETING-CLOUD:INVALID\_INPUT - SFDC-MARKETING-CLOUD:PARSING - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED ### Perform action `` Performs an action on a determined type of object. > [!IMPORTANT] When you map your objects to the input of this message processor, the objects must > match the expected types of the objects in Salesforce Marketing Cloud.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Definitions

Array of Object

Array of one or more definitions for the operation.

Service URL[payload]

Perform Options

Object

Options for the operation.

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Action

String

Type of action to perform.

x

Object Type

String

Type of object the action is performed on.

x

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Object

#### Associated Configurations - [Configuration](#Config) #### Throws - SFDC-MARKETING-CLOUD:CONNECTIVITY - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE - SFDC-MARKETING-CLOUD:INVALID\_INPUT - SFDC-MARKETING-CLOUD:PARSING - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED ### Retrieve entities `` Enables the retrieval of a single object type. This operation retrieves specified object properties only. You can apply filters to ensure that only relevant results are returned. Only the properties that have values for the object are returned. If an object that is requested does not exist, no results are returned.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Query

String

Query describing the objects that you want to retrieve.

x

RetrieveOptions

Object

Options for the operation.

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Array of Object

#### Associated Configurations - [Configuration](#Config) #### Throws - SFDC-MARKETING-CLOUD:CONNECTIVITY - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE - SFDC-MARKETING-CLOUD:INVALID\_INPUT - SFDC-MARKETING-CLOUD:PARSING - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED ### Schedule start action `` Schedules an action or an event to occur at a specific time. > [!IMPORTANT] When you map your objects to the input of this message processor, the objects must > match the expected types of the objects in Salesforce Marketing Cloud.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Object Type

String

Type of object on which to do a schedule.

x

Interactions

Array of Object

Array of one or more interactions in the operation.

#[payload]

Schedule Definitions

Object

Schedule definition used for the operation.

x

Schedule Options

Object

Options for the operation.

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Object

#### Associated Configurations - [Configuration](#Config) #### Throws - SFDC-MARKETING-CLOUD:CONNECTIVITY - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE - SFDC-MARKETING-CLOUD:INVALID\_INPUT - SFDC-MARKETING-CLOUD:PARSING - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED ### Unauthorize `` Deletes all the access token information of a given resource owner ID so that it is impossible to execute any operation for that user without repeating the authorization dance.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

#### Associated Configurations - [Configuration](#Config) ### Update entities `` Updates one or more API objects. > [!IMPORTANT] When you map your objects to the input of this message processor, the objects must > match the expected types of the objects in Salesforce Marketing Cloud.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Object Type

String

Type of object to update.

x

Api Objects

Array of Object

Array of one or more API objects.

#[payload]

UpdateOptions

Object

Options for the operation.

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Object

#### Associated Configurations - [Configuration](#Config) #### Throws - SFDC-MARKETING-CLOUD:CONNECTIVITY - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE - SFDC-MARKETING-CLOUD:INVALID\_INPUT - SFDC-MARKETING-CLOUD:PARSING - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED ### Upsert entities `` Upserts one or more API objects. > [!IMPORTANT] When you map your objects to the input of this message processor, the objects must > match the expected types of the objects in Salesforce Marketing Cloud. This operation performs > **Create** with the `SaveAction` in the **CreateOptions** for the fields set to `UPDATE_ADD`.
NameTypeDescriptionDefault ValueRequired

Configuration

String

Name of the configuration to use.

x

Object Type

String

Type of API object to upsert.

x

Api Objects

Array of Object

Array of one or more API objects.

#[payload]

UpsertOptions

Object

Options for the operation.

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component.

x

Amount

Number

How long the consumer waits for a response before timing out.

Time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Amount field.

Target Variable

String

Name of the variable that stores the operation’s output.

Target Value

String

Expression that evaluates the operation’s output. The outcome of the expression is stored in the Target Variable field.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

Retry strategy in case of connectivity errors.

#### Output

Type

Object

Attributes Type

Object

#### Associated Configurations - [Configuration](#Config) #### Throws - SFDC-MARKETING-CLOUD:CONNECTIVITY - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE - SFDC-MARKETING-CLOUD:INVALID\_INPUT - SFDC-MARKETING-CLOUD:PARSING - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED ## Object Types - [Crl File](#CrlFile) - [Custom Ocsp Responder](#CustomOcspResponder) - [Error Mapping](#ErrorMapping) - [Expiration Policy](#ExpirationPolicy) - [Key Store](#KeyStore) - [Proxy Configuration](#ProxyConfiguration) - [Reconnect](#reconnect) - [Reconnect Forever](#reconnect-forever) - [Reconnection](#Reconnection) - [Redelivery Policy](#RedeliveryPolicy) - [Redelivery Policy Message Identifier](#RedeliveryPolicyMessageIdentifier) - [Repeatable File Store Iterable](#RepeatableFileStoreIterable) - [Repeatable In Memory Iterable](#RepeatableInMemoryIterable) - [Standard Revocation Check](#StandardRevocationCheck) - [TLS](#Tls) - [Trust Store](#TrustStore) ### Crl File Specifies the location of the certification revocation list (CRL) file.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the CRL file.

### Custom Ocsp Responder Configures a custom OCSP responder for certification revocation checks.
FieldTypeDescriptionDefault ValueRequired

Url

String

URL of the OCSP responder.

Cert Alias

String

Alias of the signing certificate for the OCSP response. If specified, the alias must be in the truststore.

### Error Mapping Configures the error mapping of the connector.
FieldTypeDescriptionDefault ValueRequired

Source

Enumeration, one of:

  • ANY

  • REDELIVERY_EXHAUSTED

  • TRANSFORMATION

  • EXPRESSION

  • SECURITY

  • CLIENT_SECURITY

  • SERVER_SECURITY

  • ROUTING

  • CONNECTIVITY

  • RETRY_EXHAUSTED

  • TIMEOUT

Source of the error.

Target

String

Target of the error.

x

### Expiration Policy Configures an expiration policy strategy.
FieldTypeDescriptionDefault ValueRequired

Max Idle Time

Number

Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Max Idle Time field.

### Key Store Configures the keystore for the TLS protocol. The keystore you generate contains a private key and a public certificate.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the keystore. Mule resolves the path relative to the current classpath and file system.

Type

String

Type of keystore.

Alias

String

Alias of the key to use when the keystore contains multiple private keys. By default, Mule uses the first key in the file.

Key Password

String

Password used to protect the private key.

Password

String

Password used to protect the keystore.

Algorithm

String

Encryption algorithm that the keystore uses.

### Proxy Configuration Configures a proxy for outbound connections.
FieldTypeDescriptionDefault ValueRequired

Host

String

Hostname or IP address of the proxy server.

x

Port

Number

Port of the proxy server.

x

Username

String

Username to authenticate against the proxy server.

Password

String

Password to authenticate against the proxy server.

Non Proxy Hosts

String

Comma-separated list of hosts that the proxy must not be used against.

Ntlm Domain

String

Domain to authenticate against the proxy.

### Reconnect Configures a standard reconnection strategy, which specifies how often to reconnect and how many reconnection attempts the connector source or operation can make.
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often to attempt to reconnect, in milliseconds.

Blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

Count

Number

How many reconnection attempts the Mule app can make.

### Reconnect Forever Configures a forever reconnection strategy by which the connector source or operation attempts to reconnect at a specified frequency for as long as the Mule app runs.
FieldTypeDescriptionDefault ValueRequired

Frequency

Number

How often to attempt to reconnect, in milliseconds.

Blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

### Reconnection Configures a reconnection strategy for an operation.
FieldTypeDescriptionDefault ValueRequired

Fails Deployment

Boolean

What to do if, when an app is deployed, a connectivity test does not pass after exhausting the associated reconnection strategy:

  • true

    Allow the deployment to fail.

  • false

    Ignore the results of the connectivity test.

Reconnection Strategy

Reconnection strategy to use.

### Redelivery Policy Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.
FieldTypeDescriptionDefault ValueRequired

Max Redelivery Count

Number

Maximum number of times that a redelivered request can be processed unsuccessfully before returning a REDELIVERY_EXHAUSTED error.

Message Digest Algorithm

String

Secure hashing algorithm to use if the Use Secure Hash field is true. If the payload of the message is a Java object, Mule ignores this value and returns the value that the payload’s hashCode() returned.

Message Identifier

One or more expressions that determine if a message was redelivered. This property can be set only if the Use Secure Hash field is false.

Object Store

ObjectStore

Configures the object store that stores the redelivery counter for each message.

### Redelivery Policy Message Identifier Configures how to identify a redelivered message and how to find out when the message was redelivered.
FieldTypeDescriptionDefault ValueRequired

Use Secure Hash

Boolean

If true, Mule uses a secure hash algorithm to identify a redelivered message.

Id Expression

String

One or more expressions that determine when a message was redelivered. You can set this property only if the Use Secure Hash field is false.

### Repeatable File Store Iterable Configures the repeatable file store iterable type.
FieldTypeDescriptionDefault ValueRequired

In Memory Objects

Number

Maximum amount of instances to keep in memory. If more than that is required, content on the disk is buffered.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the In Memory Objects field.

### Repeatable In Memory Iterable Configures the repeatable in memory iterable type.
FieldTypeDescriptionDefault ValueRequired

Initial Buffer Size

Number

Amount of instances to initially keep in memory to consume the stream and provide random access to it. If the stream contains more data than can fit into this buffer, then the buffer expands according to the Buffer Size Increment attribute, with an upper limit of Max In Memory Size. Default value is 100 instances.

Buffer Size Increment

Number

Amount by which the buffer size expands if it exceeds its initial size. Setting a value of 0 or lower specifies that the buffer can’t expand. A STREAM_MAXIMUM_SIZE_EXCEEDED error is raised when the buffer gets full.

100

Max Buffer Size

Number

Maximum amount of memory to use. If more than that is used, a STREAM_MAXIMUM_SIZE_EXCEEDED error is raised. A value lower than or equal to 0 means no limit.

### Standard Revocation Check Configures standard revocation checks for TLS certificates.
FieldTypeDescriptionDefault ValueRequired

Only End Entities

Boolean

Which elements to verify in the certificate chain:

  • true

    Verify only the last element in the certificate chain.

  • false

    Verify all elements in the certificate chain.

Prefer Crls

Boolean

How to check certificate validity:

  • true

    Check the Certification Revocation List (CRL) for certificate validity.

  • false

    Use the Online Certificate Status Protocol (OCSP) to check certificate validity.

No Fallback

Boolean

Whether to use the secondary method to check certificate validity:

  • true

    Use the method that wasn’t specified in the Prefer Crls field (the secondary method) to check certificate validity.

  • false

    Do not use the secondary method to check certificate validity.

Soft Fail

Boolean

What to do if the revocation server can’t be reached or is busy:

  • true

    Avoid verification failure.

  • false

    Allow the verification to fail.

### TLS Configures TLS to provide secure communications for the Mule app.
FieldTypeDescriptionDefault ValueRequired

Enabled Protocols

String

Comma-separated list of protocols enabled for this context.

Enabled Cipher Suites

String

Comma-separated list of cipher suites enabled for this context.

Trust Store

Configures the TLS truststore.

Key Store

Configures the TLS keystore.

Revocation Check

Configures a revocation checking mechanism.

### Trust Store Configures the truststore for TLS.
FieldTypeDescriptionDefault ValueRequired

Path

String

Path to the truststore. Mule resolves the path relative to the current classpath and file system.

Password

String

Password used to protect the truststore.

Type

String

Type of truststore.

Algorithm

String

Encryption algorithm that the truststore uses.

Insecure

Boolean

If true, Mule stops performing certificate validations. Setting this to true can make connections vulnerable to attacks.

## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: Salesforce Marketing Cloud Connector version: 4.1 --- # Troubleshooting Salesforce Marketing Cloud Connector 4.1 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt To troubleshoot Anypoint Connector for Salesforce Marketing Cloud (Salesforce Marketing Cloud Connector), become familiar with the information about interpreting commonly thrown exception messages. ## Enable SSL Logging Enable SSL logs to investigate an issue related to TLS communications. Set your SSL log level depending on your required level of detail: 1. Enable only SSL log details: `javax.net.debug=ssl` 2. Enable only handshaking details. (The handshake protocol is a series of messages exchanged over the record protocol.) `javax.net.debug=ssl:handshake` 3. Enable handshaking details and SSL details at the same time: `javax.net.debug=ssl, handshake` 4. Enable the dumping of all details and traffic data: `javax.net.debug=all` > [!NOTE] This option is very verbose and under normal circumstances is not necessary. > [!WARNING] SSL logging results in a performance impact for HTTPS or other TLS connections. Enable > SSL logging only to troubleshoot a specific issue and do not enable it for extended periods. SSL > logging produces a significant amount of log messages and can inundate your log file if it is left > enabled and unattended. To enable SSL logs: Set the debug parameter as an argument in the runtime configuration for the application. 1. In Studio, right-click on the project and select **Run > Run Configurations**. 2. Go to the **Arguments** tab and add `-M-Djavax.net.debug=ssl` in the **VM arguments** section. ## Enable Verbose Exception Logging Enable verbose exception logs to show a complete stack trace of the error instead of the default truncated output: 1. In Studio, right-click on the project and select **Run > Run Configurations**. 2. Go to the **Arguments** tab and append the arguments in the **VM arguments** section to add the `mule.verbose.exceptions` property. For example: `-XX:PermSize=128M -XX:MaxPermSize=256M -Dmule.verbose.exceptions=true` ## Enable Verbose Logging To get a better understanding of why an application’s interaction with Salesforce Marketing Cloud Connector is failing, temporarily enable verbose logging for the connector. Remember to always disable enhanced verbosity after troubleshooting, because it can affect your Mule application’s performance. To enable verbose logging in the configuration file: 1. Access Anypoint Studio and navigate to the **Package Explorer** view. 2. Open your application’s project name. 3. Open the `src/main/resources` folder. 4. Open the `log4j2.xml` file inside the folder. 5. Add an `` tag inside the `` tag: ```xml ... ... ``` 6. Save your application changes. 7. Click the project name in **Package Explorer** and then click **Run** > **Run As** > **Mule Application**. ## Understand Commonly Thrown Exceptions Here is a list of commonly thrown exception messages and how to interpret them: - SFDC-MARKETING-CLOUD:CONNECTIVITY Either a connection could not be established or there is a connectivity error. - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE The external service responds with an error. - SFDC-MARKETING-CLOUD:INVALID\_INPUT The provided input data for an operation is not valid. - SFDC-MARKETING-CLOUD:PARSING An error occurs when parsing the input or output data to XML. - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED The maximum number of retries for the operation is reached. ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Marketing Cloud Connector Reference](https://docs.mulesoft.com/salesforce-marketing-cloud-connector/4.1/salesforce-mktg-connector-reference) - [Salesforce Help](https://help.salesforce.com) - [Known Issues](https://help.salesforce.com/s/issues) --- product: Salesforce Marketing Cloud Connector version: 5.0 is-latest-version: true --- # Troubleshooting Salesforce Marketing Cloud Connector 5.0 > For the full documentation index, see: https://docs.mulesoft.com/llms.txt To troubleshoot Anypoint Connector for Salesforce Marketing Cloud (Salesforce Marketing Cloud Connector), become familiar with the information about interpreting commonly thrown exception messages. ## Enable SSL Logging Enable SSL logs to investigate an issue related to TLS communications. Set your SSL log level depending on your required level of detail: 1. Enable only SSL log details: `javax.net.debug=ssl` 2. Enable only handshaking details. (The handshake protocol is a series of messages exchanged over the record protocol.) `javax.net.debug=ssl:handshake` 3. Enable handshaking details and SSL details at the same time: `javax.net.debug=ssl, handshake` 4. Enable the dumping of all details and traffic data: `javax.net.debug=all` > [!NOTE] This option is very verbose and under normal circumstances is not necessary. > [!WARNING] SSL logging results in a performance impact for HTTPS or other TLS connections. Enable > SSL logging only to troubleshoot a specific issue and do not enable it for extended periods. SSL > logging produces a significant amount of log messages and can inundate your log file if it is left > enabled and unattended. To enable SSL logs: Set the debug parameter as an argument in the runtime configuration for the application. 1. In Studio, right-click on the project and select **Run > Run Configurations**. 2. Go to the **Arguments** tab and add `-M-Djavax.net.debug=ssl` in the **VM arguments** section. ## Enable Verbose Exception Logging Enable verbose exception logs to show a complete stack trace of the error instead of the default truncated output: 1. In Studio, right-click on the project and select **Run > Run Configurations**. 2. Go to the **Arguments** tab and append the arguments in the **VM arguments** section to add the `mule.verbose.exceptions` property. For example: `-XX:PermSize=128M -XX:MaxPermSize=256M -Dmule.verbose.exceptions=true` ## Enable Verbose Logging To get a better understanding of why an application’s interaction with Salesforce Marketing Cloud Connector is failing, temporarily enable verbose logging for the connector. Remember to always disable enhanced verbosity after troubleshooting, because it can affect your Mule application’s performance. To enable verbose logging in the configuration file: 1. Access Anypoint Studio and navigate to the **Package Explorer** view. 2. Open your application’s project name. 3. Open the `src/main/resources` folder. 4. Open the `log4j2.xml` file inside the folder. 5. Add an `` tag inside the `` tag: ```xml ... ... ``` 6. Save your application changes. 7. Click the project name in **Package Explorer** and then click **Run** > **Run As** > **Mule Application**. ## Understand Commonly Thrown Exceptions Here is a list of commonly thrown exception messages and how to interpret them: - SFDC-MARKETING-CLOUD:CONNECTIVITY Either a connection could not be established or there is a connectivity error. - SFDC-MARKETING-CLOUD:ERROR\_RESPONSE The external service responds with an error. - SFDC-MARKETING-CLOUD:INVALID\_INPUT The provided input data for an operation is not valid. - SFDC-MARKETING-CLOUD:PARSING An error occurs when parsing the input or output data to XML. - SFDC-MARKETING-CLOUD:RETRY\_EXHAUSTED The maximum number of retries for the operation is reached. ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Marketing Cloud Connector Reference](https://docs.mulesoft.com/salesforce-marketing-cloud-connector/latest/salesforce-mktg-connector-reference) - [Salesforce Help](https://help.salesforce.com) - [Known Issues](https://help.salesforce.com/s/issues) --- product: Salesforce Marketing Cloud Connector version: 4.1 --- # Upgrading and Migrating Salesforce Marketing Cloud Connector to 4.x > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Upgrade Anypoint Connector for Salesforce Marketing Cloud (Salesforce Marketing Cloud Connector) to version 4.x. ## Supported Upgrade Paths
From VersionTo Version

3.x

4.x

## Changes in This Release - The connector now supports multiple child organizations by specifying the **Account Id** field. - The `SFDC-MARKETING-CLOUD:THROTTLED` error is removed. ## Upgrade Prerequisites Before you perform the upgrade, you must: 1. Create a backup of your files, data, and configuration in case you must restore to the previous version. 2. Install Salesforce Marketing Cloud Connector 4.x.x. ## Upgrade Steps Follow these steps to perform the upgrade from Salesforce Marketing Cloud Connector 3.x.x to Salesforce Marketing Cloud Connector 4.x.x: 1. In Anypoint Studio, create a Mule project. 2. In the **Mule Palette** view, click **Search in Exchange**. 3. In the **Add Dependencies to Project** window, enter `Salesforce Marketing Cloud` in the search field. 4. In the **Available modules** section, select **Salesforce Marketing Cloud Connector** and click **Add**. 5. Click **Finish**. 6. Verify that the `mule-sfdc-marketing-cloud-connector` dependency version is `4.x.x` in the `pom.xml` file, in which the first `x` is the minor release number and the second `x` is the patch release number. Studio upgrades the connector automatically. ## Verify the Upgrade After you install the latest version of the connector, follow these steps to verify the upgrade: 1. In Studio, verify that there are no errors in the **Problems** or **Console** views. 2. Check the project `pom.xml` file and verify that there are no problems. 3. Test the connection and verify that the operations work. ## Troubleshooting If there are problems with caching the parameters or caching the metadata, try restarting Studio. ## Revert the Upgrade If it is necessary to revert to the previous version of Salesforce Marketing Cloud Connector, change the `mule-sfdc-marketing-cloud-connector` dependency version `4.x.x` in the project’s `pom.xml` file to the previous version. ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com) --- product: Salesforce Marketing Cloud Connector version: 5.0 is-latest-version: true --- # Upgrading and Migrating Salesforce Marketing Cloud Connector to 5.x > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Upgrade Anypoint Connector for Salesforce Marketing Cloud (Salesforce Marketing Cloud Connector) to version 5.x. ## Supported Upgrade Paths
From VersionTo Version

4.x

5.x

## Changes in This Release - This connector is now compatible with Java 17 only. - These libraries are upgraded to address reported security vulnerabilities: - The `springframework` library is upgraded to version 6.2.18. - The `jackson-databind` and `jackson-dataformat-xml` libraries are upgraded to version 2.21.3. - The `cxf-core` library is upgraded to 4.2.0. - The `woodstox-core` library is upgraded to version 7.2.0. - The `stax2-api` library is upgraded to version 4.3.0. - The `cryptacular` library is upgraded to version 1.3.0. - The `dom4j` library is upgraded to version 2.2.0. - The `commons-io` library is upgraded to version 2.22.0. - The `commons.lang3` library is upgraded to version 3.20.0. - The `commons-codec` library is upgraded to version 1.22.0. - The `commons-beanutils` library is upgraded to version 1.11.0. - The `commons-text` library is upgraded to version 1.14.0. - The `kotlin-stdlib` library is upgraded to version 2.1.21. - The `xmlsec` library is upgraded to version 4.0.4. - The `guava` library is upgraded to version 33.6.0-jre. - The `jakarta.xml.bind-api` library is upgraded to version 4.0.2. - The `jaxb-runtime` library is upgraded to version 4.0.5. - The `jakarta.xml.ws-api` library is upgraded to version 4.0.2. - The `jakarta.jws-api` library is upgraded to version 3.0.0. - The `jakarta.xml.soap-api` library is upgraded to version 3.0.2. - The `jakarta.activation-api` library is upgraded to version 2.1.3. - The `jackson-module-jaxb-annotations` library is replaced by the `jackson-module-jakarta-xmlbind-annotations` library. - The FuelSDK dependency is removed. Core connector operations are now migrated to localized, compile-time generated classes to eliminate external classpath and transitive library conflicts in your Mule applications. ## Upgrade Prerequisites Before you perform the upgrade, you must: 1. Create a backup of your files, data, and configuration in case you must restore to the previous version. 2. Install Salesforce Marketing Cloud Connector 5.x.x. ## Upgrade Steps Follow these steps to perform the upgrade from Salesforce Marketing Cloud Connector 4.x.x to Salesforce Marketing Cloud Connector 5.x.x: 1. In Anypoint Studio, create a Mule project. 2. In the **Mule Palette** view, click **Search in Exchange**. 3. In the **Add Dependencies to Project** window, enter `Salesforce Marketing Cloud` in the search field. 4. In the **Available modules** section, select **Salesforce Marketing Cloud Connector** and click **Add**. 5. Click **Finish**. 6. Verify that the `mule-sfdc-marketing-cloud-connector` dependency version is `5.x.x` in the `pom.xml` file, in which the first `x` is the minor release number and the second `x` is the patch release number. Studio upgrades the connector automatically. ## Verify the Upgrade After you install the latest version of the connector, follow these steps to verify the upgrade: 1. In Studio, verify that there are no errors in the **Problems** or **Console** views. 2. Check the project `pom.xml` file and verify that there are no problems. 3. Test the connection and verify that the operations work. ## Troubleshooting If there are problems with caching the parameters or caching the metadata, try restarting Studio. ## Revert the Upgrade If it is necessary to revert to the previous version of Salesforce Marketing Cloud Connector, change the `mule-sfdc-marketing-cloud-connector` dependency version `5.x.x` in the project’s `pom.xml` file to the previous version. ## See Also - [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors) - [Salesforce Help](https://help.salesforce.com)