Skip to content

Free visibility

Chatbot

Ask questions about your own Azure spend in plain language and get streaming answers grounded in your billing data.

The chatbot is part of the free visibility tier, on the app’s Chat page. It answers plain-language questions about your own Azure spend, grounded in the same warehouse as the dashboards. Responses stream back as they are generated, and each conversation keeps its session history, so you can ask follow-ups without repeating context. It goes live with your dashboards, after the first nightly run.

Click any image to enlarge.

The app's Chat page answering "What were the top 3 services by cost in June 2026?" with a ranked table of the three services and a run_safe_sql tool chip showing the query it ran.

Demo capture; amounts render in your billing currency.

It is useful wherever the answer lives in your billing or resource data but would normally cost someone an afternoon of portal queries:

  • Spend questions — “what did SQL cost last month?”, “which subscription grew fastest this quarter?”, “what’s our monthly spend on this resource group?”
  • Resource questions — “which VMs are in North Europe?”, “what SKUs are our databases on?” — anything the resource inventory can see.
  • Movement questions — “why did storage cost go up in May?”, answered by tracing the movement to the resources responsible.
  • Commitment questions — “what’s our reservation coverage?”, using your Reservation and Savings Plan data.

Questions are answered by running read-only SQL over your own tenant’s warehouse — the same gold tables the dashboards read. The model that writes that SQL is OpenAI’s API — the only language-model provider in use today — so the boundary is worth stating precisely rather than as “metadata only”.

Four things cross to the provider on a question:

  1. Your question, plus the scope it runs under — including the subscription IDs and resource-group names in scope.
  2. The shape of your warehouse — the allowlisted table names and the column names and types the query may touch. Not DDL.
  3. The SQL that ran, as text.
  4. The rows that SQL returned, capped at 50 per query. This is the part people assume does not happen: the model reads the result rows and composes the answer you see from them.

Never sent: credentials, the client secret, anything inside your resources, anything from another tenant. Turns are chained at the provider for the length of a session. Full detail, including what this means for EU residency, is in security and data handling.

  • It does not forecast or project beyond the data — it reports what has already landed.
  • Results are row-capped, so a very large breakdown is better read from the BI view.
  • It explains which resources moved and by how much (the billing “why”), not the business justification for a change.

Cross-check any number it gives you against the matching dashboard tile — both read the same gold tables, so the two should agree.

The chatbot’s access is deliberately narrow.

ControlWhat it enforces
Single-SELECT SQLOne SELECT at a time. Every query is parsed and validated before it runs, and anything that is not a single read is rejected.
Table allowlistQueries reach only an allowlist of your tenant’s own warehouse tables. No arbitrary schema access.
Row limitsResult sizes are capped, so a question cannot pull an unbounded export.
No cross-tenant accessEach tenant has its own warehouse. The chatbot cannot see, join to, or query another customer’s data.
Nothing inside your resourcesNo write scopes anywhere. The underlying roles cannot reach database contents, VM filesystems, or application data — see what is never read.
  1. Be specific about time ranges — “last month” and “May” beat “recently”.
  2. Name scopes where you can: a subscription, resource group, or service sharpens the answer.
  3. Ask follow-ups. Each session holds context, so “break that down by resource” works after a spend question.
  4. If tags are poor, ask by resource group or naming pattern instead — structural queries work from day one.

Treat it as the fastest route from “that number looks odd” to an explanation. Movements you can’t explain through the chatbot are good candidates to raise in the audit working session. The same correlation work is what produces validated fixes in an engagement.


Next: What the audit covers — the free audit’s scope and how its evidence is built.