VOOZH about

URL: https://www.cdata.com/kb/tech/snowflake-cloud-salesforce-connect.rst

⇱ Edit and Search External Snowflake Objects in Salesforce Connect


Edit and Search External Snowflake Objects in Salesforce Connect

πŸ‘ Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Use CData Connect AI to securely provide OData feeds of Snowflake data to smart devices and cloud-based applications. Use the CData Connect and Salesforce Connect to create Snowflake Data objects that you can access from apps and the dashboard.

CData Connect AI, enables you to access Snowflake data from cloud-based applications like the Salesforce console and mobile applications like the Salesforce Mobile App. In this article, you will use CData Connect AI and Salesforce Connect to access external Snowflake objects alongside standard Salesforce objects.

About Snowflake Data Integration

CData simplifies access and integration of live Snowflake data. Our customers leverage CData connectivity to:

  • Reads and write Snowflake data quickly and efficiently.
  • Dynamically obtain metadata for the specified Warehouse, Database, and Schema.
  • Authenticate in a variety of ways, including OAuth, OKTA, Azure AD, Azure Managed Service Identity, PingFederate, private key, and more.

Many CData users use CData solutions to access Snowflake from their preferred tools and applications, and replicate data from their disparate systems into Snowflake for comprehensive warehousing and analytics.

For more information on integrating Snowflake with CData solutions, refer to our blog: https://www.cdata.com/blog/snowflake-integrations.


Getting Started


Connect to Snowflake from Salesforce

To work with live Snowflake data in Salesforce Connect, we need to connect to Snowflake from Connect AI, provide user access to the connection, and create a Workspace for the Snowflake data.

Connect to Snowflake from Connect AI

CData Connect AI uses a straightforward, point-and-click interface to connect to data sources.

  1. Log into Connect AI, click Sources, and then click Add Connection
  2. πŸ‘ Adding a Connection
  3. Select "Snowflake" from the Add Connection panel
  4. πŸ‘ Selecting a data source
  5. Enter the necessary authentication properties to connect to Snowflake.

    To connect to Snowflake:

    1. Set User and Password to your Snowflake credentials and set the AuthScheme property to PASSWORD or OKTA.
    2. Set URL to the URL of the Snowflake instance (i.e.: https://myaccount.snowflakecomputing.com).
    3. Set Warehouse to the Snowflake warehouse.
    4. (Optional) Set Account to your Snowflake account if your URL does not conform to the format above.
    5. (Optional) Set Database and Schema to restrict the tables and views exposed.
    6. (Optional) If MFA is enabled on your Snowflake account (via Duo Security), set MFACode to the passcode generated by your Duo authenticator app.

    See the Getting Started guide in the CData driver documentation for more information.

    πŸ‘ Configuring a connection (Salesforce is shown)
  6. Click Save & Test
  7. Navigate to the Permissions tab in the Add Snowflake Connection page and update the User-based permissions. πŸ‘ Updating permissions

Add a Personal Access Token

When connecting to Connect AI through the REST API, the OData API, or the Virtual SQL Server, a Personal Access Token (PAT) is used to authenticate the connection to Connect AI. It is best practice to create a separate PAT for each service to maintain granularity of access.

  1. Click on the Gear icon () at the top right of the Connect AI app to open the settings page.
  2. On the Settings page, go to the Access Tokens section and click Create PAT.
  3. Give the PAT a name and click Create. πŸ‘ Creating a new PAT
  4. The personal access token is only visible at creation, so be sure to copy it and store it securely for future use.

Configure Snowflake Endpoints for Salesforce Connect

After connecting to Snowflake, create a workspace for your desired table(s).

  1. Navigate to the Workspaces page and click Add to create a new Workspace (or select an existing workspace). πŸ‘ The Workspaces page.
    πŸ‘ Adding a new Workspace.
  2. Click Add to add new assets to the Workspace.
  3. Select the Snowflake connection (e.g. Snowflake1) and click Next. πŸ‘ Selecting an Asset (Salesforce is shown).
  4. Select the table(s) you wish to work with and click Confirm. πŸ‘ Selecting Tables (Salesforce is shown).
  5. Make note of the OData Service URL for your workspace, e.g. https://cloud.cdata.com/api/odata/{workspace_name}

With the connection, PAT, and Workspace configured, you are ready to connect to Snowflake data from Salesforce Connect.

Connect to Snowflake Data as an External Data Sources

Follow the steps below to connect to the feed produced by Connect AI.

  1. Log into Salesforce and click Setup -> Integrations -> External Data Sources.
  2. Click Now External Data Sources.
  3. Enter values for the following properties:
    • External Data Sources: Enter a label to be used in list views and reports.
    • Name: Enter a unique identifier.
    • Type: Select the option "Salesforce Connect: OData 4.0".
    • URL: Enter the URL to the OData endpoint of Connect AI: https://cloud.cdata.com/api/odata/{workspace_name}
  4. Select the Writable External Objects option.
  5. Select JSON in the Format menu.
  6. In the Authentication section, set the following properties:
    • Identity Type: If all members of your organization will use the same credentials to access Connect AI, select "Named Principal". If the members of your organization will connect with their own credentials, select "Per User".
    • Authentication Protocol: Select Password Authentication to use basic authentication.
    • Certificate: Enter or browse to the certificate to be used to encrypt and authenticate communications from Salesforce to your server.
    • Username: Enter a CData Connect AI username (e.g. [email protected]).
    • Password: Enter the user's PAT.
πŸ‘ Configuration settings for the data source (NetSuite is shown)

Synchronize Snowflake Objects

After you have created the external data source, follow the steps below to create Snowflake external objects that reflect any changes in the data source. You will synchronize the definitions for the Snowflake external objects with the definitions for Snowflake tables.

  1. Click the link for the external data source you created.
  2. Click Validate and Scan.
  3. Select the Snowflake tables you want to work with as external objects.
πŸ‘ Select external objects (NetSuite is shown)

Access Snowflake Data as Salesforce Objects

After adding Snowflake data as an external data source and syncing Snowflake tables as external objects, you can use the external Snowflake objects just as you would standard Salesforce objects.

Simplified Access to Snowflake Data from Cloud Applications

At this point, you have a direct, cloud-to-cloud connection to live Snowflake data from Salesforce. For more information on gaining simplified access to data from more than 100 SaaS, Big Data, and NoSQL sources in cloud applications like Salesforce, refer to our Connect AI page.