When you build a custom copilot in Microsoft Copilot Studio, you add specific instructions to control how the copilot responds. But generative answers sometimes ignore those instructions and pull data from public web sources or unrelated SharePoint files. This behavior usually happens because the generative answers feature uses a separate retrieval system that does not fully respect the topic-level instructions you set. This article explains why this conflict occurs and provides a step-by-step fix to force generative answers to follow your custom instructions.
Key Takeaways: Force Copilot Studio Generative Answers to Follow Instructions
- Copilot Studio > Topics > System Topics > Generative answers: This system topic controls whether generative answers override custom topic instructions. Disable it to stop the override.
- Copilot Studio > Settings > Generative answers > Data sources: Restrict data sources to internal SharePoint or Dataverse only to prevent public web content from being used.
- Copilot Studio > Topics > Custom topic > Instruction field: Add explicit grounding rules such as “Only answer from the provided knowledge base” to reinforce instruction priority.
Why Generative Answers Ignore Your Custom Instructions
Copilot Studio has two separate systems that generate responses. The first system is the topic engine, which runs through your custom topics and their instructions. The second system is the generative answers engine, which searches external and internal data sources when the topic engine cannot find a match. The generative answers engine does not read the custom instruction field you write in a topic. It only reads the data sources you configure at the copilot level.
When a user query does not match any trigger phrase in your custom topics, the fallback system topic named “Generative answers” activates. This system topic sends the query to the generative answers engine, which then retrieves content from the data sources you selected. Because the engine bypasses your custom topic instructions, it can return answers that violate the rules you set, such as refusing to discuss pricing when you told the copilot to not discuss pricing.
The Role of the System Topic
The system topic “Generative answers” is enabled by default. It acts as a catch-all responder. When this topic is active, any query that does not match a custom topic goes directly to the generative answers engine. The instructions you wrote in other topics are never evaluated. The only way to fix this is to either disable the system topic or modify how it behaves.
Steps to Make Generative Answers Follow Your Instructions
You have two effective methods to solve this problem. The first method disables the generative answers fallback entirely, forcing the copilot to only use your custom topics. The second method restricts the data sources so that generative answers cannot access public web content.
Method 1: Disable the Generative Answers System Topic
- Open Copilot Studio and select your copilot
Sign in to Copilot Studio at copilotstudio.microsoft.com. From the Copilots page, click the name of the copilot that is ignoring instructions. - Go to the Topics page
In the left navigation menu, click Topics. This shows all custom topics and system topics. - Switch to the System tab
At the top of the Topics list, click the System tab. You will see system topics such as Greeting, Escalate, and Generative answers. - Open the Generative answers system topic
Click the Generative answers topic to open its configuration pane. - Turn off the topic
At the top of the pane, toggle the Topic enabled switch to Off. This prevents the fallback topic from ever activating. - Save and publish
Click Save at the top of the pane, then click Publish to deploy the change to your live copilot.
After you disable the generative answers system topic, the copilot will only respond using your custom topics. If no custom topic matches a query, the copilot will use the Escalate system topic or return a fallback message. Your custom instructions now apply to all responses.
Method 2: Restrict Data Sources and Add Grounding Rules
- Open the copilot Settings
In Copilot Studio, select your copilot, then click Settings in the left navigation menu. - Navigate to Generative answers
Under the Settings menu, click Generative answers. This opens the data source configuration panel. - Remove public web sources
Under Data sources, uncheck Public web and any external search engines. Only check SharePoint and Dataverse if you want to limit answers to internal content. - Add explicit grounding instructions to each custom topic
Go back to Topics and open each custom topic. In the Instruction field, add a line such as “Only answer from the content in the data sources configured at the copilot level.” This reinforces that the topic engine should defer to the restricted data sources. - Test with a query that previously returned a bad answer
In the Test pane, type a query that previously caused the copilot to ignore your instructions. Verify that the answer now comes only from the restricted sources. - Publish the updated copilot
Click Publish in the top-right corner to apply all changes.
If Copilot Studio Still Ignores Instructions After the Fix
Generative Answers Still Returns Public Web Content
If you disabled the generative answers system topic but the copilot still returns public web answers, check whether you have a custom topic that redirects to generative answers. Some users create a custom topic with a trigger phrase like “search the web” that calls the generative answers engine. Remove that redirect or change the topic to use a static response instead.
Instructions Work in Test but Fail in Production
The Test pane in Copilot Studio uses a different cache than the production environment. After you publish changes, wait up to 15 minutes for the production copilot to refresh. Also clear your browser cache and restart the chat session where the copilot is embedded, such as in Teams or a custom website.
Custom Topic Instructions Are Too Vague
Generative answers can ignore instructions that are phrased as suggestions rather than rules. Instead of writing “Try not to discuss pricing,” write “Do not answer any question about pricing.” Use explicit negative commands and list specific topics the copilot must avoid.
| Item | Generative Answers System Topic Enabled | Generative Answers System Topic Disabled |
|---|---|---|
| Response source | External data sources plus custom topics | Custom topics only |
| Respects custom topic instructions | No | Yes |
| Fallback behavior | Answers from web or SharePoint | Escalate or fallback message |
| Configuration location | System Topics > Generative answers | Same location, toggle off |
Both approaches are valid depending on your needs. If you need the copilot to handle unexpected queries with internal data, restrict data sources instead of disabling the system topic.
You can now force Copilot Studio generative answers to follow your custom instructions by disabling the generative answers system topic or by restricting data sources to internal content only. Next, review all your custom topics and rewrite instructions as explicit rules rather than suggestions. For advanced control, create a custom fallback topic that redirects users to a specific knowledge base instead of relying on the generative answers engine.