Limitations
Currently, only Claude models are supported for this integration:- Query models - Claude 4.5 Sonnet, Claude 4 Sonnet, Claude 4.5 Opus, Claude 4 Opus, Claude 3.7 Sonnet, Claude 3.5 Sonnet.
- Text models - Claude 4.5 Haiku, Claude 3.5 Haiku.
Requirements
To follow the steps in this guide, you’ll need:- Organization Admin permissions in Omni
- In Snowflake, permissions that allow you to:
- Grant roles to database users
- Manage network policies
- Enable cross-region inference (for Claude model availability)
- Create a Programmatic Access Token (PAT). This token serves as the API Key in your Omni configuration. See the Snowflake PAT documentation for how to create one.
Snowflake setup
Complete the following setup within your Snowflake instance before configuring Cortex in Omni.Grant Cortex access
The Snowflake role used for your Omni connection must have the
CORTEX_USER database role. Run the following to grant this role if the Omni user doesn’t currently have it:Enable cross-region support
To ensure model availability (particularly for Claude models), enable cross-region inference. This allows Snowflake to route requests to regions where specific models are hosted:
Omni configuration
After you complete the setup in Snowflake, you can add Snowflake as your AI provider in Omni.Configure the following fields:
| Field | Description |
|---|---|
| Base URL | Your Cortex API endpoint: https://[account_identifier].snowflakecomputing.com/api/v2/cortex/v1 |
| API Key | Your Snowflake Programmatic Access Token (PAT). |
| Query model | The model used for generating SQL (e.g., claude-3-7-sonnet). |
| Text model | The model used for text processing and summaries (e.g., claude-3-5-haiku). |
Troubleshooting
- Insufficient privileges: Ensure the role associated with your PAT has been granted the
SNOWFLAKE.CORTEX_USERdatabase role. - Region errors: If you receive errors regarding model availability, verify that
CORTEX_ENABLED_CROSS_REGIONis set to'ANY_REGION'. - Network blocks: Double-check that all Omni egress IPs are included in your Snowflake Network Policy’s
ALLOWED_IP_LIST.