top of page
Sesame Software

Salesforce Snowflake Data Integration: Sync Design

  • Oct 17, 2025
  • 17 min read

Quick Answer

Salesforce to Snowflake sync architecture is the set of design decisions that determine how CRM data moves from your Salesforce org to your Snowflake warehouse — which extraction pattern to use for each object, how schema changes propagate without breaking the pipeline, how relationship integrity is maintained during high-volume sync, and where pipeline processing occurs. For high-volume teams, these architecture decisions determine whether the pipeline holds up under API pressure, handles schema drift without manual intervention, and delivers analytically useful data rather than technically complete but relationally broken records. This guide covers the patterns, the tradeoffs, and how Sesame Software implements each one in a no-code deployment.



Why architecture decisions matter more than tool selection

The most common Salesforce Snowflake data integration failure pattern is selecting a tool before designing the architecture. A team evaluates platforms, selects the one with the best demo and the most convincing pricing, deploys it against production, and discovers six months later that the architecture the tool implements by default does not match the volume, compliance, and reliability requirements of their actual environment.

The tool should implement the architecture — not determine it. Architecture decisions made before tool selection produce constraints that eliminate some platforms from consideration and validate others. A team that decides their sync must use Change Data Capture for high-priority objects, must store all processing inside their own infrastructure, and must preserve relational integrity automatically has already eliminated most cloud-hosted ETL platforms and validated Sesame Software's customer-hosted, CDC-capable architecture as the right fit.

The seven architecture decisions below are where Salesforce Snowflake data integration is designed correctly or incorrectly. Each decision has specific implications for API consumption, data freshness, compliance posture, and operational sustainability. Making them explicitly before selecting tools — and documenting them as requirements that any tool must satisfy — produces a sync architecture that holds up under the realities of production enterprise Salesforce environments.



Architecture decision 1: Extraction pattern selection by object

The most consequential sync architecture decision is which extraction pattern to use for each Salesforce object in the sync scope. Three patterns are available in 2026. Selecting the right pattern for each object is the primary determinant of API consumption efficiency and data freshness simultaneously.

Full refresh extraction

Full refresh extraction queries all records in every object on every sync cycle — regardless of what changed since the last cycle. It is the simplest pattern to implement and the most wasteful pattern to operate.

The API cost is proportional to total record count times sync frequency. A 500,000-record Opportunity object syncing hourly via full refresh consumes 500,000 API calls per cycle, 24 cycles per day, 12 million API calls per day — from a single object. Add the 20 other objects in a typical enterprise sync scope and the daily API consumption makes full refresh architecturally untenable for high-volume environments.

Full refresh is appropriate for a narrow set of use cases: objects with very small record counts that do not have reliable change timestamps, or one-time historical loads where the simplicity of full refresh outweighs its inefficiency for that single operation.

Incremental extraction using SystemModstamp

Incremental extraction queries only records modified since the last successful sync cycle — using Salesforce's SystemModstamp field as the change indicator. Every Salesforce record has a SystemModstamp value that updates automatically whenever the record is modified, by any mechanism including user edits, automation, integration writes, and formula field recalculations.

The API cost scales with change volume rather than total record count. On the same 500,000-record Opportunity object where 200 records changed in the last fifteen minutes, incremental extraction returns 200 records — reducing API consumption by more than 99% compared to full refresh for that cycle.

Incremental extraction is the correct default pattern for the majority of Salesforce objects in a high-volume sync architecture. It delivers significantly better API efficiency than full refresh while maintaining data freshness proportional to the sync interval. Five-minute incremental sync intervals satisfy the freshness requirements of most enterprise analytics and reporting use cases.

The architecture requirement for incremental extraction is correct checkpoint management — the pipeline must record the timestamp of the last successful extraction cycle and query from that checkpoint on the next cycle. A failed cycle that does not update the checkpoint will re-extract records already processed on the retry, wasting API calls. Sesame Software manages checkpointing automatically — failed cycles retry from the correct position without re-extracting previously processed records.

Change Data Capture

Change Data Capture subscribes to Salesforce's platform event bus, which publishes change events — creates, updates, deletes — as they occur in real time. CDC delivers changes to the sync pipeline without consuming REST API calls during normal operation. The event bus is separate from the REST API and has its own capacity and retention characteristics — events are retained for up to 72 hours, providing a replay window for pipeline recovery after an outage.

CDC is the correct pattern for objects where near-real-time freshness is operationally critical — Opportunities for live pipeline dashboards, Cases for customer service operational reporting, Leads for marketing attribution that requires immediate action on high-intent signals. For these objects, CDC delivers changes to Snowflake within minutes of occurring in Salesforce, with near-zero REST API impact.

Sesame Software's Real-Time Option implements native Salesforce CDC without custom connector development. The configuration is no-code — select the objects to enable CDC on, and the platform manages the event bus subscription, change processing, and Snowflake loading automatically. CDC and incremental polling run simultaneously on different objects within the same pipeline — applying the most appropriate pattern to each object without requiring separate pipeline instances.

Pattern assignment by object tier

The architecture decision is not which single pattern to use for the entire sync — it is which pattern to assign to each object tier.

High-priority objects — those driving operational decisions or real-time dashboards — receive CDC. For most enterprise Salesforce orgs this includes Opportunities, Cases, Leads, and any custom objects that feed live operational views.

Standard-priority objects — those feeding daily analytics and financial reporting — receive five to fifteen minute incremental sync. This covers Accounts, Contacts, Activities, Campaigns, and most custom objects.

Low-priority objects — reference data and historical records that change infrequently — receive thirty to sixty minute incremental sync or daily sync. This covers Products, Pricebooks, Record Types, and static lookup objects.

Documenting this tier assignment as part of the architecture specification — before configuring any platform — produces a sync design that can be evaluated against API budget and freshness requirements independently of tool selection.



Architecture decision 2: Schema management strategy

Salesforce orgs in active enterprise environments change continuously. Salesforce administrators add custom fields, create new custom objects, modify field data types, and retire deprecated fields. Each change is a schema modification that affects the Snowflake destination unless the sync architecture manages schema drift proactively.

The two schema management strategies are manual schema management and automated schema discovery.

Manual schema management

Manual schema management requires a data engineer to update the pipeline configuration and the Snowflake destination schema whenever a Salesforce schema change occurs. The workflow is: Salesforce admin makes a change, data engineering team is notified, team updates the pipeline configuration, team runs DDL to update the Snowflake table, team restarts or re-validates the pipeline.

For organizations with slow-moving Salesforce orgs and dedicated data engineering capacity, manual schema management is operationally viable. For high-volume enterprise environments where Salesforce admins make configuration changes daily and the data engineering team's capacity is allocated to higher-value work, manual schema management creates a continuous backlog of pipeline maintenance work that compounds over time.

The more consequential problem is the window between when a schema change occurs in Salesforce and when it is reflected in Snowflake. During that window, new field data is not captured, new object data is missing from the warehouse, and downstream reports and models run on incomplete data — often without any visible signal that the incompleteness exists.

Automated schema discovery

Automated schema discovery detects schema changes in Salesforce automatically and propagates them to the Snowflake destination without manual intervention. When a new field is added to an object, the platform creates the corresponding column in the Snowflake table on the next extraction cycle. When a new custom object is created, the platform creates the corresponding table. When a data type changes, the platform handles the type casting in the extraction layer.

Automated schema discovery is the correct architecture for high-volume enterprise environments where Salesforce schema changes are frequent and where the data engineering team's capacity should be allocated to pipeline design rather than pipeline maintenance.

The architecture requirement is not just that the platform detects schema changes — it is that schema changes are logged with timestamps, that the data team receives alerts when changes are detected, and that downstream consumers of the Snowflake data are informed when the schema they query has changed. Schema changes that propagate silently to Snowflake may fix the completeness problem while creating new confusion for analysts whose queries suddenly return different columns than they expected.

Sesame Software's automated schema discovery runs continuously across all connected Salesforce objects. Schema changes are detected on the extraction cycle following the change, propagated to Snowflake automatically, logged with timestamps in the platform's audit trail, and surfaced through configurable alerting to the data team and downstream stakeholders.



Architecture decision 3: Relational integrity preservation

Salesforce data is relational. The analytical value of Salesforce data in Snowflake comes primarily from the ability to join records across objects — Opportunities to Accounts, Opportunity Line Items to Opportunities, Activities to Accounts and Contacts and Cases simultaneously.

Relational integrity in Snowflake depends on two architectural properties of the sync pipeline. First, parent records must exist in Snowflake before child records that reference them are loaded. Second, foreign key values in child records must match the primary key values of their parent records in Snowflake — not the Salesforce record IDs as they exist in Salesforce, but as they are represented in the Snowflake destination after any transformations.

Dependency-ordered loading

The architecture requirement for relational integrity is dependency-ordered loading — the sync pipeline loads objects in dependency order, ensuring parent objects are loaded before child objects on every cycle.

For standard Salesforce objects, the dependency order is well-defined and consistent. Accounts before Contacts. Opportunities before Opportunity Line Items. Accounts before Opportunities before Activities. For custom objects with custom lookup and master-detail relationships, the dependency order is specific to the org's data model and needs to be discovered from the Salesforce schema.

Sesame Software discovers the dependency structure of the Salesforce object model during automated schema discovery and applies dependency-ordered loading automatically. Custom objects with custom relationships are handled with the same dependency intelligence as standard objects — without requiring manual dependency mapping from the data engineering team.

Delete propagation

The second relational integrity requirement is delete propagation — when a record is deleted from Salesforce, that deletion propagates to Snowflake so that the warehouse does not accumulate records that reference parents that no longer exist.

Without delete tracking, Snowflake accumulates orphaned child records that reference parent records deleted in Salesforce. Queries that join across these relationships produce incorrect results — Contacts that reference Accounts that no longer exist, Opportunity Line Items that reference Opportunities that were merged or deleted, Activities that reference Cases that were closed and purged.

Sesame Software tracks Salesforce soft-deletes on every extraction cycle and propagates them to the corresponding Snowflake tables. Deleted records are reflected in Snowflake on the next extraction cycle after deletion — preventing the silent accumulation of orphaned records that corrupts join accuracy over time.



Architecture decision 4: Processing location and compliance posture

The fourth architecture decision determines where sync pipeline processing occurs — inside the organization's own infrastructure or on a vendor's cloud servers. For many high-volume enterprise teams, this is not a preference decision. It is a compliance requirement.

Cloud-hosted Salesforce Snowflake data integration platforms process CRM data on vendor-managed infrastructure during extraction, transformation, and loading. The vendor's systems have access to the data during transit — creating GDPR data processor documentation obligations, HIPAA Business Associate Agreement requirements, and data sovereignty exposure for organizations with strict data localization requirements.

The sovereign architecture is customer-hosted processing — the sync pipeline runs inside the customer's own infrastructure, with Salesforce data moving directly from the Salesforce org to the Snowflake destination through pipelines running on the customer's servers. The vendor's infrastructure is never in the data path.

For high-volume enterprise teams where compliance requirements are non-negotiable, this architecture decision eliminates every cloud-hosted sync platform from consideration — regardless of their feature set, their pricing, or their compliance certifications. SOC 2 Type II certification and HIPAA BAA availability document a vendor's compliance posture. They do not change the fundamental architecture: the vendor's systems still have access to the data during processing.

Sesame Software's customer-hosted architecture is the correct implementation for this decision. Every sync pipeline operation — source connection, incremental extraction, schema discovery, transformation, Snowflake loading — occurs inside the customer's own infrastructure. Sesame Software's servers are never in the data path.



Architecture decision 5: Snowflake destination design

The Snowflake destination design determines how Salesforce data is organized in the warehouse — the schema structure, the table design, the access controls, and the partition strategy that determine whether Snowflake queries against the replicated data are fast, accurate, and cost-efficient.

Schema organization

The recommended Snowflake schema organization for Salesforce sync separates raw replicated data from transformed analytical views. A raw schema — often named salesforce_raw or crm_raw — receives the replicated Salesforce data exactly as it arrives from the source, with column names matching Salesforce API names and data types matching Salesforce field types. A curated schema — salesforce_curated or crm_analytics — contains views or materialized tables that apply business naming conventions, join across related objects, and present data in the structure that analysts and BI tools query.

This two-layer approach separates the sync architecture from the analytics architecture. When Sesame Software detects a schema change in Salesforce and adds a column to a raw table, the downstream curated views update independently — analysts continue to query stable view names rather than raw table structures that change as the Salesforce org evolves.

Clustering and partitioning

For high-volume Salesforce orgs with billions of records in Snowflake across a multi-year history, query performance depends on how tables are clustered and partitioned. Snowflake's micro-partition architecture clusters data automatically, but explicit clustering keys improve query performance for the access patterns that Salesforce analytics most commonly requires.

Clustering on SystemModstamp or a derived date column optimizes the common query pattern of filtering by time period — showing Opportunities closed in Q3, Cases opened in the last 30 days, Activities logged this week. Clustering on OwnerId or AccountId optimizes the common query pattern of filtering by owner or account — showing all records owned by a specific sales representative or associated with a specific account hierarchy.

The clustering architecture decision should be documented before the initial sync runs — adding clustering keys after a large Snowflake table has been populated requires a reclustering operation that consumes compute credits and time.

Access controls on Snowflake destination

The Snowflake destination should have role-based access controls that match the sensitivity of the Salesforce data it contains. CRM data often includes personal contact information subject to GDPR, deal terms subject to commercial confidentiality, and customer financial data subject to internal access policies. Access to the raw schema should be restricted to the data engineering team and approved data science users. Access to the curated schema can be broader — including BI tools, analysts, and business users — with row-level security filtering applied where appropriate to restrict access to data by Salesforce data ownership or territory assignment.



Architecture decision 6: Monitoring and observability design

A Salesforce Snowflake data integration architecture that runs continuously without comprehensive monitoring is an assumption — not a production system. The monitoring architecture determines how quickly the team detects failures, how easily they diagnose the cause, and how confidently they can tell stakeholders the current state of the sync.

The monitoring architecture for Salesforce Snowflake sync should cover four categories of signals.

Pipeline health signals — is the sync running? The most fundamental monitoring signal is confirmation that each scheduled extraction cycle completed successfully. Sesame Software logs the completion status, duration, and record count for every extraction cycle. Alerts trigger when cycles fail or when cycle duration significantly exceeds the baseline, indicating performance degradation that may affect data freshness.

Data volume signals — is the right amount of data moving? Record count monitoring tracks the number of records extracted per cycle and compares it to the baseline for that object at that time of day. A Salesforce org that typically generates 500 Opportunity updates per hour should trigger an alert if a cycle returns 50 or 5,000 — both deviations may indicate source system issues, pipeline configuration problems, or genuine business events that the data team needs to understand.

Schema change signals — did the source change? Schema change detection alerts notify the data team when Sesame Software detects a modification to the Salesforce object model — a new field, a modified data type, a new custom object. These alerts give the data team visibility into changes that may affect downstream reports or models before those effects surface as analytical anomalies.

API consumption signals — is the budget healthy? For high-volume enterprise environments where multiple integrations share the same Salesforce API budget, monitoring API consumption by integration is essential context for understanding and managing the daily limit. Sesame Software's efficient incremental extraction and CDC patterns keep API consumption proportional to change volume — but monitoring confirms that consumption stays within expected bounds.



Architecture decision 7: Historical load and initial sync strategy

Before ongoing incremental sync begins, the pipeline must complete an initial historical load — moving all existing Salesforce data into Snowflake for the first time. The historical load strategy is an architecture decision that affects how long the initial migration takes, how much impact it has on Salesforce API capacity during the load window, and how the transition from historical load to ongoing incremental sync occurs.

Bulk API for historical loads

The Salesforce Bulk API provides a separate, high-volume data path that does not consume the standard REST API budget. Historical loads executed through the Bulk API avoid the API consumption conflict that would otherwise occur if the initial load consumed the daily REST API budget for days or weeks — blocking other integrations and users during the load window.

Sesame Software uses the Bulk API automatically for initial historical loads. After the initial load completes, the platform transitions to incremental sync — using SystemModstamp-based incremental extraction or CDC depending on the pattern assigned to each object in the architecture specification.

Parallel object loading

For Salesforce orgs with many objects in scope and large record volumes, loading objects sequentially — one object at a time — extends the initial load duration unnecessarily. Parallel loading — loading multiple objects simultaneously — reduces total load time proportionally to the degree of parallelism the destination Snowflake instance can support.

The parallelism architecture requires dependency ordering to be respected even during parallel loading. Parent objects must complete loading before child objects begin — otherwise child records load without parent references that exist yet in Snowflake. Sesame Software's patented hyper-threaded replication engine manages parallel loading with dependency ordering enforced — maximizing throughput without violating relational integrity.

Load window and validation

The historical load window is the period between when the initial load begins and when ongoing incremental sync activates. During this window, Snowflake data is incomplete — the load is in progress and some objects may be fully loaded while others are still in progress. BI tools connected to Snowflake during this window will query incomplete data and produce incorrect results.

The architecture should define a validation gate between the completion of the initial load and the activation of BI tool access. Validation includes row-count comparison between Salesforce and Snowflake for each object, spot-checking of specific records, verification of relational integrity, and confirmation that delete tracking is correctly reflecting the current state of Salesforce. Sesame Software produces the validation metrics — record counts per object, schema comparison, extraction logs — that enable this validation gate to be executed efficiently before activating downstream access.



How Sesame Software implements all seven architecture decisions

Sesame Software's no-code Salesforce Snowflake data integration platform implements all seven architecture decisions in a single customer-hosted deployment.

Extraction pattern selection: per-object configuration of full refresh, incremental extraction, or CDC without separate pipeline instances. Schema management: continuous automated schema discovery with timestamp logging and configurable alerting. Relational integrity: dependency-ordered loading with automatic delete propagation. Processing location: fully customer-hosted — Sesame Software's servers never in the data path. Snowflake destination design: automated schema creation from Salesforce object structure with configurable schema organization. Monitoring: real-time dashboard with pipeline health, volume anomaly detection, schema change alerts, and API consumption visibility. Historical load: Bulk API for initial loads with automatic transition to incremental sync.

With 23+ years of enterprise data management expertise, 15 proprietary patents powering the replication engine, and a customer base that includes Procter & Gamble, Bank of America, and the U.S. Government, Sesame Software scales to the record volumes that high-volume enterprise Salesforce environments generate — without performance degradation and without billing surprises, thanks to predictable connector-based annual pricing that never grows with your record counts.

Talk to a Sesame Software data expert today


Talk to a Sesame Software data expert or access our Salesforce Backup and Recovery e Book to see what that looks like for your organization.



Sesame Software promo: hand points at laptop with glowing 5-star ratings, blue UI overlays, and Users Love Us badge.
If you're ready to take back control of your Salesforce data protection strategy, talk to a Sesame Software data expert today.



Read More

  • Snowflake Data Integration — the Snowflake connector product page, covering automated schema alignment and multithreaded replication in more depth than this guide.

  • Snowflake ETL and Data Connector — a closer look at the Integration Builder's ETL workflow, including native SQL transformation before data lands in Snowflake.

  • Salesforce + Sesame Software — the full list of Salesforce-specific capabilities, including sandbox seeding, RBAC, and Marketing Cloud support.

  • Salesforce Backup and Recovery — for teams that need point-in-time restore and metadata recovery alongside their Snowflake pipeline, not just replication.

  • Understanding Data Security Compliance — a companion piece on the compliance side of data protection, for readers who want more on GDPR/CCPA specifics than this guide covers.


Salesforce Snowflake data integration Frequently asked questions

What is Salesforce Snowflake data integration architecture?

Salesforce Snowflake data integration architecture is the set of design decisions that determine how CRM data moves from Salesforce to Snowflake — which extraction pattern to use for each object, how schema changes propagate without breaking the pipeline, how relationship integrity is maintained during high-volume sync, where pipeline processing occurs, how the Snowflake destination is organized, what monitoring covers, and how historical loads transition to ongoing incremental sync. These decisions should be made before tool selection, because they constrain which platforms are capable of implementing the required architecture.

What is the difference between incremental sync and Change Data Capture for Salesforce?

Incremental sync queries Salesforce on a schedule for records modified since the last successful cycle — using the SystemModstamp field to identify changed records. It consumes REST API calls proportional to change volume and delivers data freshness proportional to the sync interval. Change Data Capture subscribes to Salesforce's platform event bus, which publishes change events in real time without consuming REST API calls. CDC delivers changes to Snowflake within minutes of occurring in Salesforce with near-zero REST API impact — making it the correct pattern for objects where near-real-time freshness is operationally critical.

How does automated schema discovery prevent Salesforce to Snowflake sync failures?

Automated schema discovery detects changes to the Salesforce object model — new fields, modified data types, new custom objects — and propagates them to the Snowflake destination schema automatically on the next extraction cycle. Without automated schema discovery, schema changes in Salesforce cause pipeline failures or silent data incompleteness until a data engineer manually updates the pipeline configuration and Snowflake table structure. For high-volume enterprise environments where Salesforce schema changes are frequent, automated schema discovery eliminates a continuous source of pipeline maintenance work and data quality gaps.

Why does processing location matter for Salesforce Snowflake sync compliance?

Cloud-hosted sync platforms process Salesforce CRM data on vendor-managed infrastructure — the vendor's systems have access to the data during extraction, transformation, and loading. For organizations under GDPR, this creates data processor documentation obligations. For organizations under HIPAA, it requires Business Associate Agreements. For organizations with data sovereignty requirements, it creates jurisdiction exposure. Customer-hosted processing — where the sync pipeline runs inside the customer's own infrastructure — eliminates all three concerns by keeping Salesforce data inside the customer's environment throughout the sync process.

How does Sesame Software handle high-volume Salesforce orgs with millions of records?

Sesame Software's patented hyper-threaded replication engine handles Salesforce orgs with hundreds of millions of records without performance degradation. Parallel object loading reduces initial historical load time. Per-object incremental sync frequency configuration applies five-minute intervals only to high-priority objects while lower-priority objects sync less frequently — keeping API consumption proportional to change volume rather than scaling with total record count. The Bulk API handles initial loads without consuming the standard REST API budget that operational integrations and users depend on.

What validation should occur before activating BI tools after a Salesforce to Snowflake sync?

Validation before activating BI tool access should include row-count comparison between Salesforce and Snowflake for every replicated object, spot-checking of specific records across multiple objects to confirm field value accuracy, verification of relational integrity by confirming that child record foreign keys resolve to existing parent records, confirmation that delete tracking correctly reflects currently deleted Salesforce records, and a review of the schema comparison between Salesforce and Snowflake to confirm all expected objects and fields are present. Sesame Software produces all of these validation metrics — record counts, schema comparisons, extraction logs — accessible through the platform interface.


Security depends on the architecture of the replication platform. Sesame Software's customer-hosted model processes all data inside the customer's own environment, so no Salesforce data passes through Sesame Software's infrastructure. Combined with TLS 1.3 encryption in transit and AES-256 at rest, field-level exclusion controls for PII, and RBAC on both Salesforce and Snowflake service accounts, Sesame Software provides an architecture that satisfies GDPR, HIPAA, and SOX compliance requirements.



Found this post helpful? Share it with your network using the links below.



bottom of page