Skip to main content
Connect Snowflake

Automatically populate Rally and stay updated by syncing contacts and data directly from Snowflake into Rally.

Sophie avatar
Written by Sophie
Updated over a week ago

💡 Snowflake is an enterprise feature. Contact your Rally Sales Rep to enable!

Using Rally's Snowflake integration can provide significant value to your team and broader organization by seamlessly connecting, syncing, and updating data from Snowflake to Rally. Automatic data syncing every 24 hours reduces manual efforts and ensures data consistency. By configuring sync settings and Property mappings, you can tailor the integration to meet your specific needs. Additionally, the ability to manage the integration settings, start manual syncs, pause/resume syncing, and disconnect the integration provides flexibility and control over the data flow between Rally and Salesforce, enhancing efficiency and productivity.

How does the Snowflake Integration work?

Rally connects to your Snowflake instance through a standard OAuth connection to a Snowflake user.

After setting up a connection with Snowflake, you can set configuration settings and create Property mappings between Rally Properties and Snowflake Properties. Each of these Properties can be configured per Property to sync data from Snowflake → Rally.

Once your Snowflake account has been connected and the integration has been configured, Rally will automatically sync data between Rally and Snowflake every 24 hours. You can pause the automatic syncs, delete the connection, or start a manual sync at any time by managing your Snowflake integration in Rally > Settings > Connected Apps.

When syncing, Rally uses the email address of the person to map data between Snowflake and Rally. If an email address from Snowflake is not detected in Rally, Rally will either ignore or create a new person in Rally depending on how you configured the integration.

Required User Permissions

🚨 Before configuring your Snowflake Integration with Rally, ensure you have the correct user permissions in both accounts.

Rally User Permissions

In Rally, you’ll need to be an Ops Manager, Developer, or Super Admin role type.

Snowflake User Permissions

Rally connects to your Snowflake instance through a standard OAuth connection via an individual user account. The Snowflake user will need to have at least the Snowflake user role of "Account Administrator" to set up new OAuth integrations.


Set Up the Snowflake Integration

After you have the correct User Permissions, you can set up your Snowflake integration with Rally.

1. Connect Snowflake to Rally

  1. In the top right corner of Rally, select your user icon and select 'Settings'.

  2. From the sidebar, select 'Connected Apps'.

  3. To the right of Snowflake, select 'Connect' and follow the steps below.

There are 3 steps to connecting Snowflake to Rally:

  1. Create an OAuth integration for Rally.

  2. Create a Role for the Rally integration to use.

  3. Configure the account URL, client ID, and client secret.

First, log into Snowflake and run the provided query to create an OAuth integration for Rally.

CREATE OR REPLACE SECURITY INTEGRATION RALLYUXR type = oauth enabled = true oauth_client = custom oauth_client_type = 'PUBLIC' oauth_redirect_uri = 'https://app.rallyuxr.com/auth/snowflake' oauth_allow_non_tls_redirect_uri = true oauth_issue_refresh_tokens = true oauth_refresh_token_validity = 7776000;

Second, you must create a Snowflake Role for the Rally OAuth integration to use using the provided query. When running this command, make sure to enter the warehouse, database, schema, and table that Rally can read from.

CREATE ROLE IF NOT EXISTS RALLY_ROLE; 
GRANT ROLE RALLY_ROLE TO USER <current-user>;

--Grants read_only access to a single table
GRANT USAGE ON WAREHOUSE test_warehouse TO ROLE RALLY_ROLE;
GRANT USAGE ON DATABASE test_db TO ROLE RALLY_ROLE;
GRANT USAGE ON SCHEMA test_db.test_schema TO ROLE RALLY_ROLE;
GRANT SELECT ON TABLE test_db.test_schema.test_table TO ROLE RALLY_ROLE;

Finally, you must retrieve the Account URL, Client ID, and Client Secret, enter them into Rally, and click "Connect".

Query for retrieving the Account URL:

SELECT CONCAT('https://', t.value:host::varchar) as account_url FROM TABLE(flatten(input => parse_json(SYSTEM$ALLOWLIST()))) as t WHERE t.value:type::varchar = 'SNOWFLAKE_DEPLOYMENT';

Query for retrieving the Client ID & Client Secret:

select system$show_oauth_client_secrets('RALLYUXR');

2. Configure the sync

After Snowflake is connected to Rally, carefully configure the following sync settings.

  • Create new people in Rally during sync.

    • When selected, all Snowflake contacts that don't exist in Rally will be created in Rally. Rally uses the record's email to check if a contact exists.

  • Delete people in Rally if deleted in Snowflake.

    • When selected, any contacts deleted in Snowflake will automatically be deleted in Rally during the next daily sync.

As noted before, Rally will check the person's email address when determining whether to create a new contact or delete a contact in Rally.

🚨 The sync preference to automatically "delete people in Rally if deleted in Snowflake" is hidden by default and can be added to your workspace by contacting Rally. This is hidden by default to avoid issues with active or historical Participants accidentally being deleted from Rally.

3. Map Fields Between Rally and Snowflake

Next, map Snowflake fields to Properties in Rally and select the sync direction.

💡 The Identifier Field is a unique string field used to map a Salesforce contact to a person in Rally. Only Unique Properties in Rally (such as email or username) can be used as an identifier field.

Property Mapping

Rally currently supports mapping the following field types from Snowflake to Rally:

Snowflake Field Type

Rally Field Type

array

multi-select*

boolean

boolean

number/int/double/float/decimal

number

string

text

data, datetime

date

We only map up to 100 unique Property options per multi-select Property.

Property Level Sync Direction

Because Rally has read-only access to your Snowflake instance and cannot update data in Snowflake, only one sync direction is supported: Snowflake → Rally.

Snowflake to Rally

This will sync data from Snowflake to Rally using the Contact or Lead’s email address to find people in Rally. The sync will use the value from Snowflake to set the value in Rally. If a value for this Property already exists in Rally, it will be overwritten by the value in Snowflake. If a value was deleted or removed in Snowflake, it will be removed in Rally.


Manage the Snowflake Integration

  1. In the top right corner of Rally, select your user icon and select 'Settings'.

  2. From the sidebar, select 'Connected Apps'.

  3. To the right of Snowflake, select 'Manage'.

Update your sync configurations at any time, and view a table of all previous syncs with a link to which people had data updated during the sync. You can also take the following actions:

Start Manual Sync

This will kick off a sync immediately, rather than waiting for the next sync interval.

Pause/Resume

This will pause your data from syncing between Rally and Salesforce until you select 'Resume'.

Disconnect

This will disconnect Rally and Snowflake and prevent any more syncs from occurring.

Did this answer your question?