Skip to main content
AI & Automation

Designing Topics and Instructions in Copilot Studio for Reliable ERP Query Agents

A Copilot agent that answers ERP questions is only useful if it answers them the same way every time. The difference between a reliable agent and a plausible one is almost entirely in how you design its topics and instructions.

Amit Kumar Singh - Technology Consulting Partner at MyData Insights

Technology Consulting Partner · MyData Insights

14+ years in industrial data · Former Accenture & EY · India, GCC, SEA

15 October 2026 · 9 min read

The bottom line

A Copilot Studio agent that answers ERP questions becomes reliable through design, not luck. Topics define the questions the agent is built to handle and route each one to the right governed data and action; instructions set the behaviour — how it answers, what it must not do, when to refuse or escalate. The common failure is an under-scoped agent that tries to answer everything and confidently makes things up on the questions it was never designed for. The fixes: scope topics to the real questions users actually ask, ground every answer in a governed source (a Fabric semantic model or Data Agent) rather than the model’s own knowledge, write instructions that tell it to refuse or hand off anything outside its topics, and validate against a set of known-answer questions before release. Reliability is a design property of the topics and instructions, not a hope about the model.

Reliable, Not Just Plausible

An ERP query agent that works in a demo and fails in production usually fails the same way: it answers a question it was never designed for, fluently and wrongly. A manager asks something slightly outside what the agent was built to handle, and instead of saying "I cannot answer that", it produces a confident, plausible, incorrect number. In operations, that is worse than no agent at all.

The property you need is reliability — the same question returns the same correct answer every time, and anything outside scope is refused rather than guessed. That property does not come from the language model being clever. It comes from how you design the agent’s topics and instructions to bound what it will attempt and ground what it answers.

Copilot Studio gives you both controls. Used deliberately, they turn a plausible chatbot into a dependable ERP query agent; left loose, they produce exactly the confident-wrong behaviour that kills trust on the first bad answer.

Topics: Scope to Real Questions

A topic in Copilot Studio defines a category of question the agent is built to handle and how it responds — including which data it reads and which action it takes. The discipline is to scope topics to the questions users genuinely ask, discovered from real demand, not to every question you imagine. "What is the stock position for this SKU at this warehouse?" is a topic; a vague "tell me about inventory" is not a design, it is an invitation to improvise.

Well-scoped topics are what make the agent predictable. Each one maps a recognised question to a defined path — the right query against the right governed source, returning the answer in a consistent shape. Because the path is designed, the answer is repeatable, which is the whole point.

The questions that do not match any topic are where reliability is won or lost. An agent with tightly-scoped topics and no catch-all improvisation knows what it does not handle, which is exactly the knowledge that lets it refuse gracefully instead of inventing. Scope narrow and deliberate; expand topics as real demand appears, not pre-emptively.

Scope topics to the questions users actually ask, discovered from real demand. A well-scoped topic maps a recognised question to a designed path — which is what makes the answer repeatable.

Ground in Governed Data

Every answer the agent gives about ERP data must come from a governed source, not from the language model’s own training. The model’s job is to understand the question and shape the response; the number must come from your data. In a Microsoft estate that governed source is typically a Fabric semantic model or a Fabric Data Agent sitting over the gold layer, so the agent answers from the same definitions the dashboards use.

This grounding is what makes the answers correct and consistent with the rest of the business. Ask the agent for last month’s revenue and ask Power BI the same question, and they should agree, because they read the same governed model. An agent that answers from the model’s general knowledge instead will be fluent and untethered — the fastest route to a number that contradicts the board pack.

Grounding also inherits the governed source’s security. When the agent queries through a governed model that honours row-level security, a user only gets answers from data they are entitled to see — so opening an ERP query agent to more people does not open the data to more people.

Instructions and Refusal

Instructions set the agent’s behaviour across topics: the tone, the format of an answer, the units and definitions to use, and — most importantly — what it must not do. The instruction that matters most on an ERP agent is the one that tells it to refuse or hand off anything outside its defined topics rather than attempt it. "If you cannot answer from the governed data within a defined topic, say so and offer to connect the user to a person" is the single line that prevents most confident-wrong incidents.

Good instructions also set guardrails on action. An agent that can read is low-risk; one that can change ERP data needs explicit instruction on what it may and may not do, and a human approval step on anything consequential. Instructions are where you encode "answer these, refuse those, never do this without approval" in language the agent follows every time.

Keep instructions specific and testable. Vague instructions ("be helpful and accurate") do nothing; concrete ones ("always state the period and source of a figure; never estimate a number that is not in the data; refuse questions outside your topics") produce behaviour you can actually verify.

The single most valuable instruction on an ERP agent: refuse or hand off anything outside its defined topics rather than attempt it. That one line prevents most confident-wrong incidents.

Validate Before Release

Before an ERP query agent goes to users, it has to pass the same kind of test a semantic model does: a set of known-answer questions whose correct responses you can verify independently. Run them against the agent and confirm it returns the right answer in the right shape — and, just as important, that it refuses the out-of-scope questions you deliberately include in the test set.

That second half is what most teams skip. Testing only the questions the agent should answer tells you it works on the happy path; testing the questions it should refuse tells you it will not improvise in production. Both belong in the validation set, and both should pass before release.

So the pattern is: scope topics to real questions, ground every answer in a governed model that honours security, write instructions that refuse out-of-scope asks and gate any action, and validate against known-answer and should-refuse questions before release. Reliability is designed in through those four, not hoped for from the model. We build these on the Microsoft Fabric and Copilot Studio stack, grounded in the governed data foundation first — because an agent over ungoverned data is a fast way to be confidently wrong.

If a Copilot agent needs to answer ERP questions dependably — the same right answer every time, and an honest refusal otherwise — the design of its topics and grounding is where that is won. 30 minutes with Amit on scoping, grounding and validating an ERP query agent. No slides, no pitch deck, no obligation to proceed.

Free Assessment

Where does your operation sit on the data maturity curve?

8 questions. 3 minutes. You get a scored breakdown across data infrastructure, analytics readiness, and automation potential — with a specific next step for your industry.

AI & AutomationCopilot StudioMicrosoft FabricPower PlatformERP

Your Data · Our Technology · Our Automation

Get practical insights every fortnight

Amit writes about Microsoft Fabric, Power BI, AI in operations, and digital transformation for manufacturing and supply chain leaders. Practitioner perspective - no fluff, no vendor spin.

No spam. Unsubscribe any time. Also on Substack.

FAQ

Common questions

How do you make a Copilot Studio ERP agent reliable?

Through design, not luck. Scope topics to the questions users genuinely ask so each maps to a defined, repeatable path; ground every answer in a governed source (a Fabric semantic model or Data Agent over the gold layer) so numbers match the dashboards and honour security; write instructions that make the agent refuse or hand off anything outside its topics and gate any action behind human approval; and validate against known-answer and should-refuse questions before release. Reliability is a property of the topics and instructions, not of the language model.

What is the difference between topics and instructions in Copilot Studio?

Topics define the categories of question the agent is built to handle and the path each takes — which governed data it reads and which action it performs. Instructions set behaviour across topics: tone, answer format, the definitions to use, and what the agent must not do, including refusing out-of-scope questions and requiring approval for consequential actions. Topics decide what the agent attempts; instructions decide how it behaves and when it declines.

Why does a Copilot agent give confident wrong answers about ERP data?

Usually because it is under-scoped and ungrounded: it tries to answer questions outside its designed topics and sources the number from the language model’s general knowledge rather than governed data. The fixes are tightly-scoped topics so the agent knows what it does not handle, grounding every answer in a governed model, and an explicit instruction to refuse anything out of scope rather than improvise. Validation that includes should-refuse questions confirms it holds.

How do you stop a Copilot agent from exposing data a user should not see?

Ground it in a governed source that honours row-level and object-level security — a Fabric semantic model or Data Agent over the gold layer — so the agent queries as the signed-in user and only returns data they are entitled to see. Because access is enforced at the governed data layer, opening the ERP query agent to more people does not widen data exposure. This is the same access model that protects the dashboards, reused by the agent.

Is this the challenge you’re facing?

A short call, no obligation. Tell us what you’re trying to fix and we’ll tell you plainly if and how it’s solvable.