Sync Considerations for Salesforce Connect—All Adapters | Salesforce
Sync Considerations for Salesforce Connect—All Adapters
When you validate and sync an external data source, some special behaviors and limitations apply.
Available in: both Salesforce Classic and Lightning Experience
Available in: Developer Edition
Available for an extra cost in: Enterprise, Performance, and Unlimited Editions
Syncing creates or overwrites Salesforce external objects that map to the external system’s schema.Syncing doesn’t copy any data into your Salesforce org or write data from your org to the external system.
Each org can have up to 100 external objects. Syncing fails if it causes your org to exceed this limit.
Object names must be unique across all standard, custom, and external objects in the org. Syncing fails if it tries to create an external object with an API name that conflicts with that of an existing object in the org. If syncing fails for this reason, determine whether the existing object is needed. If not, delete that object, and then sync.
If the object is needed, change the API name of the existing object to no longer conflict with the table that you're trying to sync. However, if the existing object is an external object that was previously synced, you can’t resync it. Manually update the external object and its fields as needed for schema changes on the external system.
We recommend that you create your external data sources and external objects in a Developer Edition org. Then use managed packages to deploy the external data sources and external objects to your other orgs. Doing so prevents your external object names from conflicting with other objects in your org by applying a namespace prefix.
Syncing is a one-time process. If the external system’s schema is changed, the changes aren’t automatically synced to your Salesforce org. Resync the objects to reflect the changes in the external system.
Each external object that’s created via syncing has its Deployment Status set to In Development. When you’re ready to expose an external object to users, set its Deployment Status to Deployed. Resyncing an external object doesn’t change its deployment status.
When you resync an external object:
The Display URL Reference Field is set to None.
If a custom field has the Is Name Field attribute, the attribute is removed. The External ID standard field is used as the name field of the external object.
Syncing doesn’t create relationship fields on the external objects in your Salesforce org. However, you can change the field type of a sync-created custom field to Lookup Relationship, External Lookup Relationship, or Indirect Lookup Relationship. Changing the field type of an existing custom field is simpler and more efficient than manually creating a relationship field on the external object.
For example, suppose that the external system has a foreign key relationship. Syncing the related tables creates a text field in your org for the external column that identifies the foreign keys. To reflect the foreign key relationship within your org, change the field type of that text field to External Lookup Relationship.
A relationship field is a type of custom field. Therefore, like all custom fields on an external object, relationship fields can be overwritten when you sync the external object. See the sync considerations for each Salesforce Connect adapter that you use.
For text fields on external objects, make sure that the specified length is large enough to contain the external values. If the value from an external system doesn’t fit within the length of the associated text field on the external object, the value is truncated in your Salesforce org. To avoid truncated text field values, increase the length for the text field on the external object.
For number fields on external objects, ensure that the specified length can contain all digits to the left of the decimal point in external values. If the numeric value from an external system doesn’t fit within the length of the associated number field on the external object, the value is blank in your Salesforce org. If you notice blank numeric field values, adjust Length and Decimal Places for the number field on the external object to accommodate more digits to the left of the decimal point. If the digits to the right of the decimal point in the external values don’t fit within the specified decimal places, the value is truncated.
Also review the considerations for each Salesforce Connect adapter that you use.