Salesforce Marketing Cloud Batch Sink

The Salesforce Marketing Cloud is used to manage marketing campaigns. Users can use the marketing APIs to create mailing lists, send emails, etc. Developer documentation can be found at https://developer.salesforce.com/docs/?filter_text=&service=Marketing%20Cloud&select_type=&version=45.0&lang=en-us&sort=title.

It is a different system than the core Salesforce product (it was formerly ExactTarget), with a different set of APIs. https://developer.salesforce.com/docs/atlas.en-us.noversion.mc-apis.meta/mc-apis/supported_operations_for_objects_and_methods.htm contains a list of the different types of objects that can be managed.

Use Cases 

  • A user is just getting started with the Marketing Cloud and would like to move data from existing systems (emails, lists, etc) into the Marketing Cloud as a one time drop.

  • A user needs to regularly combine data from multiple existing sources and write them to a corresponding Marketing Cloud object. The user is unsure if the records already exist in the object or not. 
  • A user wants to write to a Marketing Cloud object but has data that might be dirty (missing required fields, invalid values, etc). The user would like to be able to configure whether to ignore bad records or fail the pipeline. Ideally they would like to be able to write the bad records to some other storage system. 

User Configurations 

SectionUser Configuration LabelDescriptionDefaultUser Widget
Early Validations
Authentication



Try a to login to SOAP API with given credentials.





Client IDOauth client ID for authentication
Text Box

Client SecretOauth client ID for authentication

Password
Basic




ObjectName of Object - ex: Account, List, Subscriber.


OperationCreate | Update | Upsert (only supported by some objects)

Advanced





Respect double quotesTreat data within double quotes as text and ignore any delimiter
Check Box

Skip rows with bad dataSkips rows that do not match the field data type
Check box

Maximum bytes per batchIf size of batch data is larger than given number of bytes, split the batch.
Text Box

Maximum records per batchIf there are more than given number of records, split the batch.
Text Box

Error handling


Possible values:

"Skip on error" - ignores any reports about records not inserted. Simply prints an error log.
"Stop on error" - fails pipeline is any of records were failed on insertion

Skip on errorSelect


Plugin Update Requirements

  • New Options - While importing data into Salesforce Marketing Cloud, it provides users two additional options that can be set before import starts. These options will be introduced as part of the plugin to ensure that the plugin provides the similar functionality as the native SFMC import. Below are the two options that need to be introduced:
    • "Respect double quotes"
    • "Skip rows with bad data"
    The above user configuration table has been updated with these two new options.