Writer Overview

The Salesforce Writer uses the Salesforce Bulk API to write data to Salesforce. It handles Job creation, Batch creation, and status monitoring. The Salesforce Writer cannot define a new Salesforce object: it can only create, update, and delete records for an existing object.

The feature types of Salesforce writers must match an existing Salesforce object name. The Salesforce Writer will compare the attributes on features to be written with the schema of the target object. Only attributes on the feature that match the name of a field on the Salesforce object schema will be written.

As Salesforce objects do not support geometry, all geometry on features will be ignored.

Salesforce fields of type base64 are not supported. Refer to the Attribute Types section for details.

The Salesforce Bulk API is not transactional. Records that fail to be written will not stop other records from being written, and Salesforce does not consider a Batch to have failed even if all the records in it had failed. Furthermore, a Batch that ended in the failure state does not necessarily mean that all the records within it were not written. As such, translations that fail to write some or all features to Salesforce are still considered as successful translations by the Salesforce Writer. The Salesforce Writer will always retrieve the error messages for all failed records and Batches and carry them over to the translation log. To prevent the creation of duplicate records, use the UPSERT writer mode whenever possible.

The maximum size of a Salesforce write Batch is 10,000 rows or 10MB, whichever occurs first. The Salesforce Writer will not proceed to create the Batch if it detects that the limits have been exceeded. At this time, the Salesforce Writer does not automatically break up writes that exceed these limits into multiple batches. Please ensure that the total size of the data being written per feature type in a single translation does not exceed Salesforce’s batch limit.

Permissible operations may differ across Salesforce objects and fields. For instance, some objects may allow creation, but not deletion. The range of permissible operations depends on the Salesforce user’s permissions, as well as the properties of the object itself. For more information, refer to Salesforce’s Standard Objects documentation at http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_objects_list.htm.