---
schema_version: "1"
id: c5300e9fb77c41e24032c34c6df2dac7cf725ea9cfe9b692352065f041b6ae4f
title: Create a Live Connection to Snowflake
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/analytics/264-0-0/bi_explorer_direct_data_snowflake_create_connection.md
canonical_url: https://help.salesforce.com/s/articleView?id=analytics.bi_explorer_direct_data_snowflake_create_connection.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 7603d0349419900b1c4d25a31779ea6db9a7fb49e37f58d13c125593c7df8523
description: Create a live connection to Snowflake warehouse to explore your data stored there.
products:
  - CRM Analytics
  - Cross Cloud
release: "264"
---
# Create a Live Connection to Snowflake

Create a live connection to Snowflake warehouse to explore your data stored there.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d49118e36">User Permissions Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e36 ">To create live connections to Snowflake:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e36 ">Enable CRM Analytics Direct Data for external data sources</td>

          </tr>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e36 ">To explore data directly in Snowflake:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e36 ">Explore External Data Directly</td>

          </tr>
        </tbody>
      </table>

Connect to Snowflake with OAuth

To use the CRM Analytics Direct Data for Snowflake with an OAuth connection, configure Snowflake, Salesforce, CRM Analytics, and an external OAuth authorization server like Okta. These high-level steps help you navigate the process, but contact your Network Security or IT department for help with configuration consistent with your organization’s security requirements.

1. Configure Snowflake and your selected external authorization server. Here’s [Snowflake's help](https://docs.snowflake.com/en/user-guide/oauth-intro.html), with detailed instructions for connecting to services like Okta and Microsoft Azure AD.
2. With the authorization server configured, follow the steps under _Define an Authentication Provider_ in Your Salesforce Org from [Salesforce Help](https://help.salesforce.com/s/articleView?id=xcloud.sso_provider_openid_connect.htm&type=5&language=en_US).
3. With the authentication provider added to Salesforce, [define a named credential](https://help.salesforce.com/s/articleView?id=xcloud.named_credentials_about.htm&type=5&language=en_US) in Salesforce. Select the OAuth 2.0 authentication protocol and Per User identity type.
4. Add the live Snowflake connection. For **Authentication Type** setting, enter UserBasedOAuth.
    
    ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-analytics-bi-264-0-0-production-enus/ec791473-f5b4-4f64-a656-9104f455d966/images/icon_note.png)
    
    Note OAuth 2.0 is the industry-standard protocol for authorization, however we are unable to test every possible combination of services. Log a case with Salesforce Customer Support if your service cannot connect with the Authentication Provider system.

Create the Live Connection

1. Authenticate your account with Snowflake.
    1. Click **Settings** from your user account.
        
        ![Analytics user settings](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-analytics-bi-264-0-0-production-enus/ec791473-f5b4-4f64-a656-9104f455d966/bi/images/bi/bi_explorer_direct_data_snowflake_create_connection.png)
    2. Click **Authentication Settings for External System**, and edit your account.
    3. Confirm the account settings and click **Save**.
2. In CRM Analytics, click the gear icon (![Gear icon](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-analytics-bi-264-0-0-production-enus/ec791473-f5b4-4f64-a656-9104f455d966/bi/images/bi/bi_integrate_dataflowmanager_gear_icon.png)) and select **Data Manager**.
3. In the data manager, click the **Connect** tab.
4. Click **Connect to Data**.
5. Click **Live Connections**.
    
    ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-analytics-bi-264-0-0-production-enus/ec791473-f5b4-4f64-a656-9104f455d966/images/icon_note.png)
    
    Note If you don’t see the Live Connections tab, you need to [Enable Direct Data in CRM Analytics](https://help.salesforce.com/articleView?id=analytics.bi_setup_direct_data_external_sources.htm&type=5&language=en_US) first.
6. Click **Add Connection**.
7. Click **Snowflake Direct Connector** and enter its settings, as described in the Connection Settings section.
8. When done, click **Save** or **Save and Create Dataset**.

Create Live Datasets for a Snowflake Source Table

After creating the live connection, create a live dataset that lets users explore Snowflake tables or views available with the connection.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-analytics-bi-264-0-0-production-enus/ec791473-f5b4-4f64-a656-9104f455d966/images/icon_note.png)

Note Live datasets are similar to CRM Analytics datasets, except that the data remains in an external data source.

After creating the live connection, enable a live dataset for the connection.

1. In the data manager, click the **Data** tab.
2. On the Live Datasets tab, click **Create Dataset**. Select the connection and enable a Snowflake source table that is available with the connection.
3. Name the live dataset and assign it to a CRM Analytics app. Use the app to control which Salesforce users, roles, and groups have access to explore Snowflake data with the connection.
4. When done, click **Create Live Dataset**.

To begin exploring, click the live dataset from the Datasets tab in CRM Analytics Studio.

Snowflake Live Connections Settings

All settings require a value, unless otherwise indicated.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:33.33333333333333%">
          <col style="width:66.66666666666666%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d49118e259">Setting</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d49118e262">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e259 ">
              <samp class="parmname">Connection Name</samp>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e262 ">
              <p style="margin-bottom:0;">Required. Identifies the live connection. Use a convention that lets you easily distinguish
                between different connections.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e259 ">
              <samp class="parmname">Developer Name</samp>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e262 ">
              <p style="margin-bottom:0;">Required. The API name for the connection. This name must be unique, begin with a letter, and
                can only contain underscores and alphanumeric characters. This name can’t include spaces,
                end with an underscore, or contain two consecutive underscores. You can’t change the
                developer name after you create the connection.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e259 ">
              <samp class="parmname">Description</samp>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e262 ">Required. The description of the connection for internal use.</td>

          </tr>
          <tr class="">
            <td data-label="Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e259 "><samp class="parmname">Authentication Type</samp></td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e262 ">
              <p>Required. The authentication type. Valid values include
                <code>UserBasedOAuth</code>, <code>Password</code>, or
                <code>PrivateKey</code>.
              </p>
              <ul>
                <li>If you use <code>UserBasedOAuth</code>, enter a value in the
                  <strong class="uicontrol">Named Credential</strong> field.
                </li>

                <li>If you use <code>Password</code>, enter a value in the
                  <strong class="uicontrol">Username</strong> and <strong class="uicontrol">Password</strong>
                  fields.
                </li>

                <li>If you use <code>PrivateKey</code>, enter a value in the
                  <strong class="uicontrol">Username</strong>, <strong class="uicontrol">Private Key</strong> and
                  <strong class="uicontrol">Private Key Passphrase</strong> fields
                </li>

              </ul>
            </td>

          </tr>
          <tr class="">
            <td data-label="Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e259 "><samp class="parmname">Named Credential</samp></td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e262 ">Required for user-base OAuth authentication. The name field from a named
              credential stored in your Salesforce org. See <a href="https://help.salesforce.com/s/articleView?id=xcloud.named_credentials_about.htm&amp;type=5&amp;language=en_US" target="_blank">Named Credentials</a>. </td>

          </tr>
          <tr class="">
            <td data-label="Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e259 ">
              <samp class="parmname">Username</samp>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e262 ">
              <p style="margin-bottom:0;">Required for password and private key authentication. The Snowflake username to
                connect to the schema.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e259 ">
              <samp class="parmname">Password</samp>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e262 ">
              <p style="margin-bottom:0;">Required for password authentication. The password for the Snowflake user
                specified in Username.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e259 ">
              <samp class="parmname">Account</samp>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e262 ">
              <p style="margin-bottom:0;">Required. The name of your Snowflake account.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e259 ">
              <samp class="parmname">Warehouse</samp>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e262 ">
              <p style="margin-bottom:0;">Required. The Snowflake warehouse name. This setting is case-sensitive, so enter the value exactly as it appears in Snowflake.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e259 ">
              <samp class="parmname">Role</samp>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e262 ">
              <p>Optional. The Snowflake role assigned to the user you’re using to connect.</p>
              <p style="margin-bottom:0;">To keep
                data secure, we recommend connecting with a Snowflake user granted a read-only
                role.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e259 ">
              <samp class="parmname">Database</samp>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e262 ">
              <p style="margin-bottom:0;">Required. The Snowflake database name. This setting is case-sensitive, so enter the value exactly as it appears in Snowflake.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e259 ">
              <samp class="parmname">Schema</samp>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e262 ">
              <p>Required. The Snowflake schema whose data you want to explore with the connection. You can
                either add all the tables you want to explore to a single Snowflake schema or create a
                separate connection for each schema.</p>
              <p style="margin-bottom:0;">To keep data secure, we recommend creating a
                separate Snowflake schema specifically for Direct Data for Snowflake.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e259 ">
              <samp class="parmname">Private Key</samp>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e262 ">
              <p style="margin-bottom:0;">Required for private key authentication. The private key associated with your
                Snowflake account.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Setting" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e259 ">
              <samp class="parmname">Private Key Passphrase</samp>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d49118e262 ">
              <p style="margin-bottom:0;">Required for private key authentication. The passphrase associated with your
                specified private key.</p>
            </td>

          </tr>
        </tbody>
      </table>

#### See Also

- [Snowflake Connection](https://help.salesforce.com/s/articleView?id=analytics.bi_integrate_connectors_snowflake_settings.htm&type=5&language=en_US)