Skip to main content
When you connect Snowflake to Unblocked, Unblocked can reference data from the Snowflake databases you select when answering questions. Unblocked provides links back to the original Snowflake resources for easy reference. See Snowflake with Unblocked in action:

Prerequisites

You need an Unblocked admin account and a Snowflake administrator who can create roles and users and grant access to your warehouse and data. Unblocked connects using workload identity federation. Each Snowflake account can connect to only one Unblocked installation.

Set up Snowflake

1

Open the Snowflake connection page

In the Unblocked sidebar, click Settings, then Data Sources, then Connect Another, then search for and select Snowflake.Keep this page open while you configure Snowflake. It contains a user creation script generated for this connection.Connect a Data Source dialog filtered to Snowflake
2

Create a read-only role

In Snowflake, run the following SQL as an administrator. Replace <your_warehouse> with the warehouse Unblocked should use:
If you already have a dedicated read-only role, use it in place of UNBLOCKED_READONLY_ROLE throughout these instructions.
3

Create the service user

Snowflake setup page with generated user creation SQL and an account identifier fieldCopy the user creation script from the Unblocked connection page. Replace <READONLY_ROLE> with UNBLOCKED_READONLY_ROLE and <WAREHOUSE> with your warehouse name, then run the script in Snowflake.Keep the generated UNBLOCKED_... user name and AWS role ARN unchanged. The user name ties the connection to your Unblocked organization. Use the script from your own connection page, not the example shown in the screenshot.Grant the read-only role to the new user. Replace <generated_user_name> with the exact user name from the script:
Setting DEFAULT_ROLE in the creation script does not grant the role to the user; you must run this grant too.
4

Grant access to your data

Grant the role USAGE on the database and schema you want Unblocked to index, plus SELECT on current and future tables. Replace <your_database> and <your_schema> with your own values:
Repeat this step for each additional database or schema you want Unblocked to access. For individual tables or views, or an entire database, use the optional grants below.
If you only want Unblocked to access specific tables or views instead of an entire schema, grant SELECT on those objects individually instead of the schema-wide grants above. Replace <your_database>, <your_schema>, <your_table>, and <your_view> with your own values:
Repeat the last two grants for each additional table or view you want Unblocked to access.
If you want Unblocked to access every schema, table, and view in a database, including ones created later, grant access at the database level instead of the schema level. Replace <your_database> with your own value:
To remove this connection’s access, delete the generated service user. Replace <generated_user_name> with the exact user name from your connection’s creation script:

Connect in Unblocked

1

Enter your account identifier

Run this query in Snowflake to get your account identifier:
Return to the Snowflake connection page in Unblocked. Paste the SNOWFLAKE_ACCOUNT value into Account identifier and click Connect.You can also paste your Snowflake web URL. It contains your organization name followed by your account name: https://app.snowflake.com/<organization>/<account>/.
2

Select your databases

After connecting, Unblocked opens the Snowflake settings page. Select the databases you want Unblocked to access, then click Save Settings. Unblocked starts indexing your selected databases.Snowflake database selection
3

Wait for indexing to complete

Unblocked shows Processing for Snowflake on the Data Sources page while indexing is in progress. Unblocked will not use Snowflake to answer questions until indexing completes.Connected Data Sources page showing Snowflake with Processing status
You can change which databases are indexed at any time from Settings › Data Sources › Snowflake.