The GoFormz-Snowflake Integration allows clients to use Snowflake as their "source of truth" for data management by automating the movement of data between GoFormz and Snowflake.
Note: Before getting started, you must first reach out to your GoFormz Account Manager to enable access to the Snowflake application on your account.
There are three steps to configuring a Snowflake integration:
Configure an OAuth Security Integration: Allows GoFormz to redirect users to an authorization page and generate access tokens (and optionally, refresh tokens) for access to Snowflake.
CONFIGURE AN OAUTH SECURITY INTEGRATION
To start using OAuth, a Snowflake account administrator needs to first configure an OAuth security integration. See here for how a Snowflake account administrator can configure OAuth security integrations.
At a minimum the OAuth security integration must be configured with the following:
Redirect URI, which is the URI that Snowflake redirects the user to after they perform authorization with a short-lived authorization code. The OAuth Redirect URI will be 'https://app.goformz.com/App/AuthReturn'.
Client type. Snowflake supports both confidential and public clients. Confidential clients are those that maintain secrets, whereas public clients cannot.
The command for creating a simple OAuth security integration looks like this:
CREATE SECURITY INTEGRATION my_oauth_integration
After an administrator creates the security integration, the administrator needs to configure GoFormz with the client ID and client secret(s) tied to that security integration.
The client ID can be found by using the system function SHOW_OAUTH_CLIENT_SECRETS. This function reveals two client secrets, as well as the client ID again for verification purposes.
CREATING A NEW SNOWFLAKE CONNECTION
Before you begin, make sure that you have an existing Snowflake account and you know the credentials for the account. To create a Snowflake app connection, do the following:
Select Connected Apps from the More dropdown at the top of the GoFormz web app to navigate to the App Connections screen.
Select Snowflake & Add Connection to bring up the Snowflake login window.
Select Authentication Method as 'OAuth' and enter Snowflake credentials (Role, Client Id, Client Secret, Scope, Account Identifier) and click add.
Note: You can't authenticate with the Role of ACCOUNTADMIN and Role is case sensitive
The new connection will appear on your Snowflake Connections list with a generic name like “Snowflake Connections - 1”. We recommend renaming your connection with a more descriptive name (e.g. including your Snowflake username in the connection name), especially if you plan to use multiple Snowflake connections. This will make it much easier to tell your connections apart from each other.