---
title: Snowflake
slug: snowflake
image: https://make-cxp-documentation.ams3.cdn.digitaloceanspaces.com/apps-center-icons/PREVIEW_DEFAULT.png
docTags: 
createdAt: 2025-02-03T13:29:04.395Z
---

| :inlineImage[]{src="https://api.archbee.com/api/optimize/PL8X94efBsjvhfQV3wyyj-CHBjhy_w_B3rc1pgIK79I-20250721-080706.png" alt caption} | Snowflake is a cloud-based data platform that provides data storage, processing, and analytic solutions.<br />With the Snowflake app in Make you can execute SQL commands and return results in your Snowflake account. |
| -------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

# Requirements

To use the Snowflake app in Make, you must have a paid [Snowflake account](https://signup.snowflake.com/). For subscription information, refer to the [Snowflake pricing page](https://www.snowflake.com/en/data-cloud/pricing-options/).

# Connect Snowflake and Make&#x20;

Make provides three ways to connect the Snowflake app:

- [Snowflake username/password](docId\:jAldkpsg_SEx5XdNv3Edc) &#x20;
- [Snowflake key pair](docId\:jAldkpsg_SEx5XdNv3Edc)
- [Snowflake OAuth](docId\:jAldkpsg_SEx5XdNv3Edc)

## Establish a connection with username/password

To connect your Snowflake app with a username/password:

::::WorkflowBlock
:::WorkflowBlockItem
Log in to your Make account, add a Snowflake module to your scenario, and click **Create a connection**.
:::

:::WorkflowBlockItem
Optional: In the ​​**Connection name​​** field, enter a name for the connection.
:::

:::WorkflowBlockItem
In the **Connection type**, select the type of connection - **Snowflake key pair**.

- Optional: In the **Connection name** field, enter a name for the connection.
- In the **Account** field, enter your **Organization** **Name&#x20;**&#x61;nd **Account** **Name&#x20;**&#x74;hat you copied above in **Organization-Account** format (e.g., if your Organization Name is ABC, and the Account Name is DEF > enter ABC-DEF).
- In the **Username** and **Password** fields, enter your Snowflake account's login credentials.
- In the **Database** field, enter the name of the database for which you are going to execute commands. To see the names of the current databases, in the left sidebar, click **Data** > **Databases**.
:::

:::WorkflowBlockItem
Click **Save**.
:::
::::

You've successfully created the connection and can now use the Snowflake app in your scenarios. If you want to make changes to your connection in the future, follow the steps [here](docId\:SO88FM6pkT0G-adKDDfzZ).

## Establish a connection with a key pair

To connect your Snowflake app with a key pair, you need to obtain your account details in your Snowflake account and generate a private key. To do that:

::::WorkflowBlock
:::WorkflowBlockItem
Log in to your Snowflake account.&#x20;
:::

:::WorkflowBlockItem
At the bottom left, click your **account name icon** > **View account details.**

![](https://api.archbee.com/api/optimize/PL8X94efBsjvhfQV3wyyj-x9juKqgy7Fv61smCQ4AL8-20250717-155551.png)
:::

:::WorkflowBlockItem
Copy the **Account** **Name** and **Organization** **Name** and store them in a safe place.
:::

:::WorkflowBlockItem
To generate your private key in your Snowflake account, refer to the [Snowflake documentation](https://docs.snowflake.com/en/user-guide/key-pair-auth).

You need to generate both public and private keys to successfully connect Snowflake in  Make. Your public key is associated with your Snowflake account, and your private key connects Snowflake to Make. You may generate either an encrypted or unencrypted private key. If you generate an encrypted key, store your password in a safe place.
:::

:::WorkflowBlockItem
Log in to your Make account, add a Snowflake module to your scenario, and click **Create a connection**.
:::

:::WorkflowBlockItem
In the **Connection type**, select the type of connection - **Snowflake key pair**.

- Optional: In the **Connection name&#x20;**&#x66;ield, enter a name for the connection.
- In the **Account** field, enter your **Organization** **Name&#x20;**&#x61;nd **Account** **Name&#x20;**&#x74;hat you copied above in **Organization-Account** format (e.g., if your Organization Name is ABC, and the Account Name is DEF > enter ABC-DEF).
- In the **Username** field, enter your Snowflake user login.
- In the **Private key** field, enter the private key you generated in your Snowflake account.&#x20;
- In the **Database** field, enter the name of the database for which you are going to execute commands. To see the names of the current databases, in the left sidebar, click **Data** > **Databases**.
:::

:::WorkflowBlockItem
Click **Save**.
:::
::::

You've successfully created the connection and can now use the Snowflake app in your scenarios. If you want to make changes to your connection in the future, follow the steps [here](docId\:SO88FM6pkT0G-adKDDfzZ).

## Establish a connection with an OAuth&#x20;

To connect your Snowflake app with the OAuth client credentials, you need to obtain your Client ID, Client Secret, and Account Identifier in your Snowflake account. To do that:&#x20;

:::::WorkflowBlock
::::WorkflowBlockItem
Log in to your Snowflake account.&#x20;

:::hint{type="info"}
You need an **ACCOUNTADMIN** role or a role with the global **CREATE INTEGRATION** privilege.
:::
::::

::::WorkflowBlockItem
To obtain the client credentials, you need to create a security integration:

- In the left sidebar, click th&#x65;**&#x20;+ icon** > **SQL Worksheet**. This is where you can write and execute SQL queries.

  ![](https://api.archbee.com/api/optimize/PL8X94efBsjvhfQV3wyyj-JSfRy2uDYdIITp1oQnr4m-20250718-104416.png)
- Create an integration for a custom client. Here's an example of the SQL statement:

:::BlockQuote
CREATE SECURITY INTEGRATION&#x20; <font color="#EF4444">-- you can use double quotes to include whitespace in the integration name
-- however, they are optional if your integration name doesn't contain whitespace</font>
"your integration name"
TYPE = OAUTH
OAUTH\_CLIENT = CUSTOM
OAUTH\_CLIENT\_TYPE = 'PUBLIC'
OAUTH\_REDIRECT\_URI = '[https://www.make.com/oauth/cb/snowflake-oauth](https://www.make.com/oauth/cb/snowflake-oauth)'
ENABLED = TRUE
OAUTH\_ISSUE\_REFRESH\_TOKENS = TRUE
:::

- Click the **Run** button in the top-right corner to execute the command and create the security integration. Make sure the statement is executed without errors.

:::hint{type="info"}
This is a minimal set of data to specify prior to the query execution. For additional details and configuration options, refer to [Snowflake OAuth documentation](https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-oauth-snowflake).&#x20;
:::

:::hint{type="success"}
To view the complete configuration of the app you just created, use this SQL statement:  `DESCRIBE INTEGRATION "your integration name";`

To let users with privileged roles create a connection, execute the following SQL statement: `ALTER ACCOUNT SET OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST = false`
:::
::::

::::WorkflowBlockItem
To retrieve the OAUTH\_CLIENT\_ID and OAUTH\_CLIENT\_SECRET, run the following SQL query:

:::BlockQuote
SELECT SYSTEM$SHOW\_OAUTH\_CLIENT\_SECRETS('your integration name') <font color="#f24646">-- use single quotes around the integration name here, the double quotes don't work i</font><font color="#fa4b4b">n this context</font>
:::
::::

:::WorkflowBlockItem
After executing the command, you will see a JSON string at the bottom of the worksheet. It contains your OAUTH\_CLIENT\_ID, and OAUTH\_CLIENT\_SECRET.

![](https://api.archbee.com/api/optimize/PL8X94efBsjvhfQV3wyyj-RhpYESOSfgLqs83K9Bc9n-20250718-110241.png)
:::

:::WorkflowBlockItem
Copy the OAUTH\_CLIENT\_ID and OAUTH\_CLIENT\_SECRET, and store them in a safe place.
:::

:::WorkflowBlockItem
To obtain the **Account Identifier**, click your **account name icon** > **View account details.**

![](https://api.archbee.com/api/optimize/PL8X94efBsjvhfQV3wyyj-x9juKqgy7Fv61smCQ4AL8-20250717-155551.png)
:::

:::WorkflowBlockItem
Copy the **Account** **Identifier** and store it in a safe place.

![](https://api.archbee.com/api/optimize/PL8X94efBsjvhfQV3wyyj-xm3qr1eSSUBD_MCzOeDcg-20250718-105407.png)
:::

:::WorkflowBlockItem
Log in to your Make account, add a Snowflake module to your scenario, and click **Create a connection**.
:::

:::WorkflowBlockItem
In the **Connection type**, select the type of connection - **Snowflake OAuth**.

- Optional: In the **Connection name&#x20;**&#x66;ield, enter a name for the connection.
- In the **Client ID** field, enter the OAUTH\_CLIENT\_ID you copied in Snowflake.
- In the **Client Secret** field, enter the OAUTH\_CLIENT\_SECRET you copied in Snowflake.
- In the **Account** **Identifier** field, enter the **Account Identifier** that you copied above.
- In the **Database** field, enter the name of the database for which you are going to execute commands. To see the names of the current databases, in the left sidebar, click **Data** > **Databases**.
:::

:::WorkflowBlockItem
Click **Save**.
:::
:::::

You've successfully created the connection and can now use the Snowflake app in your scenarios. If you want to make changes to your connection in the future, follow the steps [here](docId\:SO88FM6pkT0G-adKDDfzZ).

:::hint{type="info"}
If you switch from one authentication method to another, you can create a new connection with that authentication method and then replace the old one in all scenarios where it’s used. See the instructions [here](https://help.make.com/replace-connections-across-multiple-modules).
:::

# Snowflake modules

After connecting to the Snowflake app, you can use the following types of modules to build your scenarios.

:::ExpandableHeading
**Actions**

- Execute SQL
:::

# Templates

You can look for Snowflake templates in [Make's template gallery](https://www.make.com/en/templates), where you'll find thousands of pre-created scenarios for different apps.

# Snowflake resources

- [Snowflake API documentation](https://docs.snowflake.com/en/developer-guide/sql-api/about-endpoints)

