> ## Documentation Index
> Fetch the complete documentation index at: https://www.integrate.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Snowflake destination for ELT & CDC

> Configure Snowflake as a destination in Integrate.io ELT & CDC. Set up your Snowflake warehouse to receive replicated data from your sources.

## Overview

Integrate.io ELT & CDC replicates your data to Snowflake in real time, with an industry-leading replication speed of every 60 seconds. This is useful when you use Snowflake to power data products that require real-time data, especially customer-facing ones.

ELT & CDC uses a Snowflake compute warehouse in auto-suspend and auto-resume mode to run queries that load data from an external stage. You can either run a dedicated compute warehouse for ELT & CDC and provide a database to load data into, or select an existing warehouse and database.

Using an existing warehouse is recommended to minimize compute resource usage and cost when loading data from any source to Snowflake.

## Requirements

* **ACCOUNTADMIN**, **SYSADMIN**, or **SECURITYADMIN** access to run the prerequisite and setup steps.

## Setup

### User setup

Select your authentication method (Password or Key Pair) and enter your username and warehouse. If using Key Pair authentication, upload your private key file and enter the passphrase if your key pair is encrypted. If the user does not already exist in Snowflake, copy the generated script and run it on your Snowflake worksheet to create the user.

<Frame>
  <img src="https://mintcdn.com/integrateio/6v4qLGZevtjFbG6H/images/cdc/destinations/image-3.png?fit=max&auto=format&n=6v4qLGZevtjFbG6H&q=85&s=447ba56fcc8c421c4a315b1537234a17" alt="User setup step showing authentication method selection, username, warehouse, private key upload, and SQL script to create a Snowflake user" width="1200" height="824" data-path="images/cdc/destinations/image-3.png" />
</Frame>

### Role setup

Enter your role name, database, and schema. Copy the generated script and run it on your Snowflake worksheet to create the role and grant the necessary warehouse, database, and schema access.

### Storage integration setup

Copy the generated script and run it on your Snowflake worksheet to create the storage integration for Integrate.io.

### Destination credentials

Enter your Snowflake Account Locator and Region, warehouse, username, and authentication credentials. Then enter your user role, storage integration name, database, and schema to complete the destination configuration. For help finding your Account Locator and Region, refer to [this documentation](/docs/cdc/how-to-get-your-snowflake-account-identifier).

<Note>If your Snowflake deployment uses a non-standard URL, you can specify an optional custom host. Leave this blank to use the default.</Note>

<Frame>
  <img src="https://mintcdn.com/integrateio/6v4qLGZevtjFbG6H/images/cdc/destinations/image-6.png?fit=max&auto=format&n=6v4qLGZevtjFbG6H&q=85&s=3e9e1a214b782a65e23e253298d850b9" alt="Destination credentials form showing Account Locator and Region, warehouse, username, authentication method, user role, storage integration name, database, and schema fields" width="1652" height="1102" data-path="images/cdc/destinations/image-6.png" />
</Frame>

### Snowflake network policy

If you have an existing [network policy](https://docs.snowflake.com/en/user-guide/network-policies), [modify it](https://docs.snowflake.com/en/user-guide/network-policies#modifying-network-policies) to add the ELT & CDC [IP addresses](/docs/cdc/ip-list).

### Limitations

* The maximum allowed VARCHAR/TEXT length of single-byte characters is 16,777,216 and 4,194,304 for 4 byte characters (per [snowflake's documentation](https://docs.snowflake.com/en/sql-reference/data-types-text.html)).
* The maximum length of a [VARIANT](https://docs.snowflake.com/en/sql-reference/data-types-semistructured.html#variant) is 16 MB.

### Required privileges

| Name                   | Scope               |
| :--------------------- | :------------------ |
| USAGE                  | Warehouse           |
| USAGE                  | Database            |
| USAGE                  | Schema              |
| CREATE FILE FORMAT     | Schema              |
| CREATE STAGE           | Schema              |
| CREATE TABLE           | Schema              |
| CREATE TEMPORARY TABLE | Schema              |
| USAGE, MODIFY          | Storage integration |

## Related

<CardGroup cols={2}>
  <Card title="Snowflake Account Identifier" icon="arrow-right" href="/docs/cdc/how-to-get-your-snowflake-account-identifier" horizontal />

  <Card title="Migrating to Key-Pair Auth" icon="arrow-right" href="/docs/cdc/migrating-authentication-from-password-to-key-pair" horizontal />

  <Card title="Data Type Mapping - Snowflake" icon="arrow-right" href="/docs/cdc/data-type-mapping-snowflake" horizontal />

  <Card title="IP Allowlist" icon="arrow-right" href="/docs/cdc/ip-list" horizontal />

  <Card title="Initial Sync Process" icon="arrow-right" href="/docs/cdc/initial-sync-process" horizontal />
</CardGroup>
