New teams get free Claude credits for their trial. Learn more

How to let your team ask data questions without writing SQL

July 3, 2026•5 min read•Vivek Sah

Hi, this is Vivek, building Contextflo. I share practical notes on getting answers from your data, a couple of times a month.

How to let your team ask data questions without writing SQL

You have data in a database. You have questions about that data. But you don't write SQL, and the person who does is busy.

This is the reality for most teams. The data exists. The questions are straightforward. But the path from question to answer goes through one person, and that person has a backlog.

AI has changed this. You can now ask questions about your company's data in plain English, get back an answer with the SQL visible, and not need anyone else involved. But the way most teams set this up has problems.

The obvious approach and why it falls short

The first thing most people try is pasting their data into ChatGPT or uploading a CSV. This works for small, one-off questions. But it breaks the moment you want to ask questions about live production data, or when more than one person needs answers.

The next step is connecting Claude or ChatGPT directly to your database. There are tools that do this in minutes. The problem is what happens after the connection:

  • The AI doesn't know what your columns mean. It sees amt_net and guesses. Two people ask "what's revenue?" and get two different numbers.
  • Everyone has the same access. There's no way to say "marketing can see campaign data but not payroll."
  • Nobody knows what questions are being asked or whether the answers are correct.

So you end up with a cool demo that nobody trusts for real decisions.

What you actually need

For non-technical team members to reliably get answers from company data, you need four things:

  1. Plain English questions, real answers. The user types a question. They get back a number, a table, or a chart. They don't need to know SQL, what tables exist, or how the schema is structured.
  2. Business context built in. The system knows that "revenue" at your company means SUM(order_total) WHERE status = 'completed', not whatever the AI guesses. Metric definitions, table descriptions, and business rules are defined once and shared across everyone.
  3. Access controls. Different people see different data. Your ops team queries operations tables. Your finance team queries finance tables. Nobody accidentally runs a query against sensitive data.
  4. No new tool to learn. The biggest reason self-serve analytics fails is adoption. People don't want another login, another tab, another interface. If they already use Claude or ChatGPT, the analytics should work there.

How this works in practice

Here's what a typical question looks like when everything is set up. The user types in Claude:

"How many orders did we ship last week by region?"

Behind the scenes, the context layer identifies the right table, applies the company's definition of "shipped" (not just created, not pending, not cancelled), breaks it down by region using the correct column, and returns the answer with the SQL visible, so the data team can spot-check it. The person asking doesn't need to read SQL; their trust comes from the shared definitions underneath.

The user didn't write SQL. They didn't need to know which table has order data. They didn't need to ask the data team. They got an answer in seconds.

Who this is for

This isn't for data engineers. They already have SQL. This is for everyone else:

  • The marketing lead who wants to check campaign performance without filing a ticket.
  • The ops manager who needs a number for a meeting in 10 minutes.
  • The founder who wants to check revenue without bothering the one data person.
  • The customer success team who wants to look up account activity.

If your team has data in a database and questions about that data, this is the fastest way to connect the two without hiring more analysts or rolling out another BI tool.

Getting started

Contextflo connects your database (Postgres, Snowflake, BigQuery, Redshift, MySQL, ClickHouse, Databricks) to Claude or ChatGPT with a context layer that handles definitions, access controls, and query visibility.

Setup takes about 15 minutes. Connect your database with read-only credentials, generate context from your schema, source code, and internal docs, invite your team, and they start asking questions in the AI tool they already use.

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

1
Connect your data
Point Contextflo at your warehouse or database, or upload a CSV. It reaches multiple sources at once, so a single question can span all of them.
2
Generate context automatically
Connect your code repo, Notion docs, or a data dictionary, and Contextflo annotates each table in your data source where it can. You review and correct them. That becomes the foundational context layer: your AI agent does not just see tables, it sees the context around them.
3
Define metrics and save golden queries
Pin the verified SQL behind a metric once. Every question then resolves against the same definitions, so the number is consistent no matter who asks or how they phrase it.
A short walkthrough on a BigQuery warehouse.

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.