Estuary

Salesforce to Snowflake: 4 Effective Sync Methods for Integration

Explore four proven methods to connect Salesforce to Snowflake, with Estuary Flow offering the most efficient, no-code, near real-time solution.

Blog post hero image
Share this article

Effective customer relationship management (CRM) is the core for building and nurturing valuable customer connections. However, traditional CRM systems often face challenges in effectively managing the vast amount of customer data. These challenges include data silos, complex data integration processes, and limited analytical capabilities, which hinder organizations from extracting valuable insights and streamlining their business processes to drive business growth.

The solution? Integrating Salesforce, a leading CRM platform, with Snowflake, a robust data warehouse, using a dedicated Salesforce Snowflake connector. This integration eliminates data barriers, simplifies data integration, and unlocks the full potential of your customer data.

This guide provides a roadmap and best practices for connecting Salesforce to Snowflake, helping you enable timely, near real-time data synchronization and unlock actionable analytics. Let’s dive in!

TL;DR

  • Connecting Salesforce to Snowflake enables timely data synchronization and unlocks powerful analytics capabilities.
  • This guide explores four popular methods for integration: Tableau CRM Sync Out, Bulk API, Data Loader, and Estuary Flow.
  • Estuary Flow offers the most efficient, no-code solution for seamless Salesforce-to-Snowflake replication, powered by Salesforce’s Bulk API 2.0 and REST API.

Salesforce Overview

Salesforce

Salesforce is a leading cloud-based customer relationship management (CRM) platform that empowers you to manage and optimize your sales, marketing, and customer service processes. It offers services such as lead generation, analytics, marketing intelligence, field service management, and personalized customer experiences. 

Here are some of the key features of Salesforce:

  • Reporting and Analytics: Salesforce's built-in reporting and analytics capabilities allow you to gain valuable insights into your sales, marketing, and customer service data. Create custom reports, dashboards, and visualizations to track key metrics, identify trends, and make data-driven decisions.
  • Automation and Workflow Management: Salesforce offers automation features like workflow rules and a process builder. These features allow you to streamline repetitive tasks, automate processes, and ensure consistent follow-ups, saving time and improving efficiency across your organization.
  • AppExchange Marketplace: Salesforce’s AppExchange is a vast marketplace that offers a wide range of pre-built applications and integrations. You can explore and install apps tailored to your specific needs, further enhancing the capabilities of your Salesforce implementation and extending its functionality.
    Additionally, Salesforce Data Cloud is part of Salesforce's offerings, emphasizing its role in data management and integration capabilities, particularly in setting up data shares and configuring permission settings.
  • Data Security and Privacy: Salesforce prioritizes data security by following industry-standard practices and compliance regulations. It offers Salesforce Shield, which includes data encryption, event monitoring, and audit trails. These features work together to safeguard the confidentiality and integrity of sensitive information, ensuring that your data remains protected.

Snowflake Overview

snowflake

Snowflake is a fully-managed and enterprise-ready Software-as-a-Service (SaaS) platform. It is a highly scalable data warehousing solution, providing a centralized repository for storing structured, unstructured, and semi-structured data. With Snowflake, you can seamlessly handle diverse data types and easily scale your storage and computing resources as needed. This ensures you have a robust and flexible data warehousing platform to efficiently manage and analyze data, enabling you to unlock valuable insights and make data-driven decisions. The Snowflake Data Cloud enhances this capability by providing a unified and frictionless modern data stack that supports data integration, sharing, and insights.

Here are the key features of Snowflake:

  • Elastic Scalability: Snowflake offers exceptional elasticity, allowing you to scale your data warehousing resources up or down based on your needs. It automatically handles infrastructure provisioning, ensuring optimal performance regardless of data size or complexity.
  • Multi-Cloud Flexibility: Snowflake operates across multiple cloud providers, including Microsoft Azure, Amazon Web Services (AWS), and Google Cloud Platform (GCP). This flexibility allows you to choose the cloud provider that best suits your requirements, ensuring seamless integration with your existing infrastructure.
  • Supports Semi-Structured Data: Snowflake offers native support for semi-structured data, such as JSON, XML, Avro, and Parquet. It allows you to ingest, store, and query your semi-structured data without the need for complex transformations. Snowflake's schema-on-read approach also enables direct querying and analysis of semi-structured data using SQL.
  • Separation of Storage and Compute: Snowflake's unique architecture allows you to scale computing and storage resources independently. With auto-sensing, compute resources can scale automatically during queries without disruption or data redistribution. Storage resources can be scaled to any desired capacity without unnecessary computing costs. Both resource groups can be customized, scaled up or down, and even suspended. This flexibility ensures optimal performance, cost efficiency, and adaptability for your specific requirements.

Importance of Connecting Salesforce to Snowflake

Connecting Salesforce to Snowflake brings numerous advantages and unlocks powerful data management and analysis capabilities. Here are a few key reasons why connecting Salesforce to Snowflake is beneficial:

  • Comprehensive Data Warehousing: Connecting Salesforce to Snowflake facilitates data integration with other systems and sources. You can combine Salesforce data with data from marketing tools, ERP systems, or external data sources, creating a unified view for comprehensive analysis and insights. Snowflake's ability to handle diverse data formats, such as JSON, Avro, or Parquet, further enables advanced analytics across multiple data sources.
  • Advanced Analytics: Snowflake offers advanced analytics capabilities, allowing you to perform complex queries, aggregations, and transformations on Salesforce data. With Snowflake's SQL-based querying language, you can gain deeper insights, generate custom reports, and perform data analysis at scale. Snowflake's powerful processing capabilities and parallel execution enable fast and efficient analytics, even with large datasets.
  • Real-Time Data Availability: Integrating Salesforce with Snowflake enables real-time or near-real-time data synchronization. This ensures that your analytics and reporting are always up to date and reflect the latest information.

4 Easy Methods to Connect Salesforce to Snowflake

There are several methods available for replicating data from Salesforce to Snowflake. This guide will explore popular ways to link Salesforce data to Snowflake.

  • Method 1: Replicate Salesforce Data to Snowflake with Estuary Flow (Recommended)
  • Method 2: Using Tableau CRM Sync Out for Salesforce to Snowflake
  • Method 3: Using Bulk API for Salesforce to Snowflake Data Migration
  • Method 4: Using Data Loader for Salesforce to Snowflake Integration

Method 1: Steps to Replicate Salesforce to Snowflake with Estuary Flow

SaaS platforms like Estuary Flow offer a modern, no-code way to efficiently replicate Salesforce data to Snowflake. Flow’s Salesforce Native connector leverages Salesforce's Bulk API 2.0 and REST API, allowing you to capture both historical and new Salesforce records seamlessly.

With Flow, your Snowflake database stays continuously synchronized with your Salesforce CRM, ensuring timely, actionable insights. Flow's cloud-native architecture dynamically scales to handle growing data volumes, automatically manages schema evolution, and minimizes operational overhead — without writing a single line of code.

In addition to Snowflake, Estuary Flow supports a wide range of destinations like MongoDB, BigQuery, Postgres, and more.

Here's a step-by-step guide to integrating Salesforce with Snowflake using Estuary Flow:

Step 1: Capturing Data from Salesforce with Estuary Flow

  • Sign in to your Estuary account or sign up for free. Once logged in, click on Sources.
  • In the Sources window, click on + NEW CAPTURE.
  • On the Create Capture page, search for Salesforce. Select the Salesforce connector.
  • The Salesforce connector uses Salesforce's Bulk API 2.0 and REST API for efficient, modern data capture. It supports both standard and custom objects. 
  • Fill in the required connection details:
    • Authentication Method: OAuth Credentials
    • Client ID and Client Secret: From your Salesforce developer app.
    • Refresh Token: Obtained after completing OAuth setup.
    • Instance URL: Your Salesforce instance URL (e.g., https://your-instance.salesforce.com).
    • Start Date: Specify if you want to capture records from a certain point in time.
11-Salesforce connector
  • Once you've completed these details, click on NEXT. Estuary Flow will establish a secure connection with your Salesforce account and auto-discover the available objects.
  • Click SAVE AND PUBLISH to save the capture configuration.

Step 2: Setting up Your Snowflake Destination in Estuary Flow

  • After a successful capture, you can either click on Materialize Collections in the pop-up or go to the Estuary dashboard and click on Destinations on the left-side pane.
  • Click New Materialization to set up the data destination. On the Create Materialization page, search for Snowflake and click on Materialize.
Snowflake connector search result
  • Snowflake has some prerequisites to meet before connecting to Flow successfully. So, before you continue, follow the steps here
  • Provide the Materialization name and Endpoint config details, such as the Host URL, User, Password, Database, Schema, Warehouse, and Role. Click on Next
Snowflake connector page

Image Source

  • The data collections you captured from Salesforce may already be populated. If not, use the Source Collections tool to locate and add them.
  • Finally, click on Save and Publish. After you complete these steps, Estuary Flow will replicate your data from Salesforce to Snowflake in real-time.

For more help, see the Estuary documentation for:

Integrate Salesforce data with any destination

Method 2: Using Tableau CRM Sync Out for Salesforce to Snowflake

Tableau
Image Source

With Salesforce's acquisition of Tableau in 2019, you can conveniently connect and transfer your Salesforce data to Snowflake using Tableau Data Manager. This method will establish a remote connection using the Snowflake output connector to transfer data from CRM Analytics to a Snowflake table. Then, we will use the Sync Out feature to push the raw data from CRM Analytics directly to Snowflake.

To connect Salesforce to Snowflake, follow these steps:

Step 1: Configuring the Snowflake Output Connection in Salesforce

To use the Sync Out feature with Snowflake, you need to set up the following Snowflake objects in your Snowflake account:

  • Database and Schema: You must create a database and schema to store Salesforce data. 
  • Warehouse: A warehouse in Snowflake is a computational resource that allows you to load and process data. For Sync Out, it is recommended to use an XSMALL or SMALL warehouse size, which provides sufficient resources for the task.
  • Role: A role in Snowflake defines a set of permissions and privileges for users. You need to create a role with the necessary permissions on the warehouse and privileges on the database and schema.
  • User: Finally, you must create a user and grant them the role as mentioned above. This user will be associated with the role and have the privileges and permissions necessary to perform data synchronization activities with Snowflake.

Here's a simplified script to create the Snowflake objects:

plaintext
USE ROLE SECURITYADMIN; CREATE ROLE SYNCOUT; CREATE USER TCRMSYNC PASSWORD = '<your password>' LOGIN_NAME = 'TCRMSYNC' DISPLAY_NAME = 'TCRMSYNC' DEFAULT_ROLE = SYNCOUT  DEFAULT_WAREHOUSE = 'SYNC_WH' DEFAULT_NAMESPACE = 'SFDC_DB.PUBLIC' MUST_CHANGE_PASSWORD = TRUE; GRANT ROLE SYNCOUT TO USER TCRMSYNC; USE ROLE SYSADMIN; CREATE OR REPLACE WAREHOUSE SYNC_WH WITH WAREHOUSE_SIZE = 'XSMALL' AUTO_SUSPEND = 60    INITIALLY_SUSPENDED = TRUE AUTO_RESUME = TRUE; GRANT ALL ON WAREHOUSE SYNC_WH TO ROLE SYNCOUT; CREATE DATABASE SYNC_DB; CREATE SCHEMA SYNC_DB.SYNCOUT; GRANT USAGE ON DATABASE SYNC_DB TO ROLE SYNCOUT; GRANT USAGE, CREATE TABLE, CREATE STAGE ON SCHEMA SYNC_DB.SYNCOUT TO ROLE SYNCOUT; GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE ON FUTURE TABLES IN SCHEMA SYNC_DB.SYNCOUT TO ROLE SYNCOUT;

This script will create a role, a user associated with that role, a warehouse, a database, and a schema. It grants the role and user-appropriate permissions for accessing and manipulating the Snowflake objects.

Step 2: Enabling Sync Out for Salesforce Objects

Firstly, you have to enable Sync Out connection in Salesforce. Go to Setup > Analytics > Settings and check the Enable Data Sync and Connections and Enable Snowflake output connection checkbox.

Tableau 1

Image Source

Step 3: Set up the Output Connection

Go to Connect > Connect to Data > Output Connections in Tableau CRM Data Manager. Click on Add Connection, select the Snowflake Output Connector, and enter the Snowflake credentials.

Tableau 2

Image Source

Step 4: Enable Sync Out for SFDC_LOCAL objects

Now, you must inform Tableau CRM that you want to push data to Snowflake. Open Tableau CRM Data Manager, go to Connect and click the down arrow on the right in the SFDC_LOCAL bar. Click on Sync Out and enable it by providing appropriate details. If you can't see the option, contact Salesforce Support for assistance.

Tableau 3

Step 5: Sending and Verifying Data Transfer to Snowflake

In the SFDC_LOCAL bar, click the down arrow and choose Run Now to send all data to Snowflake. To sync a specific object, click the down arrow on that object and select Run Now. Your data from Tableau CRM will be sent to Snowflake.

Tableau 4

You can navigate back to your Snowflake account, where your Salesforce data is readily available. After Salesforce and Snowflake have been successfully integrated, you can proceed to perform advanced analytics on your data.

Tableau 5

Limitations of Data Synchronization Using Tableau CRM Sync Out Feature

The native integration may have limitations when it comes to complex data transformations or data cleansing requirements. In some cases, additional data processing or data preparation steps may be required before transferring data to Snowflake.

Another notable challenge is how formula fields are handled. Tableau's API might not read these fields correctly, adding complexity when dealing with intricate Salesforce formula fields that span multiple objects. Local data source structures can also cause problems, often resulting in errors due to table limitations.

Method 3: Using Bulk API for Salesforce to Snowflake Data Migration

Salesforce provides different general-purpose APIs that you can use to access Salesforce data. The general-purpose APIs include:

  • REST API
  • SOAP API
  • Bulk API
  • Streaming API

You can use the Salesforce Bulk API to access and load data from Salesforce to Snowflake. The Bulk API supports CSV, JSON, and XML file formats. Here are the steps to follow for this method:

Step 1: Extracting the Data from Salesforce

  • Log in to Salesforce API.
  • Create a job to download Account object data from Salesforce in JSON format.
  • Add a batch containing a SQL query to the job you created. This is to get the Salesforce data.
  • Check the batch status to see if it’s Completed or Failed.
  • When the batch status updates to Completed, download the result dataset, which will be in JSON format.
  • After retrieving the results, close the job.

Step 2: Loading the Data to Snowflake

  • Create a Snowflake stage, which is the location where Snowflake stores data files and can access them.
  • Next, create the file format in Snowflake. Use the File Format menu to create a file format to read a JSON file.
  • Use the Stage and File Format to bulk load the Salesforce JSON file and load the data into Snowflake.

This will successfully load your Salesforce data into a Snowflake table. For a more detailed guide on how to use Salesforce Bulk API to connect Salesforce to Snowflake, you can read this article.

Method 4: Using Data Loader for Salesforce to Snowflake Integration

Data Loader is a third-party, web-based application that allows you to easily manage the import/export of data between Salesforce and other systems. You can use it to insert, update, delete, or export Salesforce records. Data Loader supports operations with large files with up to five million records per sync.

To implement Data Loader, you can follow these steps:

  • Install Data Loader on your Windows or MacOS: Execute the installer file. Then, select and download Data Loader and its installer.command file.
  • Configuration: Configure Data Loader. Refer to the detailed documentation for more information.
  • Execute the Data Loader: Use batch mode or Data Loaded CLI to execute it.

Why Choose Estuary Flow for Salesforce to Snowflake Integration?

Compared to manual methods like Bulk API, Data Loader, or Tableau CRM Sync Out, Estuary Flow offers a truly modern alternative:

  • No-Code Simplicity: Set up and manage your data pipelines without writing complex scripts or managing API jobs.
  • Dynamic Scalability: Automatically scale as your Salesforce data grows, with no need for manual resource adjustments.
  • Schema Evolution Handling: Flow automatically adapts when your Salesforce object structures change, minimizing maintenance headaches.
  • Continuous, Near Real-Time Updates: Stay synced without relying on manual sync schedules or risky bulk uploads.
  • Secure and Reliable: Enterprise-grade security features, OAuth authentication, encrypted pipelines, and compliance-ready architecture.
  • Broad Destination Support: Beyond Snowflake, easily expand your data strategy across BigQuery, Postgres, Databricks, and more.

Whether you're scaling your CRM operations or powering real-time analytics, Estuary Flow provides a future-proof solution, with far less effort.

Unlock real-time insights by integrating Salesforce with Snowflake using Estuary Flow’s no-code solution. Start your free trial or contact us for support.

Common Use Cases for Estuary Flow

Estuary Flow isn’t just about moving data — it enables high-impact outcomes for businesses of all sizes. Here are some popular ways teams use Flow to connect Salesforce and Snowflake:

  • Real-Time Sales Dashboards: Keep your Snowflake warehouse continuously updated with Salesforce leads, opportunities, and pipeline stages. This ensures your sales teams and executives have immediate access to the latest performance insights.
  • Customer 360 Views: Seamlessly merge Salesforce CRM data with marketing, support, and billing datasets inside Snowflake. Build unified customer profiles for better segmentation, personalization, and service delivery.
  • Automated Reporting and Analytics: Eliminate manual data exports and stale reports. With Flow, leadership dashboards and operational reports always use the freshest Salesforce data — updated automatically in Snowflake.

Conclusion

Integrating Salesforce data into Snowflake unlocks powerful opportunities for organizations, enabling centralized customer data management, scalable analytics, and more intelligent decision-making.

Salesforce delivers comprehensive CRM capabilities, while Snowflake provides a flexible, high-performance data warehouse. Together, they create a modern data foundation that empowers organizations to extract deeper insights, automate workflows, and drive business growth.

In this guide, we explored four methods for connecting Salesforce to Snowflake: Tableau CRM Sync Out, Salesforce Bulk API, Data Loader, and Estuary Flow.

Among these methods, Estuary Flow stands out as a robust, no-code SaaS solution that simplifies Salesforce data replication. By using Flow’s Salesforce Native connector — powered by Bulk API 2.0 and REST API — you can securely capture and sync your Salesforce data to Snowflake with minimal manual effort. Flow handles schema evolution, scaling, and data consistency automatically, freeing you to focus on deriving insights instead of managing pipelines.

Ready to unlock the power of your Salesforce data?

Estuary Flow provides over 150 pre-built connectors, including Salesforce to Snowflake, and provides the scalability, security, and simplicity needed for real-time-ready analytics.

👉 Start your free trial today or contact us for expert support!

Related Articles

Start streaming your data for free

Build a Pipeline
Share this article

Table of Contents

Start Building For Free

About the author

Picture of Jeffrey Richman
Jeffrey Richman

With over 15 years in data engineering, a seasoned expert in driving growth for early-stage data companies, focusing on strategies that attract customers and users. Extensive writing provides insights to help companies scale efficiently and effectively in an evolving data landscape.

Popular Articles

Streaming Pipelines.
Simple to Deploy.
Simply Priced.
$0.50/GB of data moved + $.14/connector/hour;
50% less than competing ETL/ELT solutions;
<100ms latency on streaming sinks/sources.