Hey everyone, I'm Elena and I want to walk you through the BI chatbot prototype we built on Snowflake Cortex — what problem it solves, how it works, and where we go next.
The core problem is simple: business users at Heydata have questions their data can already answer, but they can't get to the answers without going through an analyst or a dashboard. They need a conversational layer on top of the warehouse — but it has to be GDPR compliant and cost-controlled.
Here's the full picture of what we built. It's three layers: the data models, the semantic objects, and the cost governance infrastructure. Let me walk through each one.
First, the data layer. Our existing Metabase-optimized models weren't ideal for Cortex, so we created a separate dbt schema with models designed for agentic use. The key difference is field-level documentation that flows directly into Snowflake — Cortex Analysts use these descriptions to understand what each column means. On top of that, we created two Cortex Analysts as semantic views and one Cortex Agent that ties them together.
Now the cost governance piece, which is where most of the effort went. We created a dedicated warehouse just for agent queries so costs are easy to isolate. Two roles control access: CHATBOT_ACCESS_ROLE has the permissions, CHATBOT_USER_ROLE inherits it, and individual users are granted CHATBOT_USER_ROLE. The budget monitors Cortex usage and does two things: warns when you're close, and automatically revokes access when the limit is hit — via a stored procedure that removes CHATBOT_ACCESS_ROLE from the user role. One gotcha: Snowflake's standard budget monitor has an 8-hour lag for AI features. You can enable low-latency mode to get that down to 2 hours, but it costs more.
Let's look at the actual interface. This is the Snowflake AI portal — I'll walk through a few example questions live to show what the chatbot can do.
This fits both sales and delivery contexts. On the sales side, it's a concrete prototype we can show prospects. On the delivery side, it's a pattern we can replicate for clients who want conversational analytics on their Snowflake data.
Next quarter, selected Heydata users will start testing this to give us real data on UX and costs. In parallel, we'll build MVPs with Bedrock and Metabase MCP so we can compare approaches head-to-head across user experience, cost, and compliance. The idea is to pick the best tool for the job, not commit to one stack.
That's it — happy to answer questions about Cortex, the cost governance setup, or how this compares to other approaches we're exploring.