Skip to main content
Snowflake Cortex provides access to industry-leading large language models (LLMs) hosted directly within your Snowflake infrastructure. By connecting Cortex to Omni, you can power features like the Query Assistant and Dashboard Assistant without your data ever leaving the Snowflake security boundary. Because the LLMs are hosted within Snowflake, your metadata and query context remain governed by Snowflake’s existing security and compliance framework.

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 is phasing out single-factor password authentication by October 2026. Ensure you are using PATs for your Cortex API configuration to avoid future service interruptions.

Snowflake setup

Complete the following setup within your Snowflake instance before configuring Cortex in Omni.
1

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:
GRANT DATABASE ROLE SNOWFLAKE.CORTEX_USER TO ROLE <your_omni_role>;
2

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:
ALTER ACCOUNT SET CORTEX_ENABLED_CROSS_REGION = 'ANY_REGION';
3

Configure network policies

If your Snowflake account uses network policies, you’ll need to allow Omni’s egress IP addresses to permit the API traffic. You can find these IPs on the Connection setup page in Omni.After you retrieve Omni’s IP addresses, run the following:
CREATE NETWORK POLICY IF NOT EXISTS cortex_api_policy
  ALLOWED_IP_LIST = ('<omni_ips>');

Omni configuration

After you complete the setup in Snowflake, you can add Snowflake as your AI provider in Omni.
1
In Omni, navigate to Settings > AI and ensure Enable AI is toggled on.
2
Select the Model tab.
3
In the Provider dropdown, select Snowflake Cortex.
4
Configure the following fields:
FieldDescription
Base URLYour Cortex API endpoint: https://[account_identifier].snowflakecomputing.com/api/v2/cortex/v1
API KeyYour Snowflake Programmatic Access Token (PAT).
Query modelThe model used for generating SQL (e.g., claude-3-7-sonnet).
Text modelThe model used for text processing and summaries (e.g., claude-3-5-haiku).
5
Click Save.

Troubleshooting

  • Insufficient privileges: Ensure the role associated with your PAT has been granted the SNOWFLAKE.CORTEX_USER database role.
  • Region errors: If you receive errors regarding model availability, verify that CORTEX_ENABLED_CROSS_REGION is set to 'ANY_REGION'.
  • Network blocks: Double-check that all Omni egress IPs are included in your Snowflake Network Policy’s ALLOWED_IP_LIST.