DLHDLH.io Documentation

Salesforce

DLH.io documentation for Salesforce

Salesforce.com is a Customer Relationship Management (CRM) platform that helps marketing, sales, commerce, service and IT teams collaborate on customer success. CRM is a technology for managing all your company’s relationships and interactions with customers and potential customers.

Setup Instructions

Follow the setup steps guide for configuring your Salesforce connection to enable data to flow into your destination via DLH.

Supported Features

Here are key features supported for this connector.

Sync FeatureSupportedDetails
Custom Data and DevelopmentAbility to enhance connector upon request
Historical Re-Load/Load
Incremental/Delta LoadGets most recent records and changes
Column Selection
Column Hashing
Re-Sync Table/EntitySelect at the table level to reload data
history (on next Sync Bridge run)
Custom QueriesUtilizing SQL Data Query Connector
Custom Data
Captures Deleted RowsOn all supported tables
API Sync Bridge Initiation
Priority Scheduling
Private VPC/Link
DLH Data Model Available-

If you have any questions about these supported features please reach out to our Customer Support team.

Details on Sync Processing

For this connector, we believe the sync processing is straightforward. We've provided a number of details, steps, and other guidance here and in the setup steps guide. Be sure to also check the change log and notes page from time to time for any changes.

Issue Handling

If any issues occur with the authorization simply return to the sources page in DLH.io, edit the source details and click the Save & Test or Authorize Your Account or Re-Authorize Account button to confirm connectivity. If any issues persist please contact our support team via the DLH.io Support Portal.

FAQ

Compare record counts between Salesforce and Target

  • On the Sync Bridge, Actions click Compare Source to Target Entity Counts in order to view record counts in Salesforce compared to record counts in the Target Connection.

  • If it's been awhile since a record count has been performed or the Delta from Source column has a negative number, then click the Re-run Audit counts Process on Target button. Please wait for 10-15 minutes in order for the process to complete. You may need to wait longer if you hundreds of Salesforce entities to update.

Entities with many records

  • For entities that have many records a baseline for the replication window is that during a historical load 500,000 records takes approximately 30 min to pull for a single entity.

Salesforce trial accounts

  • Salesforce limits the ability to use their API on their trial accounts so a licensed Snowflake account is needed in order to leverage DLH.io.

Sync Bridge Runs Once a Day But Errors

  • If a sync bridge is set to run once a day and for whatever reason does not successfully complete the bridge, the bridge will load 2 days worth of data during the next run.

Deleted Records

Salesforce will remove from its system any deleted records (hard deleted, etc.) within 15 days, (see salesforce documentation here). Therefore it is important to keep the sync bridge in DLH.io running consistently (not paused). If a Sync Bridge is paused for long periods of time your target destination may have orphan records that will not be marked as IsDeleted = true and/or `_DLH_IS_DELETED = Y` and it will appear that you are pulling potentially eroneous values/records. In this case it is recommended to backup your target destination tables, drop the target schema and/or tables in question and conduct a Historical Resync of the Sync Bridge.

If comparing DLH.io to another process or system where you have been attempting to synchornize or retrieve Salesforce.com records, and you find that DLH.io has a differing number of records, it may be due to this deletion issue above, or the fact that DLH.io is a more comprehensive sychronization platform than any alternatives.

How does the CDC/Incremental Loading Work with SFDC?

  • As a SaaS platform Salesforce.com (SFDC) has native columns/fields that represent timestamps for when a record/event was created or updated. These columns vary from entity to entity. DLH.io uses in order the following timestamp attributes/columns/fields in the SFDC entities to ensure only new or incremental records are synchronized during a standard incremental data sync process: LastModifiedDate, CreatedDate, SystemModstamp.

Custom Fields and Custom Entities

  • DLH.io treats all custom and non-custom fields and entities as equals whereby replicating these fields (as columns) and entities (as tables) to your desired Target Connection. In fact, most other data integration platforms struggle with custom entities and only replicate a subset of custom columns and custom entities.

How are Field Formulas Handled

  • DLH.io replicates calculated formula values on any custom or non-custom field. Example of a custom formula in SFDC:

"calculatedFormula": "IF(My_Credit_Limit_Gross_Revenue__c=0 , \n0, \n( My_Backlog_Gross_Revenue__c + My_Total_AR__c + My_Total_WIP__c ) / (My_Credit_Limit_Gross_Revenue__c \n )\n)",