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

# Create a Snowflake fabric

> Learn how to connect to Snowflake

A Snowflake connection allows Prophecy to access tables in your Snowflake account and execute queries using a Snowflake virtual warehouse. This page explains how to use and configure a Snowflake connection in Prophecy.

<Callout icon="/images/icon.png" color="#FFC107">
  Available for [Express and Enterprise Editions](/data-engineering/administration/platform/editions) only.
</Callout>

## Prerequisites

Before creating the Snowflake fabric, ensure you have:

* A Snowflake account URL.
* A Snowflake warehouse to execute queries.
* A role with permissions to use the warehouse and access the database, schema, and stage.
* A stage with read and write permissions.

## Creating a Snowflake fabric

To create a fabric using Snowflake as the provider, follow the steps below.

<Steps>
  <Step title="Create a new fabric entity">
    Begin by creating a new fabric entity in Prophecy.

    1. From the left sidebar, click the **+** sign.
    2. On the Create Entity page, select **Fabric**.
  </Step>

  <Step title="Fill in the Basic Info tab">
    The **Basic Info** tab lets you define the key identifiers of the fabric.

    1. Provide a name for the fabric.
    2. (Optional) Provide a description for the fabric.
    3. Select a [team](/data-analysis/administration/management/teams/teams) that can access the fabric.
    4. Click **Continue**.
  </Step>

  <Step title="Fill in the Providers tab">
    The **Providers** tab allows you to configure the SQL warehouse provider you want to use. You cannot change the fabric provider after you create the fabric.

    1. Under **Provider**, select **Snowflake**.

    2. Enter your **Account URL**.

       Example:
       `https://xy12345.us-east-1.snowflakecomputing.com`

    3. Enter the **Role** that Prophecy will use to access Snowflake resources.

       Example: `TRANSFORM_ROLE`

    4. Enter the **Warehouse** that will execute SQL queries generated by your pipelines.

       Example: `ANALYTICS_WH`

    5. Provide the default **Database** and **Schema** where Prophecy will read and write data.

       Example:
       `Database: ANALYTICS`
       `Schema: PIPELINES`

    6. Enter the **Prophecy Dataplane URL**. (This is used to orchestrate pipeline execution and data movement.)

    7. Select the authentication method you want to use.

       **Username and Password** (typical for user credentials)

       * Enter the **Username**.
       * Enter the **Password**.

       **OAuth** (used when authentication is managed by an identity provider or service principal.)

       * Enter the **Client ID**.
       * Enter the **Client Secret**.

    8. Provide the **Stage** that Prophecy will use for temporary orchestration files.

       Example: `@PROPHECY_STAGE`

           <Note>
             The stage functions similarly to Databricks volumes. Prophecy uses it to store temporary files
             required during pipeline orchestration. The configured role must have **read and write
             permissions** on the stage.
           </Note>
  </Step>

  <Step title="Save the fabric">
    Click **Complete** to save the fabric.
  </Step>
</Steps>

<Note>
  To add [secrets](/data-analysis/environment/secrets/secrets) and [connections](/data-analysis/environment/connections/connections) to your fabric, you need to save
  the fabric first.
</Note>

## Edit an existing fabric

To edit an existing fabric:

1. From the left sidebar, click the **Metadata** page.
2. Navigate to the **Fabrics** tab.
3. Open the fabric you want to edit.
4. Update the fabric. Prophecy automatically saves your changes.

### Edit advanced settings

To edit advanced settings, click the Advanced tab for the fabric.

Here, you can select or deselect **Allow agent to access data**. This allows Prophecy agents to suggest data transformations and actions based on the data in the fabric.

## Limitations

Currently, Snowflake fabrics do not support:

* Case-sensitive identifiers.
* Creating new partitioned tables.
* Modifying partitioning of existing tables.
