Writing To Salesforce
IMan only allows you to insert/update records on the top most level. All children are ignored irrespective of how they are setup. To update multiple object types several Salesforce connectors will need to be used: each one to update a separate object.
Insert/Updating Salesforce
The Salesforce connector supports Insert and Update operations.
The insert/update logic used in the Salesforce connector is per other connectors. Further information can be found on Push Connector > Options Tab.
This logic is supplemented by the exact handling of ID and External ID fields as described below.
ID Field Handling
The ID field on a Salesforce object is the unique value assigned to each record. To update an object a field in the IMan dataset must be mapped to the ID field in Salesforce. Updates are applied per the following logic:
- If the field value is empty, an update will not be performed.
- If the field is has a valid ID (i.e. one that can map to an object in Salesforce) the corresponding record will be updated.
- If the field has an invalid value (i.e. one that cannot map to an object in Salesforce) an error will occur.
External ID Field
IMan supports the use of External ID fields as an alternative means to update records in Salesforce.
If a field is mapped to an External ID field, the update logic will following the same logic as updating with an ID field (above).
Fields with External ID values take takes precedence over ID fields, such that if a both an External ID and an ID are mapped, the External ID is used; and it will not fall back to the ID field if no match can be made.
IMan permits only a single External ID to be defined on the object. If multiple external IDs are defined on the object an error will be raised and the import will fail.