/   ...
/   Snowflake integration
/   Snowflake integration

Snowflake integration

This guide walks you through setting up a new Snowflake integration to start creating metrics from your Snowflake data.

Pre-integration checklist

Before beginning the setup:

  • You have validated the metrics you want to display within your journeys and have created with your team a specific Snowflake service account (or any account that works for you) including a table following our requirements for metrics.

  • If you’re the one setting up the integration, please ensure you’ve been granted access to the Snowflake database with at least USAGE privileges.

  • We use “key pair authentication” to connect as recommended by Snowflake. You have checked that this method is compliant with your company.

  • Our IP addresses have been whitelisted

  • Keep Snowflake open or have someone from your data team available to assist during set up.

Setting up the integration

  1. Navigate to the Integration Page

    1. Open TheyDo’s integration page.

  2. Enter the required Information

    1. Fill in the following fields (your data team can help retrieve these from Snowflake):

      • - Instance Name: e.g., My Instance

      • - Host

      • - Database Name

      • - Warehouse Name

      • - Account

      • - Username

  3. Public Key Generation

    1. The system uses key pair authentication to connect to Snowflake. We chose this method as it is promoted by Snowflake as most secure. Once all fields are completed, a public key will be generated for authentication.

Two new fields will appear. Use the "copy icon” from the field “Run this command in Snowflake” and move to Snowflake.

Authorizing in Snowflake

Run the Authorization Query in Snowflake

  1. Go to Snowflake → Select Query Data

  2. Paste the provided SQL query into the editor.

  3. Run the query.

  4. Once you receive a success message, return to the integration setup page.

  5. Check the box that says “I have ran ALTER USER command in Snowflake”

  6. Click “Test & Authorize” to finalize the integration.

Creating metrics from Snowflake

Now that your instance is connected, you can start creating metrics:

  1. Go to Metrics in TheyDo or directly from your journey “Add a metric”

  2. Choose Snowflake as the data source.

  3. Select the connected instance (e.g., My Instance).

  4. Choose the type of metric (e.g., Other).

  5. Provide a name (e.g., Amount of Incoming Calls).

  6. Enter your SQL query using the connected Snowflake table.

  7. Save and run the metric.

You’re all set!

Your Snowflake instance is now integrated. Start adding metrics that will show live data from your warehouse!

How to prepare your data in Snowflake?

To ensure seamless data usage within TheyDo, it is important that data fetched and imported from Snowflake is formatted correctly. Each table queried must return specific values that correspond to the type of metric being analyzed. Below are the requirements for each metric type.

Metric typeRequired columns
CSATdate, positives, negatives, respondents
CESdate, respondents , value
NPSdate, detractors, promoters, respondents
RATIOdate, numerator, denominator
OTHERdate, value

Data types for integration

To ensure the integration works as expected and your data is processed accurately, you must use the correct data types for each column in your Snowflake tables. Below is a list of the supported data types:

  • Date columns
    Required data type: DATE

  • Metric Value columns
    Required data type: INTEGER | FLOAT | NUMERIC

All other columns that represent metric values (such as positives, negatives, respondents, value, detractors, promoters, numerator, denominator) must use one of the supported Snowflake numeric data types.

Aliasing columns for compatibility

The original column names in your Snowflake tables do not need to match the column names expected by TheyDo. You can use SQL aliasing to map your table columns to the required fields. For example, for a metric of type NPS, if your table has a column for detractors called det you can alias it in your query as follows:

SELECT det AS detractors, ... FROM project_id.dataset_id.your_table_name

This flexibility allows you to maintain your original database schema while ensuring compatibility with the TheyDo integration.

image1

Example of a Snowflake table schema configured for CSAT data, showing correct data types and column naming.

snowflake-data

Whitelisting our IP addresses

In order to allow a secure connection between TheyDo and Snowflake, your data team needs to whitelist the following IP addresses.

In the US (us-west-2)In Europe (eu-west-1)
35.84.98.216 54.195.123.180
54.244.86.126 108.128.79.6
35.80.222.25399.80.158.204

Questions on storage/security

Most of the information regarding security and compliance is hosted on our trust portal

We store partial data from the snowflake in order to display metrics

  • Concerning retention policy, we currently store data up 60 days.

  • Storage is on Azure, EU.

  • We do encrypt data at rest8. Last 90 days we are 99.992% available. 

Availability can be checked https://status.theydo.com/

Any questions, concerns? 

Please reach out to us via your CSM.

Continue reading: