Fabric data agents are a great starting point, but they can be annoyingly slow for the questions people ask every day. Here’s how we combine them with GraphQL agents, curated 360s and RAG search to get speed and flexibility from the same Fabric platform.
Microsoft Fabric data agents are one of the most useful things to arrive in Fabric. Point one at a lakehouse, warehouse or semantic model, give it some instructions, and people can ask questions of their data in plain English. It respects the security you already have, it needs very little build, and as an ask-me-anything agent it is genuinely impressive.
We include one in every AI set-up we build on Fabric. But we never stop there.
The problem: every question takes the long way round
A data agent handles every question the same way. It reads the question, works out which tables matter, writes a query, runs it, checks the result and writes an answer. That is exactly what you want for a question nobody has asked before.
It is not what you want for the question your sales team asks twenty times a day. “How is this account doing?” should not need the agent to rediscover your data model each time.
We wanted to know how far tuning could take it, so we tested it hard. We optimised the queries, gave the agent explicit instructions on exactly how to answer specific questions, and limited it to a very small set of data. The queries themselves ran in under a second. The answers still took around 25 seconds at minimum, and often much longer.
That gap is the agent’s own overhead: the reasoning and orchestration that happen around the query, not the query itself. No amount of tuning on our side removed it. Twenty-five seconds is fine for a genuinely new question. For the questions people ask every day, it is long enough to make them stop asking.
The lesson we keep relearning is that no single agent does everything well. Speed and flexibility pull in different directions, so we stopped asking one agent to provide both.
Four routes, one front door
Instead of one agent, we build a small set of routes behind a single front door. A router, running on a lightweight model so it adds almost no time of its own, reads each question and sends it the right way, so the user never has to think about which one to use.
1. Fabric data agent, the ask-me-anything route. Any question, about anything in the data, including the ones nobody thought to plan for. It is the slowest route, but the most flexible, and it is there for anything the other routes do not cover.
2. GraphQL agents, for the common questions. Fabric’s API for GraphQL gives an agent a direct, lightweight way to query Fabric data. Pointed at the question areas people return to constantly, such as account status, pipeline, stock and orders, it answers quickly. It isn’t limited to prepared questions: it can construct queries against any of the data available to it. The limit is sophistication. It handles straightforward questions well, but the more complex analytical queries are better left to the data agent.
3. Curated 360s and specialist agents, for the one-shot answers. We love a 360. For the things people ask about most, such as a customer, a product or a site, we build a curated document that brings together everything relevant from across the business, refreshed on a schedule. A specialist agent can then answer in a single step by reading one document, rather than querying several systems and stitching the results together. It is fast, and because the document is curated, the answer is consistent.
4. RAG search, for everything that isn’t in a table. Plenty of what people need lives in notes, tickets, emails and documents. We use Azure AI Search, populated with data from Fabric, so the AI can find relevant content by meaning, not just keywords, and bring it into the answer.

Speed where it matters, flexibility where it doesn’t
The point is not that the data agent is wrong. It is that it should handle the questions it is best at, and the everyday questions should take a faster route.
In practice, most of the questions people ask fall into a handful of common areas. Put those on GraphQL agents and curated 360s and the experience feels fast, because most of the time it is: under 10 seconds for a GraphQL answer or a RAG search, and 10 to 15 for a full 360, against a floor of 25 seconds, and often much longer, for the data agent. Keep the data agent for everything else and you have not given anything up: any question can still be asked.
It also means the set-up can keep improving as people use it. We watch which questions come up most, and when a new question area becomes common, we move it onto a faster route: extending the GraphQL agents to cover it, adding to an existing 360 or building a new one. Each route and each specialist agent can be improved on its own, so the system gets quicker where it matters most.
Built on what you already have
All of this runs on the Microsoft platform our clients already use. The data stays in Fabric, under the security and governance already in place, and the search runs in Azure AI Search. Nothing needs to be copied into another vendor’s platform for the AI to work.
We have built the same pattern on other platforms too. We used it to build an AI layer across eight systems on Databricks. The tools differ; the lesson is the same.
And when depth matters more than speed
There is one more piece. Above all of these routes sits an analyst agent with two jobs: orchestrating an analysis across every route, judging the answers it gets back and asking again until they are good enough, then synthesising the results into one comprehensive analysis. It is deliberately slower, and it raises a bigger question, which is the subject of our next insight: can AI agents replace data analysts?
See it in the Insyte Experience
Every route described here is available in the Insyte Experience, our demo environment. You can ask questions and see the different routes at work, from quick answers on common questions to open-ended analysis across the data.



