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.
What you can ask
Section titled “What you can ask”
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.
Where answers come from
Section titled “Where answers come from”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:
- Your question, plus the scope it runs under — including the subscription IDs and resource-group names in scope.
- The shape of your warehouse — the allowlisted table names and the column names and types the query may touch. Not DDL.
- The SQL that ran, as text.
- 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.
What it can’t do
Section titled “What it can’t do”- 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.
How it stays safe
Section titled “How it stays safe”The chatbot’s access is deliberately narrow.
| Control | What it enforces |
|---|---|
| Single-SELECT SQL | One SELECT at a time. Every query is parsed and validated before it runs, and anything that is not a single read is rejected. |
| Table allowlist | Queries reach only an allowlist of your tenant’s own warehouse tables. No arbitrary schema access. |
| Row limits | Result sizes are capped, so a question cannot pull an unbounded export. |
| No cross-tenant access | Each tenant has its own warehouse. The chatbot cannot see, join to, or query another customer’s data. |
| Nothing inside your resources | No write scopes anywhere. The underlying roles cannot reach database contents, VM filesystems, or application data — see what is never read. |
Getting better answers
Section titled “Getting better answers”- Be specific about time ranges — “last month” and “May” beat “recently”.
- Name scopes where you can: a subscription, resource group, or service sharpens the answer.
- Ask follow-ups. Each session holds context, so “break that down by resource” works after a spend question.
- If tags are poor, ask by resource group or naming pattern instead — structural queries work from day one.
Where the chatbot fits
Section titled “Where the chatbot fits”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.