Dr. Estera Kot

FabCon Europe 2026 in 18 demos · Part 12 of 18 · Agents

Fabric data agent: plain-language questions over a lakehouse

The data agent turns an English question into read-only SQL, runs it with your permissions, and answers in a sentence and a table.

By Dr. Estera Kot, Microsoft MVP, CTO at Clouds on Mars, and former Microsoft Principal Product Manager for the Apache Spark runtime in Fabric. Published .

A Fabric data agent is a Microsoft Fabric item that answers plain-English questions about data in OneLake. It picks a data source, writes a read-only SQL, DAX, or KQL query, runs it with the asking user's permissions, and returns a short answer with a table. You configure it like a small product: which tables it sees, what instructions it follows, and which example queries guide it.

The agent is how Fabric data reaches chat, in Microsoft 365 Copilot and in Copilot Studio. It was not a keynote launch. Microsoft listed it as generally available in March 2026, and the keynote built on it with Copilot Studio and closer ties to the ontology in Fabric IQ. This post is part of FabCon Europe 2026 in 18 demos.

In short

  1. The Fabric data agent is GA. It answers English questions over lakehouses, warehouses, semantic models, KQL databases, mirrored databases, ontologies, and Microsoft Graph, with read-only queries that run as the asking user.
  2. In the demo it answered both questions correctly from the lakehouse lh_oud_rd: Oud Saffron S-7 at 68 percent and 14,353 QAR per kilogram, then a sorted table of all six formulas.
  3. Learn supports English only. The Polish and German demo agents also answered correctly, but outside official support, so test your language and your hardest questions before anyone relies on it.
The Formula agent answers two English questions from the lakehouse lh_oud_rd: one sentence with the winning formula and its cost, then a sorted table of all six formulas. Waiting time is sped up. 45 seconds, no sound, recorded Oct 21, 2026.

Same demo in Polish and German. Step-by-step runbook: D17.

What the Fabric data agent is and how it answers

The data agent runs on Azure OpenAI Assistant APIs. It checks each question against security rules, responsible AI policies, and the user's permissions. It reads each source's schema with the user's credentials, then picks the source that fits, guided by your instructions and descriptions.

A query tool then writes the query: NL2SQL for lakehouses and warehouses, NL2DAX for semantic models, NL2KQL for KQL databases. The tool validates it, the agent runs it, and the answer comes back as text and a table. The agent never writes a query that creates, updates, or deletes data.

One agent holds up to five data sources in any mix: lakehouses, warehouses, Power BI semantic models, KQL databases, mirrored databases, ontologies, and Microsoft Graph. For a lakehouse, it reads the tables you select, not files. PDF, Word, and text documents are out of scope.

How a Fabric data agent answers a question An English question goes to the data agent, which Microsoft operates on Azure OpenAI Assistant APIs. It checks policy and permissions, picks a source using your instructions and the schema, and rephrases the question. A query tool writes the query: NL2SQL for lakehouses and warehouses, NL2DAX for semantic models, NL2KQL for KQL databases. The query is validated and runs read-only with the asking user's identity, so row-level security, column-level security, and Purview DLP apply at that point. The answer is a sentence plus a table of up to 25 rows and 25 columns. The data stays in OneLake, in up to five sources per agent. Question “Which formulahas the highestshare of testerspicking it overthe reference…” English only,per Learn Data agentAzure OpenAI Assistant APIs Checks policy andpermissions Picks a source frominstructions and schema Rephrases thequestion for the tool Query tool NL2SQLlakehouse, warehouse NL2DAXsemantic model NL2KQLKQL database Green: used in the demo Run, read-only Validates the query,then runs it as theasking user. Security applies RLS and CLS filterrows and columns.Purview DLP canblock or trim. Answer One sentenceplus a table Up to 25 rowsand 25 columnsin chat Your data in OneLake Up to five sources per agent: lakehouse, warehouse, semantic model, KQL database, mirrored database, ontology,Microsoft Graph. For a lakehouse, the agent reads only the tables you select, never files. query and rows schema, read with the user's credentials How a Fabric data agent answers a question An English question goes to the data agent, which Microsoft operates on Azure OpenAI Assistant APIs. It checks policy and permissions, picks a source using your instructions and the schema, and rephrases the question. A query tool writes the query: NL2SQL for lakehouses and warehouses, NL2DAX for semantic models, NL2KQL for KQL databases. The query is validated and runs read-only with the asking user's identity, so row-level security, column-level security, and Purview DLP apply at that point. The answer is a sentence plus a table of up to 25 rows and 25 columns. The data stays in OneLake, in up to five sources per agent. Question “Which formula has the highest share oftesters picking it over the reference…” English only, per Learn Data agentAzure OpenAI Assistant APIs Checks policy and permissions Picks a source from instructions, schema Rephrases the question for the tool Query tool NL2SQL lakehouse, warehouse (the demo) NL2DAX semantic model NL2KQL KQL database Run, read-only Validates the query, then runs it as theasking user. Security applies here RLS and CLS filter rows and columns.Purview DLP can block or trim answers. query and rows Your data in OneLake Up to five sources per agent. For alakehouse, only the tables you select,never files. Answer One sentence plus a table, up to 25 rowsand 25 columns in chat
Figure 1. The path of one question. The hatched block is operated by Microsoft. Security applies where the query runs, with the asking user's identity.

Security sits at execution time. The query runs with the requesting user's identity, so row-level and column-level security apply, and Purview DLP can block a query or trim an answer. Sharing the agent does not share the data. Each user still needs read access to every source behind it.

For a semantic model, Read on the model is enough. That makes the AI setting on each semantic model worth checking, because it decides whether read-only users can reach the model through AI tools.

How the answer is grounded: tables, instructions, example queries

A data agent is not document retrieval. It grounds each answer in the result of a query it ran. The work goes into the context it reads before writing that query.

Tenant policies outrank workspace permissions, which outrank your configuration, which outranks the user's question. No instruction talks the agent past a permission.

The demo agent used the minimum. One line in its instructions carries the business meaning: “first_choice_pct is the share of testers who picked the formula over the reference: above 50 means the formula wins.”

  1. Selected tablesFive tables in lh_oud_rd: formulas, formula_metrics, formula_ingredients, ingredients, preference_trials.
  2. Agent instructionsOne English block: what the data is, what first_choice_pct means, which table holds what, how to format the answer.
  3. Data source description and instructionsLeft empty in the demo.
  4. Example queriesLeft empty in the demo. Up to 100 question and SQL pairs per source.
  5. The questionTwo prompts in English.
NL2SQLWrites one read-only query for lh_oud_rd from everything on the left.
Figure 2. What the agent reads before it writes SQL. Solid boxes were set in the demo, dashed boxes were left empty. Each dashed box is context you can add.

What the demo shows

The clip opens the Formula agent, still in Draft, with the lakehouse lh_oud_rd under Sources.

At 0:02 the first question goes in. At 0:09 the Details panel shows what the agent made of it: “Find the formula in the preference_trials data with the highest first_choice_pct (share of testers picking it over the reference). Then return its formula_name and the corresponding first_choice_pct, along with its cost_qar_per_kg from formula_metrics.” This is the step where English becomes column names.

The question in the chat, the status Analyzing lh_oud_rd LakehouseTables database, and the expanded Details line that rephrases the question with preference_trials, first_choice_pct, formula_name, and cost_qar_per_kg.
The rephrased question at 0:09. Read this line first when an answer looks wrong.

At 0:10 the answer arrives, with a response time of 8 seconds: “Oud Saffron S-7 has the highest share of testers picking it over the reference (68%), and its concentrate costs 14,353 QAR per kilogram.” That matches the expected answer for formula OB-104.

At 0:16 the second question asks for all formulas, sorted by average share. At 0:28 a table appears after 9 seconds, with no chart, as the instructions asked:

IDFormulaAverage first-choice shareCost per kg (QAR)
OB-104Oud Saffron S-768.014,353
OB-102Oud Rose57.013,074
OB-106Oud Daylight53.08,697
OB-105Oud Plantation52.513,273
OB-103Oud Amber51.011,135
OB-101Oud Classic48.09,443

Oud Plantation is the row to check. It has two trials, 44 and 61 percent, and 52.5 is their average. The agent averaged because the question said “average.”

How the agent reaches Microsoft 365 Copilot and Copilot Studio

An agent reaches people outside Fabric only after you publish it. Publishing creates a read-only version that others query while you keep editing the draft.

Microsoft 365 Copilot. At publish time, select Publish to Agent Store. Users then chat with the agent or mention it with @ in Copilot. Copilot's orchestrator rewords the answer. Learn suggests asking for as-is output in the publishing description, and still expects some change.

Copilot Studio. The current path adds the agent as a tool named Fabric IQ Data MCP. Only published agents appear. The orchestrator decides when to call the tool from the description you write, so make it specific. Learn's What's new page lists this integration as generally available in August 2026. The older connected-agent page still says preview.

Licensing. The Fabric side needs a paid F2 or higher capacity, or P1 and up with Fabric enabled. Agent use bills as AI Query: 100 CU seconds per 1,000 input tokens and 400 per 1,000 output tokens. The SQL bills to the engine that runs it. For Microsoft 365 Copilot, Learn lists a Microsoft Copilot license or an Office 365 commercial subscription, plus user licenses. For Copilot Studio, it lists a Microsoft 365 Copilot license and a user license for each person who builds agents.

Inside Fabric

The data agent and its sources. Every query is read-only and runs with the caller's identity.

Needs a paid F2 or higher capacity, or P1 and up with Fabric enabled.

Fabric compliance boundary

Published channels

  • Microsoft 365 CopilotTBC no label on Learn

    Publish to Agent Store, then chat with the agent or mention it with @. Microsoft Copilot license or Office 365 commercial subscription, plus user licenses.

  • Copilot Studio, as a toolGA

    The Fabric IQ Data MCP tool. Microsoft 365 Copilot license, plus a user license per builder. User or Maker authentication.

  • Copilot Studio, as a connected agentPreview

    The older path, still documented.

  • Microsoft FoundryPreview

    A Foundry agent calls the data agent through Fabric IQ.

Figure 3. Four ways a published data agent reaches people outside Fabric. On each one, Learn warns that responses may leave Fabric's compliance boundary or region. Statuses checked on Learn on November 3, 2026.

Learn attaches one warning to every channel outside Fabric. Responses may leave Fabric's compliance boundary or region, under the other service's terms. To keep a workspace's data in, see outbound access protection, which covers data agents in preview.

Limits and catches

Catch: Maker authentication in Copilot Studio. When you add the data agent as a tool, you pick an authentication mode. With User, each person queries with their own access. With Maker, everyone who uses the Copilot Studio agent sees data through the maker's access. That undoes the rule that the agent sees only what the asking user sees. Choose User unless the maker's access is meant for everyone.

English only, officially

Learn states that the data agent does not support non-English languages. It asks for questions, instructions, and example queries in English. The Polish and German demo agents, Agent receptur and Rezeptur-Agent, answered both questions correctly. That result sits outside official support. Test your own language on your own questions before anyone relies on it.

A vague question gets a confident wrong answer

While recording the English version, Dr. Kot also asked a looser question: “Which formula beats the reference most often?” The agent counted winning trials and named Oud Amber. Each formula has only about one trial, so a count cannot separate them. The answer read as confident and missed the intent.

Other limits from Learn

Run it yourself

The runbook D17 rebuilds the agent in a tenant you control. The setup script creates it with the same five tables and instructions: Formula agent in English, Agent receptur in Polish, Rezeptur-Agent in German.

cd demos
pip install -r requirements.txt
cp config.example.env config.env    # subscription, resource group, capacity name
python3 fabdemo.py up
  1. Open the data agent. The source lh_oud_rd shows on the left.
  2. Ask the first question below and open the generated SQL.
  3. Ask the second question.
Which formula has the highest share of testers picking it over the reference, and what does a kilogram of its concentrate cost?

Show a table of all formulas: name, average first-choice share against the reference, and cost per kilogram. Sort by share, highest first.

Expected result: OB-104 Oud Saffron S-7, 68 percent, 14,353 QAR per kg, then the six rows shown above, from Oud Saffron S-7 at 68 down to Oud Classic at 48. The verification run on October 21, 2026 answered the first question in 18 seconds.

Time and cost: about 4 minutes, on the F8 capacity from up. The recap README puts F8 at about 1.41 EUR per hour in France Central, at the Azure retail price on October 21, 2026. Pause it with python3 fabdemo.py capacity pause when you finish.

To grow the check, take more questions with known answers from EXPECTED-ANSWERS.md and rerun them after every change to instructions or example queries. The Fabric data agent SDK, in preview, can run that evaluation from a notebook.

What to do on Monday

On Monday: Check your data agent with questions you already know the answers to.

Start with the questions your team answers by hand today. Add the vague versions people type in chat, because the demo's wrong answer came from that kind of question.

Key facts at a glance

Checked on Microsoft Learn on November 3, 2026.

IDFactSource
K1Status: GA. Listed in the Fabric March 2026 Feature Summary, published March 18, 2026.Learn: Fabric data agent concepts
K2Data sources: lakehouse, warehouse, Power BI semantic model, KQL database, mirrored database, ontology, Microsoft Graph. Up to five per agent.Learn: Fabric data agent concepts
K3Query tools: NL2SQL, NL2DAX, NL2KQL. Read-only, no create, update, or delete.Learn: Fabric data agent concepts
K4Language: questions, instructions, and example queries in English. Other languages are not supported.Learn: Fabric data agent concepts
K5Example queries: up to 100 per data source. Not supported for semantic models or ontologies.Learn: Example queries
K6Answer size in chat: 25 rows and 25 columns. Up to 1,000 rows in preview.Learn: Fabric data agent concepts
K7Capacity: paid F2 or higher, or P1 and up with Fabric enabled. Source and agent capacities must share a region.Learn: Fabric data agent concepts
K8Billing: AI Query at 100 CU seconds per 1,000 input tokens, 10 cached, 400 output. Query execution bills to the engine.Learn: Data agent in Fabric consumption
K9Microsoft 365 Copilot: Publish to Agent Store. Microsoft Copilot license or Office 365 commercial subscription, plus user licenses.Learn: Consume Fabric data agent in Microsoft Copilot
K10Copilot Studio: tool named Fabric IQ Data MCP, GA in August 2026. Microsoft 365 Copilot license plus a user license per builder. User or Maker authentication.Learn: Add a Fabric data agent as a tool in Copilot Studio
K11Conversation history: stored up to 28 days unless the user clears it.Learn: Fabric data agent tenant settings

Frequently asked questions

Is the Fabric data agent generally available?

Yes. Learn describes the data agent in Microsoft Fabric as generally available, and Microsoft listed it as GA in the Fabric March 2026 Feature Summary. Some newer parts are still preview, including topics, the preview runtime, and the connected-agent path in Copilot Studio.

Does the Fabric data agent support languages other than English?

Not officially. Learn says the data agent does not support non-English languages and asks for questions, instructions, and example queries in English. Polish and German demo agents answered correctly in the FabCon Europe 2026 recap, but outside official support, so test your own language first.

Which data sources can a Fabric data agent query?

Lakehouses, warehouses, Power BI semantic models, KQL databases, mirrored databases, ontologies, and Microsoft Graph, up to five per agent. For a lakehouse it reads the tables you select, not files. It does not read PDF, Word, or text documents.

Does the Fabric data agent respect row-level security?

Learn says yes. The agent runs every query with the requesting user's credentials, so row-level security, column-level security, and Purview policies apply. In Copilot Studio, choose User authentication, because Maker authentication shows every user the data the maker can see.

How do I use a Fabric data agent in Microsoft 365 Copilot?

Publish the data agent and select Publish to Agent Store. Users then open it from the Agent Store or mention it with @ in Copilot chat. Each user still needs access to the agent and its data sources, plus the licenses Learn lists for Microsoft Copilot.

What license does a Fabric data agent need in Copilot Studio?

The data agent needs a paid F2 or higher Fabric capacity, or P1 and up with Fabric enabled. Copilot Studio needs a Microsoft 365 Copilot license and a user license for each person who builds and manages agents. Agent queries also consume capacity units on the Fabric side.

Why does my Fabric data agent return only 25 rows?

Learn caps chat responses at 25 rows and 25 columns, because the agent is built for conversational answers, not full datasets. A preview raises the limit to 1,000 rows. Follow-up questions build on the trimmed result, so start a new chat when you need different rows.

About the author

Dr. Estera Kot is CTO at Clouds on Mars, a Microsoft and Databricks partner for data and AI in Europe and the Middle East. At Microsoft she was Principal Product Manager for the Apache Spark runtime in Azure Synapse Analytics and Microsoft Fabric, and she created the Native Execution Engine. She is a Microsoft MVP and holds a Ph.D. in Computer Science from the Warsaw University of Technology. She presented this series as the FabCon Europe 2026 recap in Gdynia on October 21, 2026, and online on October 23, 2026. Slides, recordings, and runbooks are in the public recap repository.

Sources

Microsoft Learn and the Microsoft Fabric blog, checked on November 3, 2026.