Skip to main content

Snowflake Integration Overview

Learn how to connect Snowflake to QuotaPath

QuotaPath's Snowflake integration imports data directly from your Snowflake account so you can calculate commissions and determine payout eligibility from the same data your finance and analytics teams already trust.

Snowflake now requires key-pair authentication for programmatic connections, so QuotaPath authenticates using an RSA private key rather than a password. This article walks through the Snowflake-side setup, generating the key pair, and connecting the integration in QuotaPath.


Integration Requirements

Before connecting Snowflake to your QuotaPath workspace, you'll need to obtain the below information:

  • A Snowflake user with the ACCOUNTADMIN role (or equivalent privileges) to create the role, warehouse, and database objects and to assign the public key. This is a one-time setup step — QuotaPath itself never uses ACCOUNTADMIN.

  • Command line access to a machine with OpenSSL installed to generate the key pair. OpenSSL ships with macOS and most Linux distributions. On Windows, use Git Bash or WSL.

  • The name of the database and schema containing the tables you want QuotaPath to read.

As a best practice, create a dedicated Snowflake service user, role, and warehouse for QuotaPath rather than reusing an existing person's credentials. This keeps QuotaPath's access scoped and auditable, and means the connection won't break when someone leaves your organization.


How to set up QuotaPath access in Snowflake

Follow these steps in Snowflake in order to provision a user and gather the information required to set up the integration in QuotaPath.

Step 1: Set up Snowflake access for QuotaPath

QuotaPath connects to Snowflake as a user with a role, a warehouse, and read access to the database holding your data. You can reuse existing Snowflake objects, or create dedicated ones for QuotaPath — most teams create a dedicated user and role so access is scoped and auditable, and reuse an existing warehouse.

Here's what QuotaPath needs:

What

Requirement

User

A service user (TYPE = SERVICE). Service users authenticate with a key pair rather than a password and aren't subject to Snowflake's MFA requirements for human users.

Role

A role granted to that user, with USAGE on the warehouse and database, USAGE on the schema, and SELECT on the tables and views you want to sync. Granting SELECT on future tables and views means new objects are picked up automatically.

Warehouse

Any warehouse the role has USAGE on. QuotaPath's queries are small, so an X-Small warehouse is plenty — see Working with warehouses.

Database

Read access to the database and schema containing your data.

QuotaPath only reads data — it never writes to, modifies, or deletes anything in your Snowflake account, so no write privileges are needed.

Snowflake documentation for this step:


Step 2: Assign the public key to your Snowflake user

Open rsa_key.pub in a text editor. You'll see something like:

-----BEGIN PUBLIC KEY-----

MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...

...

-----END PUBLIC KEY-----

Copy only the key body — everything between the header and footer lines, with the line breaks removed. Do not include the -----BEGIN PUBLIC KEY----- or -----END PUBLIC KEY----- delimiters.

Then run, as ACCOUNTADMIN:

ALTER USER QUOTAPATH_USER SET RSA_PUBLIC_KEY = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A...';

Verify the key was assigned correctly

Retrieve the fingerprint Snowflake recorded:

DESC USER QUOTAPATH_USER

->> SELECT SUBSTR(

(SELECT "value" FROM $1

WHERE "property" = 'RSA_PUBLIC_KEY_FP'),

LEN('SHA256:') + 1) AS key;

Then compute the fingerprint locally from your public key file:

openssl rsa -pubin -in rsa_key.pub -outform DER | openssl dgst -sha256 -binary | openssl enc -base64

The two values should match. If they don't, the key body was likely pasted with delimiters, line breaks, or extra whitespace — re-run the ALTER USER statement with a clean copy.


Step 3: Find your Server URL

The Server URL is the host domain of your Snowflake instance. It must include your account identifier, region, and cloud provider, and end with snowflakecomputing.com. For example:

xy12345.us-east-1.aws.snowflakecomputing.com

You can find it in the URL of your Snowflake web session, or by running:

SELECT CURRENT_ACCOUNT(), CURRENT_REGION();

Enter only the host domain — omit https:// and any path.


How to connect Snowflake in QuotaPath

To connect Snowflake to your QuotaPath workspace, open Integrations in the Data group of the left-hand navigation (it is not under Settings). If you already have a source connected, you will land on Connected; otherwise you will see Available. Find the Snowflake integration card and click ‘Connect’.

Integration Source Form

Enter the below information into the integration source form shown below:

Field

What to enter

Server URL

The host domain of your Snowflake instance — must include the account, region, and cloud environment, and end with snowflakecomputing.com

Role

The role you created for QuotaPath (e.g. QUOTAPATH_ROLE)

Warehouse

The warehouse you created for QuotaPath to access data (e.g. QUOTAPATH_WH)

Database

The database you created for QuotaPath to access data

Private Key

The private key from the RSA key pair — the full contents of rsa_key.p8, including the -----BEGIN PRIVATE KEY----- and -----END PRIVATE KEY----- lines

Username

The username for the Snowflake user you created (e.g. QUOTAPATH_USER)

Once the form is complete, click 'Submit'. After receiving the confirmation that the integration has been successfully connected, click 'Next' to proceed.

Sync Schedule

At the top of the following screen, use the dropdown selector to set the sync frequency. After the source is connected, open the Snowflake card and choose Manage source. To pull the latest records, an Admin clicks Sync and Refresh on the source page (that action is admin-only).

Objects

Next, select the objects (or the data name in the Snowflake schema) that you'd like to import into your QuotaPath workspace.

When complete, click ‘Sync now’ to begin importing data into your QuotaPath workspace. This could take a few minutes so feel free to close the modal and navigate back to Home to complete any outstanding onboarding tasks. We will send you an email once your integration is ready to use.

Once your integration is set up, you can map a component to this data. Visit How to Map a Component to your Data Source for more detailed instructions!

Related Articles

Did this answer your question?