Skip to main content
Snowflake is a cloud SQL data warehouse. Connecting it binds a single Snowflake table or view to an Adriel data source, and each widget compiles into one SQL query run live against the warehouse.

Before you connect

The following are required:
  • A Snowflake account and its account identifier (for example, xy12345.us-east-1).
  • A Snowflake user with read access to the target tables: USAGE on the warehouse, database, and schema, plus SELECT on the tables or views to be connected.
  • An RSA key pair, with the public key assigned to the Snowflake user. Authentication is key-pair (JWT) only — password, OAuth, MFA, and federated SSO are not supported.
  • A warehouse to run queries, or a default warehouse set on the user.
To generate a key pair, run the following in a local terminal:
The .p8 file is the private key for the connection form; the .pub file is the public key registered on Snowflake. Assign the public key to the Snowflake user in a worksheet, then confirm it with DESC USER reporting_user;:
Grant the minimum privileges the user needs, and optionally set a default warehouse so one need not be supplied on the connection form:

Connect Snowflake

1

Select the Snowflake data source

On the Data Sources page, search for Snowflake and select it.
2

Enter the account and username

Enter the Snowflake account identifier (for example, xy12345.us-east-1) and the username of the Snowflake user that holds read access.
3

Paste the private key

Paste the full contents of the .p8 private key, including the BEGIN and END lines. The key can be pasted as a single line or across multiple lines — it is normalized to valid PEM format before use.
4

Set the warehouse and role

Enter the warehouse used to run queries. Leave it blank only if the user has a default warehouse. The role field is optional; queries run under the user’s default Snowflake role.
5

Optionally save the setup for reuse

Enable Save setup for reuse? to store a subset of the setup on the connection so it is pre-filled the next time a Snowflake data source is created from it — the warehouse, database, schema, table or view, and filter key selections. These fields are optional, are discovered live from the account when saved, and have no effect on the connection itself.
6

Submit to validate the connection

Click Submit. Saving the credentials triggers a JWT-authenticated connection test against Snowflake.
7

Select the database, schema, and table

Choose one database, schema, and table (or view) from the lists the connector discovers. Each data source binds to a single table or view.
8

Set the date column and save

Choose the date column used by the dashboard date-range control, set per-column aggregations, and optionally override the warehouse for this data source. Save the data source to make it queryable from widgets.

What gets imported

Each widget load compiles into a single SELECT statement against the bound table or view, with WHERE, GROUP BY, ORDER BY, and LIMIT clauses derived from the widget configuration. Numeric columns aggregate into metrics; text, boolean, date, and semi-structured columns surface as breakdowns. Semi-structured types (VARIANT, OBJECT, ARRAY) are serialized to JSON strings, and timestamp-with-timezone types are converted to UTC. For the complete type mapping, aggregation rules, caching, and limits, see the Snowflake data reference.

Troubleshooting

The public key registered on the Snowflake user does not match the private key supplied to the connection. Run DESC USER reporting_user; to confirm the registered public key, regenerate the pair if needed, and re-register it with ALTER USER ... SET RSA_PUBLIC_KEY.
The data source has no warehouse configured and the user has no default warehouse. Supply a warehouse on the connection form, or run ALTER USER reporting_user SET DEFAULT_WAREHOUSE = 'reporting_wh';.
The connection accepts any reasonably formatted PEM key: escaped newlines are converted to real newlines, headers and footers are stripped and re-added, and the body is re-wrapped at 64 characters. If the key is still rejected, confirm the full .p8 contents were pasted and that the matching public key is registered on the user.
The user must hold USAGE on the warehouse, database, and schema, plus SELECT on the target table. Re-grant any missing privileges and retry the connection.

Snowflake data reference

Query model, field type mapping, caching, and limits for the Snowflake data source.

Snowflake FAQs

Common questions and expected behaviors for the Snowflake data source.

How to connect PostgreSQL

Connect the Postgres-family SQL data source Snowflake most closely mirrors.

How to connect Redshift

Connect the other cloud data warehouse, with the same view-based patterns.

How to connect MySQL

Connect the MySQL SQL data source.