Snowflake Integration

Snowflake is a powerful cloud data warehouse that companies use to centralize their business metrics. However, Snowflake requires users to know SQL in order to query it, rendering it difficult to use for revenue teams looking for important insights to drive their upsell and expansion strategies. Correlated makes it possible to ingest data from Snowflake and combine it with data from other business applications for use in Signals, Workflows, and account and user analysis within the Correlated product.

You can skip ahead to the section that is most relevant to you based on your setup:
Connecting Snowflake to Correlated
Connecting Tables to Correlated
Setting up a Data Share in Snowflake

Connecting Snowflake to Correlated

  1. Log into the Correlated application
  2. Click on Integrations in the left navigation
  3. Go to your Snowflake integration card and click Connect
  1. You'll be prompted to fill out your Region and Snowflake Account ID. Click Next to continue
  1. Choose the type of connection you'd like to use. We recommend connecting Direct rather than using a Datashare if possible.

For more information on how to setup a datashare, see below.

  1. Finally, input your Instance URL, Snowflake Username, Password, and Database name and click Test Connection. When the test is confirmed, click Connect to Snowflake.

Configuring Your Integration

  1. Once Snowflake is successfully connected, you can click Edit on the Snowflake integration to link your data to Correlated
  1. You'll see three tabs at the top of the page: Connection, Connected Tables, and Dimensions
  • Connection will summarize what dataset is connected, the last date/time it was updated, and the available tables
  • Connected Tables is where you can add in the specific tables you'd like to connect to Correlated. This step is required because you need to tell Correlated how to interpret your table schema. Note: you can always come back and add more tables in later on
  • Dimensions allows you to view all of the Dimensions that Correlated has access to through this integration

Connecting Tables to Correlated

Now that you can see the available tables from Snowflake, it's time to connect tables to Correlated.

  1. Navigate to the Connected Tables tab
  2. Click Connect Table
  3. Select the Table you are trying to connect
  4. Select a table type (Account or User).
  5. In the User ID dropdown, select the User ID that uniquely identifies a user. In the Account ID dropdown, select the Account ID that uniquely identifies an account. You must use the same Account ID and User ID as you do in other data sources so that you have one single, global identifier. Failing to do so will result in duplicate Accounts and Users.
  6. The timestamp column is only needed if you are providing a "versioned" data source. Versioned data sources are updated incrementally, whereas un-versioned data sources are only updated daily. Please note that this column MUST be when that row was written into Snowflake or populated in a view. This cannot be another timestamp from a downstream system.
  7. Finally, click Add Table and you will see it show up in the Connected Tables tab

Adding Columns into Correlated as Dimensions

Any columns from your connected tables can be added as dimensions to Correlated. This means you'll be able to use these dimensions to filter Account and Users and build Signals.

  1. In order to add dimensions, simply navigate to the Connected Tables tab and click the gear icon next to the table you want to import
  2. You'll see a modal that lists all of your available columns. Select the columns you want to import
  3. You can either immediately add the dimensions, or choose to customize the dimension names and descriptions
  4. Once you've added a column as a dimension, it will no longer be available as an option in the modal
  5. Navigate over to the Dimensions tab to validate that your dimensions have been created

Setting up a Data Share in Snowflake

You must have ACCOUNTADMIN permissions. Our connection to Snowflake requires you to create a shared dataset, which requires ACCOUNTADMIN permissions. If you don't have access to Snowflake in this capacity, check in with your Engineering or Data team. They are typically the ones with access.

📘

Shared Data Sets only offer READ access!

Data shared this way is shared in read-only mode, so no modifications can be made to your data. And, it will only be accessible by Correlated internal systems.

  1. Login and select the ACCOUNTADMIN role

First, log into your Snowflake account that contains the data you’ll share. You’ll need to be an account admin for your Snowflake instance in order to share datasets with Correlated. Once you’ve logged in, ensure you’ve selected the ACCOUNTADMIN role. You can do this by clicking on your login name in the top right of the console, selecting ‘Switch Role’, and then selecting ACCOUNTADMIN.

  1. Create a Share

Now in the top left of the screen, click on the “Shares” icon to open up the Secure Shares panel. Again in the top left, click on the “outbound” tab, and then click the “Create” button next to the Inbound/Outbound tabs.

In the modal that opens, enter a name for your shared data, then select the dataset and tables you’d like to share. You can share as many tables as you’d like. Then, click create.

In the next panel, you can preview the data being shared to ensure it’s what you expect. Once you’ve reviewed, click the ‘Next: Add Consumers’ button in the bottom right to add Correlated to the list of consumers for your Share.

  1. Share your data with Correlated

Once you’ve created your Share, you’ll need to add the Correlated Snowflake Warehouse for your AWS or GCP region as a Consumer to your Share.

In this panel, select the “Full” account type, and then enter Correlated's Snowflake Account ID in the account name field. The account ID you enter here must correspond with the AWS or GCP region you’re in - see the table below to find the right account ID for your region.

Region

Account ID

US East (N. Virginia)

MEA96016

US East (Ohio)

KP13913

US West (Oregon)

VJA48926

GCP US-Central-1

Coming Soon

Once you’ve entered the account id, click the Add button. On the next screen, you’ll see a message indicating whether the Share was created successfully. At this point, you can click Done and follow the steps below under "Getting Started" to pipe data into Correlated.

You can review the Share, modify it, or delete it later if you’re no longer using it by revisiting the Shares tab.