Using the Salesforce Marketing Cloud Destination Component
Salesforce Marketing Cloud Destination Component is an SSIS data flow pipeline component that can be used to write data to your Salesforce Marketing Cloud.com instance. You may Create, Update, Delete or Upsert Salesforce Marketing Cloud records using the Salesforce Marketing Cloud Destination Component.
Salesforce Marketing Cloud Destination Component includes the following three pages to configure how SSIS writes data to Salesforce Marketing Cloud:
- General
- Columns
- Error Handling
General page
The General page allows you to specify general settings for the Destination Component.
- Select the connection manager and destination object
-
- Connection Manager
-
The Salesforce Marketing Cloud destination component requires a Salesforce Marketing Cloud connection in order to connect to your Salesforce Marketing Cloud instance. The Salesforce Marketing Cloud Connection Manager option will show all Salesforce Marketing Cloud connection managers that are available in the current SSIS package.
- Batch Size
-
This option allows you to specify how many records you want to write to Salesforce Marketing Cloud with each service call.
- Action
-
This option specifies how the data should be written to Salesforce Marketing Cloud. There are 4 action types available:
- Create: Create new record(s) in Salesforce Marketing Cloud
- Update: Update existing record(s) in Salesforce Marketing Cloud
- Delete: Delete record(s) from Salesforce Marketing Cloud
- Upsert: Update an existing record in Salesforce Marketing Cloud if a matching record can be found. Otherwise, create a new record using the information from upstream pipeline components.
- Destination Object
-
The Destination Object option specifies which Salesforce Marketing Cloud object to write the data. When the option is clicked, SSIS Integration Toolkit will retrieve a list of all available Salesforce Marketing Cloud objects for the selected Salesforce Marketing Cloud connection.
- Optional Settings
-
- Input Timezone
-
The Input Timezone option specifies the timezone of all incoming datetime fields. There are three available options:
- Server Timezone (Input already adjusted to Central No Daylight).
- UTC.
- Local System Timezone (Default).
- Remove Invalid Characters
-
When enabled, the Remove Invalid Characters option will remove any invalid characters from the input which can avoid an XML exception when the components try to construct the SOAP request to be sent to Salesforce Marketing Cloud. Those invalid characters are usually not accepted by Salesforce Marketing Cloud even posted.
- Refresh Salesforce Metadata Button
-
Clicking the Refresh Component button causes the component to retrieve the latest metadata and update each field to its most recent metadata.
- Map Unmapped Fields Button
-
By clicking this button, the component will try to map any unmapped attributes by matching their names with the input columns from upstream components.
- Clear All Mappings Button
-
By clicking this button, the component will reset (clear) all your mappings in the destination component.
- Expression fx Icon
-
Click the blue fx icon to launch SSIS Expression Editor to enable dynamic updates of the property at run time.
- Generate Documentation Icon
-
Click the Generate Documentation icon to generate a Word document that describes the component's metadata including relevant mapping, and so on.
Columns Page
The Columns page of the Destination Component allows you to map the columns from upstream components to the Salesforce Fields. On this page, you can select the object whose columns you wish to configure in the top left drop-down.
On the Columns page, you would see a grid that contains four columns as shown below.
- Input Column: You can select an input column from an upstream component for the corresponding Salesforce Field.
- Destination Salesforce Field: The field that you are writing data to.
- Data Type: This column indicates the type of value for the current field.
- Unmap: This column can be used to unmap the field from the upstream input column, or otherwise it can be used to map the field to an upstream input column by matching its name if the field is not currently mapped.
Error Handling Page
The Error Handling page allows you to specify how errors should be handled when they happen.
There are three options available:
- Fail on error
- Redirect rows to error output
- Ignore error
When the Redirect rows to error output option is selected, rows that failed to write to Salesforce Marketing Cloud will be redirected to the "Error Output' of the Destination component. In the error output, you can see the following columns:
- ErrorCode: Contains the error code that is reported by the target service or the component itself
- ErrorColumn: Contains the name of the column that is causing the error. Note that this column is not always populated
- ErrorMessage: Contains the error message that is reported by the target service or the component itself
In the Error Handling page, there is also an option that can be used to enable or disable the following output field for the destination component.
- MarketingCloudRecordId: Contains the newly created Salesforce Marketing Cloud record's ID, which you can use to write to a log or further process using additional data flow components.
- IsNew: Contains value to indicate whether it is a newly created Salesforce Marketing Cloud record or an existing one. This is useful when you use the Upsert action.
Note: If you don't plan to use this field for any further processing it is recommended to disable it. This is so you don't get any warnings from SSIS indicating that the field is never used and it will also provide slightly better performance.