Sync data from
Snowflake to Salesforce
Connect your data from Snowflake to Salesforce with Hightouch. No APIs, no months-long implementations, and no CSV files. Just your data synced forever.
Trusted by data teams at
Trusted by data teams at







Integrate your data in 3 easy steps
01
Add your source and destination
Connect to 15+ data sources, like Snowflake, and 150+ destinations, like Salesforce.
Connect
Log in
02
Define your model
Use SQL or select an existing dbt or Looker model.
03
Sync your data
Define how fields from your model map to Salesforce, and start syncing.
email
email
name
name
total_orders
all_orders
last_login
last_login
Model your Snowflake data using any of these methods
dbt Model Selector
Sync directly with your dbt models saved in a git.
Looker
Query using looks. Hightouch turns your look into SQL and will pull from your source.
SQL Editor
Create and Edit SQL from your browser. Hightouch supports SQL native to Snowflake.
Table Selector
Select available tables and sheets from Snowflake and sync using existing views without having to write SQL.
Customer Studio
For less technical users, pass traits and audiences from Snowflake using our visual segmentation builder.
Where can you sync your Snowflake data in Salesforce
Account
Represents an individual account, which is an organization or person involved with your business (such as customers, competitors, and partners). Use the
account
object to query and manage accounts in your org.Contact
Represents a contact, which is a person associated with an account. Use the
contact
object to manage to manage individual people who are associated with an account.Lead
Represents a prospect or lead. Use the
lead
object to manage leads in your org.Opportunity
Represents an opportunity, which is a sale or pending deal. Use the
opportunity
object to to manage information about a sale or pending deal.Campaign Member
Represents the association between a campaign and either a lead or a contact. Use the
campaignMember
object to manage campaign members in your org.Task
Represents a business activity such as making a phone call. Use the
task
object to manage to-do items for your org.Case
Represents a case, which is a customer issue or problem. Use the
case
object to manage customer cases for your org.Asset
Represents an item of commercial value, such as a product sold by your company or a competitor, that a customer has purchased. Use the
asset
object to manage assets for your org.User
Represents a
user
in the organization. Use this object to query information about users and to provision and modify users in your organization. Unlike other objects, the records in the User table represent actual users—not data owned by users.Custom Salesforce Objects
We support custom Salesforce objects to ensure our integration supports all your organization’s unique workstreams.
Does this integration support in-warehouse planning?
Yes, if you integerate Snowflake and Salesforce using Hightouch, in-warehouse planning is supported.
Great, but what is in-warehouse planning?
Between every sync, Hightouch notices any and all changes in your data model. This allows you to only send updated results to your destination (in this case Salesforce). With the baseline setup, Hightouch picks out only the rows that need to be synced by querying every row in your data model before diffing using Hightouch’s infrastructure.
The issue here is this can be slow for large models.
Warehouse Planning allows Hightouch to do this diff directly in your warehouse. Read more on how this works here.
Why is it valuable to sync Snowflake data to Salesforce?
Salesforce is the backbone of your sales org. It's where you manage all of your contacts, accounts, and deals. The problem is that most of your CRM data has to be manually input by individual sales reps, so it doesn't show you an accurate 360-degree view of your customer. You only have access to basic information and historical interactions.
All of your Salesforce data, in addition to the rich behavioral data captured through your app/website already, exists in Snowflake. Most of the time, this includes core metrics your data team has defined around lifetime value, workspaces, subscriptions, playlists, average order value, last login date, etc. There's a high chance you're probably even consuming this data in a dashboard, and your sales reps can't answer key questions like:
- Which accounts have the highest lifetime value?
- Which users have the highest utilization in our product?
- When did user X last log in to the app?
- Which leads/accounts should I be prioritizing?
- Which accounts are at risk of churning?
- What is the average order value of account X?
Your sales team doesn't want to hop back and forth between your various SaaS tools to answer these questions. They want to take action in Salesforce, and that means enriching your CRM with data directly from your warehouse.
Why should you use reverse ETL to connect Snowflake and Salesforce data?
Conventionally moving data from Snowflake to Salesforce meant downloading ad hoc CSV files and uploading them manually or forcing your data team to integrate with the Salesforce API and build and maintain custom pipelines. In reality, CSVs are not scalable, and in-house data pipelines and custom scripts break constantly.
Other point-to-point solutions create a weave complex web of pipelines to and from various SaaS applications and customer data platforms (CDPs), forcing you to pay for another layer of storage in addition to your data warehouses.
Reverse ETL solutions like Hightouch query against Snowflake and sync that data directly to Salesforce. You don't have to worry about CSVs or APIs. You can leverage your existing tables, data models, and audience segments. All you have to do is define your data and map it to the appropriate columns in Salesforce. You can schedule your syncs to run manually or even trigger them to run sequentially based on criteria that you define.
Hightouch automatically diffs data between syncs to ensure your only ever syncing the freshest data, and if any rows fail, Hightouch will automatically retry them later. A live debugger lets you analyze your API payload requests/responses and failed runs in real-time.
How to integrate Snowflake and Salesforce
Cloud data warehouses like Snowflake have become the standard for analytics in establishing a single source of truth for data teams. However, sending Snowflake data to Salesforce can be challenging and complicated. The good news is we've compiled a list of the many different ways you can sync data from Snowflake to Salesforce.
Option 1: Reverse ETL with Hightouch
For fully automated data syncs from Snowflake to Salesforce, Reverse ETL is the best option because it's not only the easiest to use but it's the least prone to failure. Instead of dealing with manual CSV files, third-party APIs, or custom code, Reverse ETL syncs data directly from your warehouse to your operational tools (e.g., Salesforce.)
Using Hightouch for Reverse ETL, you never have to import your data. Hightouch is a SaaS platform, which means you don't have to install anything locally on your computer. Record limits do not burden the platform, and the first destination is free.
With Hightouch, you can leverage all of your existing Snowflake tables and data models and sync that data directly to over 100 different destinations. You can run your data syncs manually or schedule them on a set cadence that you define (e.g., after your transformation jobs finish running in Snowflake.) 90% of all Hightouch syncs finish within 30 seconds, and this includes millions of records. There’s even a visual audience builder for non-technical users.
Step 1: Connect to Snowflake and Salesforce
You can connect to Snowflake using your standard information, and you can connect to Salesforce through 0Auth.


Step 2: Define Your Data
With Hightouch, you can write standard SQL or leverage your existing tables and dbt models. If you use Looker as your BI tool, you can even query using Looks.

Step 3: Configure Your Settings
Once you've defined your source data, the next step is to determine how you want your data synced to Salesforce. You can choose to upsert, update, or insert your data.

Step 4: Map Your Data
After you've selected your primary key, you can map your data to the appropriate fields in Salesforce.

Step 5: Run Your Sync
You can run your sync manually, on a set interval or custom recurrence, use a cron expression, or even schedule your sync to run after your latest dbt job has finished running.

Option 2: Salesforce Bulk API 2.0
Salesforce has a lot of different APIs, but you'll most likely want to leverage the Bulk API 2.0 if you want to read from Snowflake and write to Salesforce. This is the easiest API to upload, query, or delete records in Salesforce at scale. Salesforce’s documentation has more details on how it works.
Before you can use the Salesforce API, you’ll need to choose a library to connect your source and your destination. Depending on your language choice, this will vary, but JSforce is a great option for Node.js developers.
After you’ve chosen your library, you’ll need to write a script to pull out the records you want to sync to Salesforce, and then you can ingest your data into Salesforce’s Bulk API. Of course, it’s never as easy as just calling an API.
There’s a lot you need to account for, whether it’s authentication, error handling, logging, rate limits, or batching. You also have to worry about various edge cases and parallelizing. If you’re considering building your own in-house pipeline to send data from Snowflake to Salesforce, check out this guide on integrating third-party APIs.
Option 3: Data Import Wizard
Data Import Wizard is a native feature that Salesforce makes available to all editions except Personal and Database.com. This tool lets you upload CSVs directly to Snowflake. You can import data for many standard Salesforce objects like accounts, contacts, leads, and campaign members. You can also import data for custom objects as well.
The Data Import Wizard only handles 50,000 records at a time, so it’s not a dedicated data integration tool. The tool is really only designed to handle CSVs. You have no ability to perform deletes or exports with this tool. All imports have to be done manually since there is no scheduling option.
Data Import Wizard is available in the Salesforce Quick Find bar. Once you’ve chosen selected an object and a primary key to uniquely identify your records, all you have to do is upload your CSV to Salesforce and map the data from your CSV to the appropriate columns in Salesforce.
Option 4: Data Loader
Another option for sending Snowflake data to Salesforce is Data Loader. This feature is free for Enterprise, Unlimited, Performance, Developer, and Database editions of Salesforce. It’s basically just a more robust version of the Data Import wizard, and it supports up to 5,000,000 records per import and can be used for both importing and exporting.
Data Loader is a client-based application that you have to run locally on your computer. There’s a command-line interface that’s available for Windows users to give you more options around configurability.
You can find the installation files Data Loader in the Salesforce Quickfind bar. Getting started with the Data Loader is a bit more complicated than the Import Wizard because you need a Java Development Kit (JDK) to run it locally on your computer.
Without changing anything, the maximum number of records that Data Loader can process in a single insert, update, upsert, or delete operation is 200, so you’ll need to configure the tool to use the Salesforce Bulk API.
The Data Loader interface isn’t that intuitive, and the UI feels like it’s been around since the early 90s, so it can be a bit complicated to import your CSV and map your data fields to the appropriate object in Salesforce.
Option 5: dataloader.io
Mulsesoft originally developed dataloader.io before Salesforce acquired the company back in 2018. It offers basically all of the same functionality as the Data Loader, but it’s available as a SaaS offering you can access through your web browser, so it’s much easier to use than Data Loader.
The free version of dataloader.io only supports 10,000 records per month, so if you need to import more records, you’ll likely need to purchase an actual license. Licenses start at $99 a month per user for the professional plan and $299 for the enterprise plan. The professional plan gives you 100,000 records, and the enterprise plan gives you unlimited.
Much like the previous options, Dataloader.io has a UI where you can upload CSVs and map your data to the appropriate objects in Salesforce. In order to schedule imports with dataloader.io, you have to save an updated CSV with the exact same file name as your previous import.
Option 6: CRM Analytics Snowflake Connector
CRM Analytics is a native Salesforce product that provides a native connector for Snowflake where you can sync data to and from Snowflake. The product starts at $125 per monthly user if you want to access the data connectors. Connectors themselves can sync up to 100 million rows or 50 GB per object.
CRM offers three main connection types:
- Input connectors sync data directly to Salesforce.
- Output connectors move data out of Salesforce.
- Live connectors create a live connection to your source and query data directly in Salesforce.
In order to use CRM analytics first have to build recipes and workflows to map your data to the appropriate fields in Salesforce, and there’s no easy way to update, insert, or upsert fields. Unfortunately, the live connector is only practical for reporting since you can only build charts, dashboards, or tables with the data.
Push lead info from your warehouse into Salesforce CRM to enable executives to go after the right accounts
Push product data to enable account managers to know what actions are being taken in the app
Reduce churn by syncing health scores and churn events to Salesforce CRM for account managers to track
Why sync data from
Snowflake to Salesforce?
Salesforce is the single source of truth for your sales team, but it only shows one view of your customer. In reality, all of your product usage data, event data, and custom audiences live in Snowflake. To truly have a 360-degree view of your customer, your sales team needs access to this information. With the proper data in their hands, your sales team can remove the guesswork and start targeting your highest value leads.
About Snowflake
Snowflake is a managed cloud data warehouse that helps you consolidate and aggregate your data into a single, centralized platform to tackle analytics use cases. These workloads include data warehousing, data lakes, data engineering, application development, data sharing, and business intelligence.
Learn more about SnowflakeAbout Salesforce
Salesforce is a cloud computing service as a software (SaaS) company that specializes in customer relationship management (CRM). Salesforce's services allow businesses to use cloud technology to better connect with customers, partners and potential customers.
Learn more about SalesforceOther Snowflake Integrations
Other Salesforce integrations
Hightouch Playbooks: Best practices to leverage reverse ETL
Read more about Salesforce
Read more about Hightouch
What is Operational Analytics & Why You Should Use It
Operational Analytics shifts the focus from simply understanding data to taking action on it in the tools that run business processes. Instead of using dashboards to make decisions, Operational Analytics is focused on turning insights into action – automatically.
Read
This might be one of the greatest inventions for technical marketers since the advent of legacy CDPs back in 2015.
Austin Hay
Head of Marketing Technology
•
Ramp
Your data is always secure
SOC 2 Type 2 compliant
Your data stays secure, available, and confidential. To see our report, .
GDPR compliant
If you’re in the EU, your data is only processed on EU data centers.
HIPAA compliant
Healthcare companies like ThirtyMadison, Chapter Health, and Headway trust Hightouch.
CCPA compliant
To see our DPA (Data Processing Addendum), .
52%
increase in return on ad spend
20%
improvement in email engagement
60%
lift in customer acquisition