Skip to main content

Databook Salesforce Integration: Overview of Smart Incremental Read

More detailed information about how the Databook Salesforce Integration works

Written by Alex

Overview

By default, Salesforce incremental reads rely on detecting changed records. However, SystemModstamp updates whenever any field on a record changes, not just the fields your integration is tracking.

For example, if your integration syncs the Email and Phone fields on the Contact object, a change to an unrelated field like Description still updates SystemModstamp. This causes Salesforce to read and deliver the record, even though none of your selected fields changed.

For high-volume Salesforce orgs, this leads to:

  • Unnecessary API calls to Salesforce, consuming your API quota faster

  • A large volume of data you don't always need at your destination, increasing processing costs

How Smart Incremental Read Works

When Smart Incremental Read is enabled, we set up per-object change tracking in your customer's Salesforce org:

  1. Custom timestamp field: A datetime field (e.g., myapp_field_changed_timestamp__c) is created on each Salesforce object your integration reads from. The field name is derived from your project's app name.

  2. Apex trigger: A trigger is deployed on each object that monitors your selected fields. When any of those fields change, the trigger sets the custom timestamp to the current time. Changes to other fields are ignored.

  3. Targeted reads: Instead of using SystemModstamp, incremental read uses the custom timestamp field to identify records with relevant changes. Only records where your selected fields actually changed are synced.

Benefits

Metric

Without Smar Incremental Read

With Smart Incremental Read

Records read per sync

All records modified since last sync

Only records where selected fields changed

API calls to Salesforce

Higher (includes irrelevant changes)

Lower (targeted to relevant changes)

Data delivered to destination

Includes all changes not needed

Only meaningful changes

Smart Incremental Read is most impactful for:

  • High-volume Salesforce orgs where records are frequently updated by automation, workflows, or other integrations

  • Integrations with a narrow field selection (e.g., syncing 5 fields from an object with 100+ fields)

  • Objects with high churn on unrelated fields (e.g., `Account` or `Lead` where background processes frequently touch metadata fields)

What Gets Created in Salesforce

For each object your integration reads from, we create:

  • Custom Field: <appname>_field_changed_timestamp__c

    • Datetime field that tracks when selected fields last changed

  • Apex trigger: AmpRead_<ObjectName>

    • Sets the timestamp when any watched field is modified |

Requirements

License Required

  • Salesforce Integration license or higher

In addition to the Salesforce Integration License, the user also needs an additional Salesforce user license assigned during setup.

Permission Set License - can be configured on the User page in Salesforce setup, and it is required because Salesforce will otherwise block assigning some of the permission sets needed for the optimization feature.

Salesforce API Integration is needed

Permissions Required

Did this answer your question?