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

# Connecting Snowflake to your app

> Query data, run analytics, and manage data warehouses in Snowflake from your Base44 app.

Connect your Base44 app to Snowflake to query data, run analytics, and manage data warehouses, then build dashboards and reports on top of your warehouse data.

<Tip>
  **Snowflake is a connector for app builders.** You connect it once with your own Snowflake credentials at the workspace level, and your app queries the warehouse through that connection. Each person using your app does not connect Snowflake themselves.
</Tip>

<Note>
  You need a [**Builder plan**](https://base44.com/pricing) or higher to use connectors in your app.
</Note>

***

## What you can do

<CardGroup cols={3}>
  <Card title="Query warehouse data" icon="database">
    Run SQL against your Snowflake warehouse and surface the results in your app.
  </Card>

  <Card title="Build analytics dashboards" icon="chart-column">
    Turn warehouse queries into charts, tables, and dashboards your team can read.
  </Card>

  <Card title="Trigger on data changes" icon="bell">
    Combine Snowflake with other connectors, for example alert a Slack channel when a metric drops.
  </Card>
</CardGroup>

**Example prompts for the AI chat**

```text theme={null}
Query sales data from my Snowflake warehouse and display results.
```

```text theme={null}
Run an analytics report on customer data stored in Snowflake.
```

```text theme={null}
Fetch inventory levels from the Snowflake data warehouse.
```

```text theme={null}
Execute a SQL query to analyze trends in my Snowflake tables.
```

***

## At a glance

<Card>
  <div className="b44-spec">
    <div className="b44-spec-row"><div className="b44-spec-key">Type identifier</div><div className="b44-spec-val"><code>snowflake</code></div></div>
    <div className="b44-spec-row"><div className="b44-spec-key">Category</div><div className="b44-spec-val">Analytics</div></div>
    <div className="b44-spec-row"><div className="b44-spec-key">Auth model</div><div className="b44-spec-val">OAuth, bring your own credentials</div></div>
    <div className="b44-spec-row"><div className="b44-spec-key">Connector type</div><div className="b44-spec-val">For app builders (workspace-level)</div></div>
    <div className="b44-spec-row"><div className="b44-spec-key">Connection config</div><div className="b44-spec-val"><code>subdomain</code> (your Snowflake account identifier), required</div></div>
  </div>
</Card>

***

## Connect it

Snowflake is a connector for app builders, so you connect it once at the workspace level with your own warehouse credentials.

<Check>
  Before you begin, you need:

  * A **Snowflake OAuth security integration** in your Snowflake account, so you have a **Client ID** and **Client Secret**.
  * Your Snowflake **account identifier** (the `subdomain`, for example `xy12345.us-east-1`).
  * Credentials authorized to query the databases you want to use.
</Check>

**To add Snowflake from your workspace settings:**

1. Click your workspace name at the bottom left.
2. Click **Settings**.
3. Click **Connectors** under **Plugins**.
4. Under **Connectors For App Builders**, find **Snowflake**.
5. Click **Add** next to the connector.
6. Add the redirect URI `https://app.base44.com/api/external-auth/callback` to your Snowflake OAuth integration.
7. Enter a **Connector name** to identify this connector.
8. Enter the **Client ID** and **Client Secret**. Leave **Additional scopes** empty.
9. Enter your **Snowflake Account** identifier.
10. Click **Add Connector**.

<Note>
  Your Snowflake Account is your account identifier, for example `xy12345.us-east-1`. Do not include `.snowflakecomputing.com`.
</Note>

You can also set up Snowflake from the AI chat in an app. Describe what you want to build, and when prompted, provide the same connector details. The connector is registered at the workspace level and becomes available across all apps in that workspace.

***

## Scopes

<Note>
  You do not choose Snowflake scopes in Base44. Snowflake does not expose selectable scopes. A Snowflake admin sets access inside Snowflake, according to user roles.
</Note>

Leave **Additional scopes** empty when you register the connector. Snowflake then applies the default role for the account that connects, and Base44 adds the `refresh_token` scope automatically, listed under **Always included**.

***

## Use it in a backend function

Once Snowflake is connected, your backend functions can retrieve an access token and query your warehouse. Base44 handles the OAuth flow and credential storage.

```javascript theme={null}
const connection = await base44.asServiceRole.connectors.getConnection("snowflake");
// Use the connection's access token to call the Snowflake SQL API.
```

This is a simplified example. For the full pattern, including how to read the connection details and structure the request, see the developer documentation:

<CardGroup cols={1}>
  <Card title="Connectors (developer docs)" icon="code" href="/developers/backend/resources/connectors">
    Retrieve a connection, read its details, and call the service API from a backend function.
  </Card>
</CardGroup>

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="I do not see Snowflake in workspace settings">
    Confirm that you are working in the correct workspace and that you have permission to manage workspace connectors. If you still do not see Snowflake, [contact support](/Community-and-support/Contacting-support).
  </Accordion>

  <Accordion title="My Snowflake Account is not accepted">
    Enter only your Snowflake account identifier, for example `xy12345.us-east-1`. Do not include `.snowflakecomputing.com`.
  </Accordion>

  <Accordion title="The connection does not work after setup">
    Check that the redirect URI `https://app.base44.com/api/external-auth/callback` is added to your Snowflake OAuth integration. Then confirm that the Client ID, Client Secret, and Snowflake Account are correct, and that the Snowflake role has access to the databases you are querying.
  </Accordion>
</AccordionGroup>

***

## FAQs

<AccordionGroup>
  <Accordion title="Who can add the Snowflake connector?">
    You need permission to manage workspace connectors.
  </Accordion>

  <Accordion title="Where do I find the Base44 redirect URI?">
    Snowflake is a workspace-level connector, so it uses a single redirect URI: `https://app.base44.com/api/external-auth/callback`. Add it to your Snowflake OAuth integration. If you are setting the connector up from the AI chat, the setup form also shows it.
  </Accordion>

  <Accordion title="What should I enter for Snowflake Account?">
    Enter your Snowflake account identifier, for example `xy12345.us-east-1`. Do not include `.snowflakecomputing.com`.
  </Accordion>

  <Accordion title="Can I add Snowflake from the AI chat?">
    Yes. You can start from the AI chat in a specific app. If the connector is not set up yet, Base44 asks for the connector details before continuing.
  </Accordion>

  <Accordion title="Do people using my app need to connect Snowflake themselves?">
    No. The Snowflake connector is set up once at the workspace level and can be used across apps in that workspace.
  </Accordion>
</AccordionGroup>
