Top Gradient
Back

Snowflake Intelligence: Overview, Pricing & Cost Monitoring

Author

Jeff SkoldbergFriday, October 10, 2025

Snowflake Intelligence, welcome to the chat.

What is Snowflake Intelligence?

Snowflake Intelligence is a new UI accessed from ai.snowflake.com that lets you ask questions about your data in plain English and get answers back instantly, complete with charts, table outputs, or natural language insights. This is an isolated app for business users who don’t want to see all of the complexity of the Snowsight UI. They don’t need to explore databases, schemas, roles, query history, etc. They just want a streamlined chat interface with no SQL required, no waiting for analytics engineers to get them answers. It's powered by AI agents that orchestrate between structured data (via Cortex Analyst), unstructured data (via Cortex Search), and custom tools to give you a complete picture of your business.

Think of it as ChatGPT for your Snowflake data, except it actually knows your business definitions, respects your access controls, and has fewer hallucinations due to leveraging agents and semantic models built by your internal team.

Now, business people can ask questions in their own words, such as "show me Q4 revenue by product category" without knowing which tables contain revenue data or how products are categorized. A supply chain analyst can ask "what issues are customers reporting with our winter jackets?" and get insights from both structured sales data and unstructured support tickets. The agent figures out what tools to use and how to combine the results.

All of this is not without some upfront work to set up properly, and the costs can sneak up on you if you're not careful. Let's break down how it works, what it costs, and how to keep your bill under control.

How to use Snowflake Intelligence

Snowflake Intelligence uses agents, which are AI models connected to one or more semantic views, semantic models, Cortex Search services, and tools. The magic happens through a two-phase workflow: configuration and usage.

Phase 1: Setting up infrastructure and agents

First, create the database and schema structure for Intelligence:

1-- Create the Intelligence database
2CREATE DATABASE IF NOT EXISTS snowflake_intelligence;
3GRANT USAGE ON DATABASE snowflake_intelligence TO ROLE PUBLIC;
4
5-- Create schema for agents
6CREATE SCHEMA IF NOT EXISTS snowflake_intelligence.agents;
7GRANT USAGE ON SCHEMA snowflake_intelligence.agents TO ROLE PUBLIC;
8
9-- Grant agent creation privileges
10GRANT CREATE AGENT ON SCHEMA snowflake_intelligence.agents TO ROLE your_admin_role;

By default, Snowflake Intelligence uses the default role and warehouse of the user, so make sure users have these configured.

Phase 2: Building semantic views for structured data

Create a Semantic View in Snowflake prep for Snowflake Intelligence

A semantic view maps business terminology to your actual database schema. Instead of requiring users to know that revenue lives in fact_sales.amt_total_excl_tax, you define "revenue" as a business concept.

You can create semantic views through a wizard in Snowsight or by uploading YAML files. The wizard approach:

  1. Navigate to AI & ML → Cortex Analyst
  2. Click "Create new" → "Create new Semantic View"
  3. Select your tables and columns
  4. Define business metrics and relationships
  5. Add sample questions

Behind the scenes, this generates a YAML file. Semantic views address the mismatch between how business users describe data and how it's stored in database schemas. Here's a minimal example:

1name: revenue_analysis
2description: "Sales and revenue metrics by product and region"
3tables:
4 - name: sales
5 description: "Daily sales transactions"
6 base_table:
7 database: analytics_db
8 schema: sales
9 table: fact_daily_sales
10 dimensions:
11 - name: product_category
12 expr: product_category
13 data_type: STRING
14 description: "Product category"
15 facts:

The key is being thorough with descriptions and synonyms. If someone asks about "total sales" and you've only defined "gross revenue," the agent might not understand.

The YAML can be edited directly in Snowsight, or you can edit through the wizard.

Snowsight, edit Sematnic View

Phase 3: Creating Cortex Search services for unstructured data

See our blob post on Cortex Search for more details on how to implement this. Here’s a quick example.

For documents, support tickets, or other text data:

1-- Create search service on your document table
2CREATE CORTEX SEARCH SERVICE support_tickets_search
3 ON ticket_text
4 ATTRIBUTES customer_id, ticket_date, severity
5 WAREHOUSE = search_warehouse
6 TARGET_LAG = '1 hour'
7 AS (
8 SELECT
9 ticket_id,
10 ticket_text,
11 customer_id,
12 ticket_date,
13 severity
14 FROM support.tickets
15 );

Cortex Search is useful for indexing and searching pieces of data with a lot of text, such as documents, conversations, and transcripts.

Phase 4: Creating and configuring agents

Create agent in Snowflake

Now you wire everything together. In Snowsight:

  1. Navigate to AI & ML → Agents → Create agent
  2. Choose "Create this agent for Snowflake Intelligence"
  3. Give it a name users will see
  4. Add your semantic views as Cortex Analyst tools
  5. Add your Cortex Search services
  6. Configure orchestration instructions
  7. Set up role-based access

The agent now has access to both structured and unstructured data sources and can orchestrate between them. When a user asks a question, the agent:

  • Parses the question
  • Determines which tools to use
  • Executes queries against semantic views (generating SQL via Cortex Analyst)
  • Searches unstructured data (via Cortex Search)
  • Combines results and generates visualizations

Phase 5: Using Intelligence

Users access Intelligence at ai.snowflake.com. Here, you’ll find a very simple sidebar navigation with three options:

Snowflake Intelligence sidebar

New Chat:

Snowflake Intelligence New Chat

Agents:

Snowflake Intelligence Agents

Recent (chats)

Snowflake Intelligence Recent Chats

Most users will start with “New chat”. Just pick an agent, a data source (auto is suggested), and ask a question.

When you ask a question, you’ll see the agent goes into deep thinking mode, and shows its reasoning steps along the way:

Snowflake Intelligence, thinking hard

Once the agent has finalized the answer, it will hide the reasoning details by default, but you can always check back on the thought process by clicking “show details”.

Snowflake Intelligence Shortfalls

One of the main downsides I see is that you can’t save analyses to visit often. There’s no “chat once review report many times” functionality. Other AI driven agents will allow you to pin analysis to a dashboard or folder, and refresh a specific analysis. With this Snowflake Intelligence, if you have the same question every day, you need to go back to the chat and ask it to refresh the analysis with the latest data. This is a sub-optimal user experience for recurring reports.

How does Snowflake Intelligence pricing work?

Cortex Agents and therefore Snowflake Intelligence doesn't have any cost considerations besides those associated with the underlying Cortex Search and Cortex Analyst functionality. We’ve written detailed articles on these topics, linked below. But here’s a quick summary of each of the cost components.

Cortex Analyst costs:

Cortex Analyst handles questions that require querying structured and semi-structured data; this covers AI costs for text-to-SQL. Additional warehouse costs apply when you execute the SQL generated by Cortex Analyst. The AI Services component charges per request, not per token. According to the Snowflake Service Consumption Table, Cortex Analyst consumes 6.7 credits per 100 request for most models.

Cortex Search costs (for unstructured data):

Cortex Search handles user chats that query unstructured data. Search services consume credits during both indexing and searching. This is currently 8 credits per hour.

How to monitor Snowflake Intelligence costs & usage

Our article on Cortex Search and Cortex Analyst go into more detail on monitoring each of those services. Intelligence costs show up across multiple service types, so you need comprehensive queries to track everything. Check out the last monitoring query that monitors all services that may be used by Snowflake Intelligence!

Track Cortex Analyst usage

This shows who's using Cortex Analyst the most and which warehouses are executing the generated queries.

1-- Daily Cortex Analyst requests and costs
2SELECT
3 DATE_TRUNC('day', start_time) AS usage_date,
4 SUM(request_count) AS total_requests,
5 SUM(credits) AS analyst_credits,
6 username
7FROM snowflake.account_usage.cortex_analyst_usage_history
8WHERE start_time >= DATEADD(day, -30, CURRENT_DATE())
9GROUP BY DATE_TRUNC('day', start_time), username
10ORDER BY usage_date DESC, analyst_credits DESC;

Track all AI Services costs

This captures all AI-related costs including Cortex Search, Document AI, and AISQL functions in one place.

1-- AI Services consumption by service type
2SELECT
3 DATE_TRUNC('day', usage_date) as day,
4 service_type,
5 SUM(credits_used) as credits
6FROM snowflake.account_usage.metering_daily_history
7WHERE service_type = 'AI_SERVICES'
8 AND usage_date >= DATEADD(day, -30, CURRENT_DATE())
9GROUP BY DATE_TRUNC('day', usage_date), service_type
10ORDER BY day DESC, credits DESC;

Monitor warehouse costs for Intelligence queries

Unfortunately, there is no great way to find queries generated by an agent. You can filter by Warehouse or Role, but there is no specific logging that flags these query IDs separately. Here’s an example of filtering by Warehouse. Please consider how you are going to identify these queries and set up your environment accordingly.

1-- Warehouse consumption from Intelligence agent queries
2-- Requires naming or tagging your Intelligence warehouses
3SELECT
4 DATE_TRUNC('day', start_time) as usage_date,
5 warehouse_name,
6 SUM(credits_used_compute) as compute_credits,
7 SUM(credits_used_cloud_services) as cloud_credits,
8 SUM(credits_used) as total_credits,
9FROM snowflake.account_usage.warehouse_metering_history
10WHERE warehouse_name IN (
11 'INTELLIGENCE_WAREHOUSE',
12 'ANALYST_WAREHOUSE',
13 'SEARCH_WAREHOUSE'
14)
15 AND start_time >= DATEADD(day, -30, CURRENT_DATE())

Track Cortex Search operations

1-- Cortex Search service usage
2SELECT
3 DATE_TRUNC('day', start_time) AS usage_date,
4 service_name,
5 database_name,
6 schema_name,
7 SUM(credits) AS search_credits,
8 SUM(credits) * 2 AS cost_usd
9FROM snowflake.account_usage.cortex_search_serving_usage_history
10WHERE start_time >= DATEADD(day, -30, CURRENT_DATE())
11GROUP BY DATE_TRUNC('day', start_time), service_name, database_name, schema_name
12ORDER BY usage_date DESC, search_credits DESC;

Combined Intelligence cost view

This query gives you a complete picture of Intelligence costs broken down by component, letting you see whether costs are driven by query volume, search operations, or warehouse compute.

1-- Complete Intelligence cost rollup
2WITH analyst_costs AS (
3 SELECT
4 DATE_TRUNC('day', start_time) AS day,
5 'Cortex Analyst (AI requests)' AS component,
6 SUM(credits) AS credits
7 FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_ANALYST_USAGE_HISTORY
8 WHERE start_time >= DATEADD(day, -30, CURRENT_DATE())
9 GROUP BY 1
10),
11search_costs AS (
12 SELECT
13 usage_date AS day,
14 'Cortex Search (Serving + Indexing)' AS component,
15 SUM(credits) AS credits


Monitor specific Semantic Views in Snowsight

In the Snowsight UI, go to AI ML -> Cortex Analyst -> Semantic Views -> Monitoring. Here you will find the usage on specific semantic views.

Monitor usage on a semantic view

Best practices & recommendations when using Snowflake Intelligence

Set up alerts, not just dashboards

Those monitoring queries above are worthless if nobody runs them. For anything you want to monitor in Snowflake, you can wrap the SQL in a scheduled task with a Notification Integration to create a custom monitor that sends alerts to Slack or Teams. If you want extremely easy to use monitoring functionality, check out monitors in SELECT.

Right-size your warehouses for Intelligence workloads

The above charges cover AI costs for text-to-SQL. Additional warehouse costs apply when you execute the SQL generated by Cortex Analyst. Start with an X-Small or Small warehouse for Analyst queries. The SQL generation itself is cheap; the query execution can be expensive if you're using oversized warehouses.

Design semantic views strategically

Poor semantic view design makes agents slow and expensive. Follow these principles:

Start narrow, expand gradually. Begin with 3-5 key tables and the most common questions. A well-scoped semantic file ensures higher precision and accuracy of results. You can always add more tables later.

Add verified query repositories. These are example questions with validated SQL that dramatically improve accuracy. When users ask similar questions, Cortex Analyst can reference these examples:

1verified_queries:
2 - name: "total revenue last quarter"
3 question: "What was total revenue in Q4?"
4 sql: |
5 SELECT SUM(revenue_amount)
6 FROM fact_sales
7 WHERE sale_date >= '2024-10-01'
8 AND sale_date < '2025-01-01'
9 verified_result: 1250000.00

Use descriptive names and add synonyms. If your table is called dim_product_category_master, define it with business-friendly names:

1dimensions:
2 - name: product_category
3 synonyms: ["category", "product type", "product class"]
4 description: "High-level product grouping (Electronics, Clothing, etc.)"

Implement usage quotas per user or role

Snowflake Intelligence doesn't have built-in per-user quotas, but you can implement them through resource monitors on the warehouses used by agents:

1-- Create a resource monitor for Intelligence usage
2CREATE RESOURCE MONITOR intelligence_monthly_quota
3 WITH CREDIT_QUOTA = 500
4 FREQUENCY = MONTHLY
5 START_TIMESTAMP = IMMEDIATELY
6 TRIGGERS
7 ON 75 PERCENT DO NOTIFY
8 ON 90 PERCENT DO NOTIFY
9 ON 100 PERCENT DO SUSPEND;
10
11-- Assign to Intelligence warehouses
12ALTER WAREHOUSE intelligence_warehouse
13 SET RESOURCE_MONITOR = intelligence_monthly_quota;

Optimize your Cortex Search services

Search costs depend heavily on how you configure the service. Follow these guidelines:

Set appropriate target lags. If your documents don't change frequently, use longer refresh intervals:

1-- For static documentation
2CREATE CORTEX SEARCH SERVICE product_docs_search
3 ON document_text
4 TARGET_LAG = '24 hours' -- Instead of default 1 hour
5 ...

Filter search scope when possible. If agents only need recent documents, add filters:

1CREATE CORTEX SEARCH SERVICE support_tickets_search
2 ON ticket_text
3 ATTRIBUTES customer_id, ticket_date, severity
4 WHERE ticket_date >= DATEADD(year, -1, CURRENT_DATE())
5 ...

Wrap Up

Snowflake Intelligence makes enterprise data accessible to non-technical users through natural language, combining structured and unstructured data sources seamlessly. The key to controlling costs is understanding the components: Cortex Analyst for SQL generation, virtual warehouses for query execution, Cortex Search for unstructured data, and LLM orchestration to tie it all together.

Start small with a focused semantic view covering your most critical metrics, monitor usage closely, and expand gradually as you understand your cost drivers. Most importantly, set up alerts on those monitoring queries so you catch cost spikes before they hit your bill.

Let us know how you're using Snowflake Intelligence! We'd love to hear real-world stories about which use cases justify the cost and where you've seen the biggest ROI.

Author
Jeff Skoldberg Sales Engineer at SELECT

Jeff Skoldberg is a Sales Engineer at SELECT, helping customers get maximum value out of the SELECT app to reduce their Snowflake spend. Prior to joining SELECT, Jeff was a Data and Analytics Consultant with 15+ years experience in automating insights and using data to control business processes. From a technology standpoint, he specializes in Snowflake + dbt + Tableau. From a business topic standpoint, he has experience in Public Utility, Clinical Trials, Publishing, CPG, and Manufacturing.

Want to hear about our latest Snowflake learnings?Subscribe to get notified.

Get up and running in less than 15 minutes

Connect your Snowflake account and instantly understand your savings potential.

CTA Screen