Salesforce is a cloud computing Software as a Service (SaaS) company that allows you to use cloud technology to connect more effectively with customers, partners, and potential customers.
Hevo uses Salesforce’s Bulk API to replicate data from your Salesforce applications to the Destination database or data warehouse, switching to Salesforce REST API for unsupported objects. To enable this, you need to authorize Hevo to access data from the relevant Salesforce environment.
Salesforce Environments
Salesforce allows businesses to create accounts in multiple environments, such as:
-
Production: This environment holds live customer data and is used to actively run your business. A production organization is identified by URLs starting with https://login.salesforce.com.
-
Sandbox: This is a copy of your production organization. You can create multiple sandbox environments for different purposes, such as one for development and another for testing. Working in the sandbox eliminates risk of compromising your production data and applications. A sandbox is identified by URLs starting with https://test.salesforce.com.
Source Considerations
-
Derived fields (or calculated fields) are fields that derive their value from other fields or formulas. Derived fields are not updated in the Destination during incremental loads even if their value changes due to a change in the formula or the original field.
In Salesforce, whenever any change occurs in an object, its SystemModStamp timestamp field is updated. Hevo uses this SystemModStamp field to identify Events for incremental ingestion. In the case of derived fields, a change in the formula or the original field does not affect the object’s SystemModStamp value, even though the derived field’s value may change. Due to this, such objects are not picked up in the incremental load. However, if another field in the object is updated alongside, then the incremental load picks up the derived field updates also.
-
There may be a data count mismatch at the Destination due to records deleted in your Salesforce account. When a record from a replicable object is deleted in Salesforce, the IsDeleted column for it is set to True. Salesforce moves the deleted records to the Salesforce Recycle Bin, and they are not displayed in the Salesforce dashboard. Now, when Hevo starts the data replication from your Source, using either the Bulk APIs or REST APIs, it also replicates data from the Salesforce Recycle Bin to your Destination. As a result, you might see more Events in your Destination than the Source.
-
If you disable a Pipeline for more than 15 days, Hevo cannot replicate the deleted data, if any, to your Destination. This is because Salesforce retains deleted data in its Recycle Bin for 15 days. Also, Salesforce purges the oldest records in the Recycle Bin every two hours if their count exceeds the limit for your organization. The record limit is 25 times your organization’s storage capacity. Therefore, to correctly capture the deleted data, you must run the Pipeline within two hours of deleting the data in Salesforce.
-
To manage Salesforce’s API rate limits, Hevo handles rate limit exceptions. When the API limit is reached, Hevo continues syncing other objects while marking the rate-limited objects as failed. These failed objects are prioritized for syncing in the next cycle. This ensures that data replication continues without disruption, and users are notified of any rate limit issues at both the object or Pipeline level.
-
Hevo primarily uses Salesforce’s Bulk API for data retrieval but switches to the REST API when necessary, especially for unsupported objects.
-
Custom fields in Salesforce are mapped directly to corresponding fields in the Destination, following the appropriate conventions for field names and data types.
Limitations
- It is not possible to avoid loading the deleted data. Hevo loads the new, updated, and deleted data from your Salesforce account.