Cortex Sense makes a good bet: that most of the context an AI agent needs to answer a question is already sitting in your warehouse, in the shape of queries people have run and dashboards they have built, and that a machine can assemble it without anyone writing a semantic model by hand. If you live entirely in Snowflake, that bet mostly pays off. This post is about where it stops paying off, and where Contextflo takes a different route to the same goal.
If you are Snowflake-only and your data must never leave Snowflake, use Cortex Sense. Most teams are not: the moment your data sits in a second system, or your team wants answers in the AI they already use instead of a Snowflake-hosted agent, the bet breaks, and that is where Contextflo wins.
What Cortex Sense actually is
Cortex Sense is Snowflake's answer to the problem every AI-analytics tool runs into: a language model that can write SQL still needs to know what your columns mean, which tables join to which, and how your business defines revenue. Most tools make someone author that context. Cortex Sense infers it.
It draws on signals Snowflake already holds. Query history shows which fields analysts actually filter and group by. Object metadata carries table and column names and relationships. BI dashboard definitions from tools like Power BI and Tableau carry metric logic. Existing Horizon semantic views carry formal definitions. Cortex Sense assembles these into a context substrate and keeps refreshing it as your data estate changes, then serves it to Snowflake's Cortex agents at query time. Snowflake's line is that no manual configuration is required, and business definitions become available to agents automatically.[1]
That is a real shift from the semantic-view work that came before it, and if your data is all in Snowflake it removes a genuine chore. Snowflake announced it in June 2026, and it is in private preview as of this writing.
Two ways to build the context
Both tools solve the same problem: a model writing SQL needs to know what your columns mean and how your business defines a metric. They solve it from opposite ends.
Cortex Sense infers meaning from how your data has already been used inside Snowflake, the queries people ran, the dashboards they built, the semantic views already defined. Where that history is clean it works well, and it keeps the inferred context fresh on its own.[1] The limit is the method. Inference is only as consistent as the history it reads, so if revenue has been computed two different ways over the years, it can carry that inconsistency forward rather than catch it.[2] And it learns only from what is inside Snowflake.
Contextflo generates context from where the meaning is actually written down: your schema, your source code, and your docs. What active user means is set by the function that computes it, not inferred from a pattern of past queries, and that definition lives in your codebase whether or not it sits in Snowflake. That means it works on day one, and it gets sharper as your team saves corrections.
Who each one is for
Cortex Sense is built for the Snowflake-native shop. Your data is in Snowflake, your governance is in Horizon, and you want an agent that draws on both without a modelling project first. That is a clean fit and the setup cost is close to zero.
Contextflo is built for the team whose data is not all in one place, and who would rather ask in the AI they already have open than adopt a new agent surface. You connect Snowflake, but also BigQuery, Redshift, Databricks, Postgres, SaaS APIs like Stripe or Amplitude, and CSVs you upload. The context comes from your schema, your source code, and your docs, plus curated golden queries, and it reaches Claude or ChatGPT over MCP.
The five things that decide it
| Cortex Sense | Contextflo | |
|---|---|---|
| Agent | Snowflake's Cortex agents | Your own Claude or ChatGPT, over MCP |
| Where answers land | Snowflake's agent surface, Snowsight | The AI window your team already uses |
| Access control | Snowflake RBAC, which is mature and strong | Table-level ACL and per-user audit, layered on your DB roles |
| Context | Inferred from query history, metadata, BI defs, semantic views | Generated from schema, code, docs, plus golden queries you review |
| Reach and setup | Snowflake only, near-zero setup if you are all-in | Snowflake plus other warehouses, SaaS, CSV; about ten minutes |
Where Cortex Sense wins
If your analytics estate is entirely in Snowflake, Cortex Sense is hard to argue against, and I would not try.
The inference is the draw. There is no context file to keep alive. Cortex Sense picks up new signal on a continuous cadence as queries run and dashboards change, so the context tracks your estate on its own. Contextflo re-syncs your schema daily and regenerates definitions, and it also learns from your team's corrections; Cortex Sense asks less of you up front.
It also inherits Snowflake's governance rather than adding a layer beside it. Data never leaves Snowflake, queries run under the roles you already manage in Horizon, and there is no second vendor in the path. For a compliance posture that wants everything inside one perimeter, that is worth real money. Snowflake RBAC is mature, and Contextflo's table-level access control sits on top of your database roles rather than replacing them.
Where Contextflo wins
The boundary that matters most is the one in the name of the platform. Cortex Sense reads Snowflake and feeds Snowflake's agents. The moment a question touches data in Postgres, or a BigQuery export, or last month's Stripe payouts, or a CSV a colleague just made, that is outside the lines. For most teams the data is not all in one warehouse, and the interesting questions are the ones that cross sources. Contextflo connects across the stack and lets a single question span them.
Then there is the agent itself. With Cortex Sense your team asks inside Snowflake's agent surface. With Contextflo they ask in the Claude or ChatGPT window they already keep open, and the same context, definitions, and golden queries follow them there. Tilt, a live-auction marketplace for limited-edition goods, runs about 6,000 queries a month this way with a one-person data team, and most of the company self-serves without opening a BI tool.
The last piece is that governance travels with the question. Admins set which schemas and tables each person or group can query, enforced before the warehouse, and every query is attributed to the person who asked. Snowflake's own governance is strong inside Snowflake; the difference is that Contextflo applies the same rules and the same audit across every source you connect, so Postgres, a BigQuery export, and Snowflake are covered the same way rather than one warehouse in isolation.
The one place Contextflo is rough
Contextflo infers that rev_usd is revenue and that orders join to customers from your schema, code, and docs. Facts that no schema records, such as orders before your 2024 migration using a different status vocabulary, get added when someone corrects an answer and saves it as shared context for everyone. The access control is table-level, not row-level. If what you need is one blessed, governed definition of every metric with change history, which is what a finance board deck depends on, that is a hand-curated model's job, and Cortex Sense sitting on top of Horizon semantic views is closer to it than we are.
How to choose
If you are all-in on Snowflake and expect to stay there, start with Cortex Sense. It is native, the setup cost is close to nothing, and the inference is the least-friction way to give Snowflake's agents context.
If your data is spread across more than Snowflake, or you would rather your team ask in Claude or ChatGPT than adopt another agent, or you want the query behind every answer visible and attributed, that is the case Contextflo is built for. It is free for one user and one data source if you want to point it at a database and ask a question before deciding.
FAQ
What is Snowflake Cortex Sense? Cortex Sense is Snowflake's context layer for AI agents. Instead of asking someone to hand-author a semantic model, it infers business context automatically from signals Snowflake already has: query history, table and column metadata, BI dashboard definitions, and existing semantic views. That context is served to Snowflake's Cortex agents at query time, with no manual configuration step.
Does Cortex Sense work outside Snowflake? No. Cortex Sense reads Snowflake's own query history, metadata, and semantic views, and feeds Snowflake's Cortex agents. Data that lives in Postgres, BigQuery, a SaaS API, or a CSV is outside what it can see. If your whole analytics estate is in Snowflake, that boundary costs you nothing.
Does Cortex Sense check whether the answer is correct? It improves the context an agent reasons over, which raises the odds of a right answer, but it is a context layer rather than an answer-verification layer. Snowflake's own framing is that the accuracy ceiling is set by the context it draws from, and that when signals conflict it surfaces the conflict for a human rather than silently resolving it. It does not confirm that the number an agent returns is the number you asked for.
How is Contextflo different from Cortex Sense? Contextflo works across your whole stack, not just Snowflake, and serves context to the AI your team already uses (Claude or ChatGPT over MCP) instead of a Snowflake-hosted agent. Its context is generated from your schema, source code, and docs, plus curated golden queries that a person has vetted. It works on day one and gets sharper as your team saves corrections.
Here is a more in-depth look at Contextflo and how it works.
What is Contextflo?
Contextflo is a governed context layer between your data and the AI your team already uses. Connect your warehouse once, and your team asks questions in their own Claude or ChatGPT. The model writes and runs the SQL; Contextflo supplies the definitions, the per-user access control, and the audit that make the answers trustworthy. Your data never moves, and you do not need a data team.
How it works
Contextflo, explained by our founder.
Your team queries in their own Claude or ChatGPT over MCP, so you bring any agent rather than a locked-in bot, and every answer comes back with the SQL shown and access enforced per user.
See it on your own data.
Connect your warehouse and your team can ask Claude about it the same day, without waiting on a data team. Want a walkthrough first? Grab 20 minutes.
Book a 20-minute callSee how teams use Contextflo
Related posts
Keep reading

Conversational analytics: 5 ways to set it up, compared
7 min read

How to connect Claude to BigQuery, and fix the errors you'll hit
8 min read

How to connect Claude to Postgres without giving it write access
9 min read

How to build a BI dashboard with Claude that your team can actually trust
8 min read

How to give Claude read-only access to your database (it isn't always the default)
8 min read

You connected your warehouse to Claude, now what?
5 min read

Seven questions, $15: where a Databricks Genie bill actually comes from
7 min read

Manage your context without leaving Claude
4 min read

Why Claude gets your GA4 data wrong (and the free skill that fixes it)
7 min read



