Share post

Share post

Share post

Blog: Technical Guides

Snowflake and Salesforce, how do I integrate thee? Let me count the ways

Snowflake and Salesforce, how do I integrate thee? Let me count the ways

Snowflake |

Salesforce

By: James Weakley

25 January 2021

-Updated December 2023-

A very common (and very reasonable) question I hear, is "how is Omnata different to Tableau/Einstein/Fivetran/Mulesoft/Workato/etc with respect to Salesforce?"

There are a few questions we have to answer along the way: 

1) Operational or Analytical? 
The solution varies depending on whether or not you are trying to understand or report on trends across large datasets, or whether you are looking to improve operational processes by extending the visibility and reach of the main Salesforce platform. 

2) Which Salesforce cloud? 
The solution varies depending on whether or not you are talking about Salesforce Marketing Cloud, or the main Salesforce Platform. The former was an acquired product with a fundamentally different backend to the latter, with a different set of products enabled for it. 

3) Which direction?
The solution varies depending on whether you are wanting to move Salesforce data out into Snowflake to form part of your data warehouse, or whether you are wanting to improve your sales/marketing/service efforts by incorporating more Snowflake datasets into the Salesforce ecosystem.

Let's work through these.

Operational or Analytical use cases?

Sometimes the line appears blurry, especially as both Tableau CRM and regular Tableau support embedding into Salesforce, and can each connect to both Snowflake and Salesforce to load data. But the experience is just that - "embedded", and far from a full operational capability. They cannot integrate properly at the record level with the on-platform objects, and the external data cannot be used in process automation tools, standard list views, from Apex code, etc.

So if you want a true analytics/visualisation platform, go with either of these two - let Salesforce argue internally over which one is best for you 😃

Which Salesforce cloud, and in which direction?

Salesforce Marketing Cloud is an acquired product (ExactTarget), with a fundamentally different database backend to regular Salesforce, with a different set of products that enable integration. The same is true for Pardot, which came across with ExactTarget.

In this section, "Salesforce" means the core CRM product, including "Service Cloud", "Sales Cloud", and the various "industry clouds" that have been built off it.

Salesforce CRM to Snowflake 

Previously, the go-to method to ingest data into Snowflake from Salesforce was via SaaS middleware tools. These include tools like Mulesoft, Informatica, Fivetran or Stitch.

This architecture transits data from one cloud, through the integration cloud, then to the destination. The draw-back of middleware solutions are significant:

  • Costly - as they must process large volumes of data

  • Data-security risk - since they handle all your data as a payload

  • Complex - since they are designed to transform data between many sources and targets

Today, there are more options than ever.

Salesforce and Snowflake announced an integration partnership revolving around Salesforce's re-badged CDP product, called Salesforce Data Cloud. It uses Snowflake native patterns like Data Sharing and the SQL API to perform bi-directional integration in near real-time.

However, it is important to understand that this native integration is only to the Salesforce Data Cloud, not Salesforce CRM Objects. There are actually two 'hops' to this integration from Salesforce CRM to Salesforce Data Cloud to Snowflake.
You can read more about this in this post.

New for 2023, Omnata Sync is a native integration app for Snowflake.
This app is built using the Snowflake Native App Framework, with a native Streamlit UI and connects directly to SaaS endpoints from within Snowflake's trusted boundary. Omnata Sync does bi-directional data syncs, and can pull Salesforce CRM objects directly into Snowflake. Omnata Sync simplifies integration architecture on Snowflake and delivers cost savings compared to integration middleware. You can learn more here.

Snowflake to Salesforce CRM

Once again, the go-to-method for moving data into Snowflake was via integration middleware like Mulesoft, Workato or a never generation 'Reverse-ETL' tool like Hightouch or Census. As above, these tools transit data from one cloud, through the integration cloud, then to the destination.

In 2023, if you want to access Snowflake datasets in Salesforce CRM, Omnata has two native app solutions; Omnata Sync and Connect.

Omnata Sync a native app for Snowflake and is a simple way to load data into Salesforce. Typically, you would do this for data that belongs on the Salesforce platform, like Accounts, Contacts and Leads, and exist in small enough quantities that your storage and API quota can handle them. A common example is pushing a single Lead score from Snowflake into an existing Lead object in Salesforce. 

Omnata Sync is found on the Snowflake Marketplace.

Omnata Connect, on the other hand, is a native app for Salesforce for large and real-time datasets that reside in Snowflake, but are consumed in Salesforce. Omnata Connect live-queries Snowflake, returning the results to Salesforce External Objects. Typically, you would do this for data that is generated by other systems, relevant to the customer, but does not belong on the Salesforce platform. Particularly when there is a large amount of it, or a near real time requirement. 

Omnata Connect can be found on the Salesforce AppExchange.

Marketing Cloud to Snowflake

If you're wanting to bring your Marketing Cloud data into Snowflake, Omnata Sync is a Snowflake Native App that connects directly to the SFMC API and and pull objects into Snowflake.

Omnata Sync is built using the Snowflake Native App framework, running entirely inside your account. It is different to SaaS integration products in that it doesn't transit data through another cloud between SFMC and Snowflake. Instead, it uses Snowflake's direct external access capabilities, paired with a native Streamlit UI.

Omnata Sync can pull your user journeys and data extensions into Snowflake for analytics, or for use in downstream applications.

Snowflake to Marketing Cloud

If you're wanting to bring Snowflake data into Marketing Cloud to enrich your marketing campaigns, replicating data is the best option. Marketing Cloud Data Extensions are used to store external data for segmentation, scoring, and other customer attributes. 

Data can be dropped via FTP which is reliable and has adequate throughput for most marketing related use cases. The API is used for automated actions like kicking off marketing campaigns. Data teams we spoke to simply provide the data and let the marketing team take over. They often build their own batch processes to drop data, however, this is not ideal. It creates an extra point of failure, maintenance and another exposure point of data and credentials. 

Omnata Sync can help here too. Omnata Sync supports two-way integrations between Snowflake and SFMC meaning you can push enriched customer records and segmentation data for use in customer comms journeys. Omnata Sync supports the SFTP with or without encryption for data outbound from Snowflake to SFMC, plus it automates Data Extension creation tasks using the Rest API.

Leaving Snowflake out for a second, if you want to better integrate Marketing Cloud with the rest of Salesforce (in either direction), check out the various options here.

And finally, for the visually inclined, here's a decision tree to summarise:

-Updated December 2023-

A very common (and very reasonable) question I hear, is "how is Omnata different to Tableau/Einstein/Fivetran/Mulesoft/Workato/etc with respect to Salesforce?"

There are a few questions we have to answer along the way: 

1) Operational or Analytical? 
The solution varies depending on whether or not you are trying to understand or report on trends across large datasets, or whether you are looking to improve operational processes by extending the visibility and reach of the main Salesforce platform. 

2) Which Salesforce cloud? 
The solution varies depending on whether or not you are talking about Salesforce Marketing Cloud, or the main Salesforce Platform. The former was an acquired product with a fundamentally different backend to the latter, with a different set of products enabled for it. 

3) Which direction?
The solution varies depending on whether you are wanting to move Salesforce data out into Snowflake to form part of your data warehouse, or whether you are wanting to improve your sales/marketing/service efforts by incorporating more Snowflake datasets into the Salesforce ecosystem.

Let's work through these.

Operational or Analytical use cases?

Sometimes the line appears blurry, especially as both Tableau CRM and regular Tableau support embedding into Salesforce, and can each connect to both Snowflake and Salesforce to load data. But the experience is just that - "embedded", and far from a full operational capability. They cannot integrate properly at the record level with the on-platform objects, and the external data cannot be used in process automation tools, standard list views, from Apex code, etc.

So if you want a true analytics/visualisation platform, go with either of these two - let Salesforce argue internally over which one is best for you 😃

Which Salesforce cloud, and in which direction?

Salesforce Marketing Cloud is an acquired product (ExactTarget), with a fundamentally different database backend to regular Salesforce, with a different set of products that enable integration. The same is true for Pardot, which came across with ExactTarget.

In this section, "Salesforce" means the core CRM product, including "Service Cloud", "Sales Cloud", and the various "industry clouds" that have been built off it.

Salesforce CRM to Snowflake 

Previously, the go-to method to ingest data into Snowflake from Salesforce was via SaaS middleware tools. These include tools like Mulesoft, Informatica, Fivetran or Stitch.

This architecture transits data from one cloud, through the integration cloud, then to the destination. The draw-back of middleware solutions are significant:

  • Costly - as they must process large volumes of data

  • Data-security risk - since they handle all your data as a payload

  • Complex - since they are designed to transform data between many sources and targets

Today, there are more options than ever.

Salesforce and Snowflake announced an integration partnership revolving around Salesforce's re-badged CDP product, called Salesforce Data Cloud. It uses Snowflake native patterns like Data Sharing and the SQL API to perform bi-directional integration in near real-time.

However, it is important to understand that this native integration is only to the Salesforce Data Cloud, not Salesforce CRM Objects. There are actually two 'hops' to this integration from Salesforce CRM to Salesforce Data Cloud to Snowflake.
You can read more about this in this post.

New for 2023, Omnata Sync is a native integration app for Snowflake.
This app is built using the Snowflake Native App Framework, with a native Streamlit UI and connects directly to SaaS endpoints from within Snowflake's trusted boundary. Omnata Sync does bi-directional data syncs, and can pull Salesforce CRM objects directly into Snowflake. Omnata Sync simplifies integration architecture on Snowflake and delivers cost savings compared to integration middleware. You can learn more here.

Snowflake to Salesforce CRM

Once again, the go-to-method for moving data into Snowflake was via integration middleware like Mulesoft, Workato or a never generation 'Reverse-ETL' tool like Hightouch or Census. As above, these tools transit data from one cloud, through the integration cloud, then to the destination.

In 2023, if you want to access Snowflake datasets in Salesforce CRM, Omnata has two native app solutions; Omnata Sync and Connect.

Omnata Sync a native app for Snowflake and is a simple way to load data into Salesforce. Typically, you would do this for data that belongs on the Salesforce platform, like Accounts, Contacts and Leads, and exist in small enough quantities that your storage and API quota can handle them. A common example is pushing a single Lead score from Snowflake into an existing Lead object in Salesforce. 

Omnata Sync is found on the Snowflake Marketplace.

Omnata Connect, on the other hand, is a native app for Salesforce for large and real-time datasets that reside in Snowflake, but are consumed in Salesforce. Omnata Connect live-queries Snowflake, returning the results to Salesforce External Objects. Typically, you would do this for data that is generated by other systems, relevant to the customer, but does not belong on the Salesforce platform. Particularly when there is a large amount of it, or a near real time requirement. 

Omnata Connect can be found on the Salesforce AppExchange.

Marketing Cloud to Snowflake

If you're wanting to bring your Marketing Cloud data into Snowflake, Omnata Sync is a Snowflake Native App that connects directly to the SFMC API and and pull objects into Snowflake.

Omnata Sync is built using the Snowflake Native App framework, running entirely inside your account. It is different to SaaS integration products in that it doesn't transit data through another cloud between SFMC and Snowflake. Instead, it uses Snowflake's direct external access capabilities, paired with a native Streamlit UI.

Omnata Sync can pull your user journeys and data extensions into Snowflake for analytics, or for use in downstream applications.

Snowflake to Marketing Cloud

If you're wanting to bring Snowflake data into Marketing Cloud to enrich your marketing campaigns, replicating data is the best option. Marketing Cloud Data Extensions are used to store external data for segmentation, scoring, and other customer attributes. 

Data can be dropped via FTP which is reliable and has adequate throughput for most marketing related use cases. The API is used for automated actions like kicking off marketing campaigns. Data teams we spoke to simply provide the data and let the marketing team take over. They often build their own batch processes to drop data, however, this is not ideal. It creates an extra point of failure, maintenance and another exposure point of data and credentials. 

Omnata Sync can help here too. Omnata Sync supports two-way integrations between Snowflake and SFMC meaning you can push enriched customer records and segmentation data for use in customer comms journeys. Omnata Sync supports the SFTP with or without encryption for data outbound from Snowflake to SFMC, plus it automates Data Extension creation tasks using the Rest API.

Leaving Snowflake out for a second, if you want to better integrate Marketing Cloud with the rest of Salesforce (in either direction), check out the various options here.

And finally, for the visually inclined, here's a decision tree to summarise:

-Updated December 2023-

A very common (and very reasonable) question I hear, is "how is Omnata different to Tableau/Einstein/Fivetran/Mulesoft/Workato/etc with respect to Salesforce?"

There are a few questions we have to answer along the way: 

1) Operational or Analytical? 
The solution varies depending on whether or not you are trying to understand or report on trends across large datasets, or whether you are looking to improve operational processes by extending the visibility and reach of the main Salesforce platform. 

2) Which Salesforce cloud? 
The solution varies depending on whether or not you are talking about Salesforce Marketing Cloud, or the main Salesforce Platform. The former was an acquired product with a fundamentally different backend to the latter, with a different set of products enabled for it. 

3) Which direction?
The solution varies depending on whether you are wanting to move Salesforce data out into Snowflake to form part of your data warehouse, or whether you are wanting to improve your sales/marketing/service efforts by incorporating more Snowflake datasets into the Salesforce ecosystem.

Let's work through these.

Operational or Analytical use cases?

Sometimes the line appears blurry, especially as both Tableau CRM and regular Tableau support embedding into Salesforce, and can each connect to both Snowflake and Salesforce to load data. But the experience is just that - "embedded", and far from a full operational capability. They cannot integrate properly at the record level with the on-platform objects, and the external data cannot be used in process automation tools, standard list views, from Apex code, etc.

So if you want a true analytics/visualisation platform, go with either of these two - let Salesforce argue internally over which one is best for you 😃

Which Salesforce cloud, and in which direction?

Salesforce Marketing Cloud is an acquired product (ExactTarget), with a fundamentally different database backend to regular Salesforce, with a different set of products that enable integration. The same is true for Pardot, which came across with ExactTarget.

In this section, "Salesforce" means the core CRM product, including "Service Cloud", "Sales Cloud", and the various "industry clouds" that have been built off it.

Salesforce CRM to Snowflake 

Previously, the go-to method to ingest data into Snowflake from Salesforce was via SaaS middleware tools. These include tools like Mulesoft, Informatica, Fivetran or Stitch.

This architecture transits data from one cloud, through the integration cloud, then to the destination. The draw-back of middleware solutions are significant:

  • Costly - as they must process large volumes of data

  • Data-security risk - since they handle all your data as a payload

  • Complex - since they are designed to transform data between many sources and targets

Today, there are more options than ever.

Salesforce and Snowflake announced an integration partnership revolving around Salesforce's re-badged CDP product, called Salesforce Data Cloud. It uses Snowflake native patterns like Data Sharing and the SQL API to perform bi-directional integration in near real-time.

However, it is important to understand that this native integration is only to the Salesforce Data Cloud, not Salesforce CRM Objects. There are actually two 'hops' to this integration from Salesforce CRM to Salesforce Data Cloud to Snowflake.
You can read more about this in this post.

New for 2023, Omnata Sync is a native integration app for Snowflake.
This app is built using the Snowflake Native App Framework, with a native Streamlit UI and connects directly to SaaS endpoints from within Snowflake's trusted boundary. Omnata Sync does bi-directional data syncs, and can pull Salesforce CRM objects directly into Snowflake. Omnata Sync simplifies integration architecture on Snowflake and delivers cost savings compared to integration middleware. You can learn more here.

Snowflake to Salesforce CRM

Once again, the go-to-method for moving data into Snowflake was via integration middleware like Mulesoft, Workato or a never generation 'Reverse-ETL' tool like Hightouch or Census. As above, these tools transit data from one cloud, through the integration cloud, then to the destination.

In 2023, if you want to access Snowflake datasets in Salesforce CRM, Omnata has two native app solutions; Omnata Sync and Connect.

Omnata Sync a native app for Snowflake and is a simple way to load data into Salesforce. Typically, you would do this for data that belongs on the Salesforce platform, like Accounts, Contacts and Leads, and exist in small enough quantities that your storage and API quota can handle them. A common example is pushing a single Lead score from Snowflake into an existing Lead object in Salesforce. 

Omnata Sync is found on the Snowflake Marketplace.

Omnata Connect, on the other hand, is a native app for Salesforce for large and real-time datasets that reside in Snowflake, but are consumed in Salesforce. Omnata Connect live-queries Snowflake, returning the results to Salesforce External Objects. Typically, you would do this for data that is generated by other systems, relevant to the customer, but does not belong on the Salesforce platform. Particularly when there is a large amount of it, or a near real time requirement. 

Omnata Connect can be found on the Salesforce AppExchange.

Marketing Cloud to Snowflake

If you're wanting to bring your Marketing Cloud data into Snowflake, Omnata Sync is a Snowflake Native App that connects directly to the SFMC API and and pull objects into Snowflake.

Omnata Sync is built using the Snowflake Native App framework, running entirely inside your account. It is different to SaaS integration products in that it doesn't transit data through another cloud between SFMC and Snowflake. Instead, it uses Snowflake's direct external access capabilities, paired with a native Streamlit UI.

Omnata Sync can pull your user journeys and data extensions into Snowflake for analytics, or for use in downstream applications.

Snowflake to Marketing Cloud

If you're wanting to bring Snowflake data into Marketing Cloud to enrich your marketing campaigns, replicating data is the best option. Marketing Cloud Data Extensions are used to store external data for segmentation, scoring, and other customer attributes. 

Data can be dropped via FTP which is reliable and has adequate throughput for most marketing related use cases. The API is used for automated actions like kicking off marketing campaigns. Data teams we spoke to simply provide the data and let the marketing team take over. They often build their own batch processes to drop data, however, this is not ideal. It creates an extra point of failure, maintenance and another exposure point of data and credentials. 

Omnata Sync can help here too. Omnata Sync supports two-way integrations between Snowflake and SFMC meaning you can push enriched customer records and segmentation data for use in customer comms journeys. Omnata Sync supports the SFTP with or without encryption for data outbound from Snowflake to SFMC, plus it automates Data Extension creation tasks using the Rest API.

Leaving Snowflake out for a second, if you want to better integrate Marketing Cloud with the rest of Salesforce (in either direction), check out the various options here.

And finally, for the visually inclined, here's a decision tree to summarise:

subscribe

Deliver the goods to your inbox

subscribe

Deliver the goods to your inbox

subscribe

Deliver the goods to your inbox