Snowflake Cortex Sense vs Contextflo
How Snowflake Cortex Sense and Contextflo compare: auto-inferred context inside Snowflake versus generated, checkable context in Claude and ChatGPT across your whole stack.
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.
I run Contextflo, so read the comparison knowing that. The tradeoffs below are real in both directions, and for a lot of Snowflake-native teams Cortex Sense is the better call.
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. You review the generated context as a draft before it carries a number that matters.
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 draft to sit down and review, 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, but a person still reads the generated context; 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
Generated context is a draft, and someone who knows the business has to read it. Contextflo will infer that rev_usd is revenue and that orders join to customers, but it does not know that orders before your 2024 migration used a different status vocabulary, and no schema records that. The access control is table-level, not row-level, and the generated definitions are not a finance-signed-off, versioned semantic model that a board deck can lean on unedited. If what you need is one blessed, governed definition of every metric with change history, 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, and you review it as a draft.