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
Navigate to the Integration Page
Open TheyDo’s integration page.
Enter the required Information
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
Public Key Generation
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
Go to Snowflake → Select Query Data
Paste the provided SQL query into the editor.
Run the query.
Once you receive a success message, return to the integration setup page.
Check the box that says “I have ran ALTER USER command in Snowflake”
Click “Test & Authorize” to finalize the integration.
Creating metrics from Snowflake
Now that your instance is connected, you can start creating metrics:
Go to Metrics in TheyDo or directly from your journey “Add a metric”
Choose Snowflake as the data source.
Select the connected instance (e.g., My Instance).
Choose the type of metric (e.g., Other).
Provide a name (e.g., Amount of Incoming Calls).
Enter your SQL query using the connected Snowflake table.
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 type | Required columns |
---|---|
CSAT | date, positives, negatives, respondents |
CES | date, respondents , value |
NPS | date, detractors, promoters, respondents |
RATIO | date, numerator, denominator |
OTHER | date, 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: DATEMetric 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.
Example of a Snowflake table schema configured for CSAT data, showing correct data types and column naming.
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.253 | 99.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.