Copilot Studio: With generative Answer node always produces two responses instead of one.

Rutuja Kokate 80 Reputation points
2026-08-30T10:01:28.1433333+00:00

Scenario

We're building an AI assistant using Copilot Studio. We added a Generative Answer node to a topic to format responses using custom data.

Result

Whenever a Generative Answer node is present in a topic, the topic always returns two separate bot messages for a single question, even when only one topic is involved and no multi-topic question is asked.

Troubleshooting efforts

Tried adding an "End all topics" action after the Generative Answer node, this stops the duplicate response, but it also stops all further processing entirely, which breaks our ability to support a single message that spans multiple topics, since nothing else can run afterward.

Question

Why does a Generative Answer node produce two responses instead of one? Is something else, such as default orchestration, generating a second response in parallel? Is there a way to stop just the duplicate response, without blocking other topics from also contributing to a multi-part question?

Thank you!

Microsoft Copilot | Microsoft 365 Copilot | Development
0 comments No comments

Answer accepted by question author
Abdul Waqas 345 Reputation points
2026-08-30T11:21:17.9633333+00:00

Hi Rutuja,

What you are seeing may be related to how the agent is orchestrating the response rather than the Generative Answers node itself generating the same answer twice.

If the agent is using generative orchestration, it can select multiple topics, tools, or knowledge sources for a single user request. Microsoft documents that generative orchestration can use multiple topics/tools/knowledge sources and then generate the final response from the information returned by them.

I would first check whether the same user query is being handled by both the topic's Generative Answers node and the agent-level generative orchestration/knowledge response.

As a troubleshooting step, try capturing the Generative Answers result in a variable instead of immediately sending it as a message. Microsoft documents that the Send a message option can be cleared so the generated answer is stored and then explicitly rendered later in the topic. This can help determine whether the duplicate is coming from the node itself or from another orchestration path.

Also check the activity/trace for the conversation to see whether two topics/knowledge sources are being invoked for the same turn.

If you can share the agent's orchestration setting and the activity/trace showing the two responses, it should be possible to identify which component is producing the second response.

Was this answer helpful?

1 person found this answer helpful.

Answer accepted by question author

AI answer

2026-08-30T10:01:48.6+00:00

Yes. The second message is typically generated by the orchestration layer or another response owner, not by the Generative answers node alone.

The documented root causes are:

  1. The topic answered, but didn’t report back
    A Generative answers node can answer inside the topic, but that answer stays inside the topic unless the topic returns outputs. If the topic does not return an answered-state output, the orchestration layer still sees the request as open and can answer again later.
  2. Two components are configured to own the same response
    If the topic writes a user-facing answer and the orchestration layer is also instructed or allowed to present the answer, the user gets two messages: often a specific answer first, then a general restatement.
  3. Generative orchestration plus topic-level generative answers can overlap
    When generative orchestration is on, the orchestrator can automatically query knowledge sources. If a topic with a Generative answers node is also triggered for the same input, both can independently generate responses.

End all topics stops the duplicate because it prevents later processing, but it is too broad for a multi-part request flow.

To stop only the duplicate response without blocking other topics:

  1. Make the topic report that it already answered
    Return topic outputs such as:
    • answered = True/False
    • a displayed-value or summary text output
    This is the key fix for Generative answers nodes. The orchestration layer needs that output to know the request was already handled.
  2. Choose exactly one response owner per part of the request
    Use one of these patterns:
    • The topic writes to the user and returns outputs describing what it answered.
    • The topic returns outputs only, and the orchestration layer writes the final answer.
    Do not have both the topic and orchestration layer present the same answer.
  3. If customizing the Generative answers response, store it instead of sending it immediately
    In the Create generative answers node:
    • set the response to a variable
    • clear Send a message
    • then render the result yourself in a Message or Question node, including an Adaptive Card if needed
    This prevents the node from immediately emitting one message while another layer emits a second one.
  4. Use routing-only top-level instructions
    If top-level instructions say both “call the topic” and “give the answer,” orchestration can restate what the topic already showed. The safer pattern is routing only: call the topic, then rely on outputs to indicate what was answered.
  5. For multi-part questions, let other topics continue, but ensure each topic returns outputs
    The supported design is not to end all topics, but to have each component report what it handled. That allows later components to continue working on still-open parts of the request without re-answering completed parts.

In short: the duplicate is usually caused by missing answered-state outputs or shared response ownership between the topic and orchestration. The fix is to keep multi-topic processing enabled, but make each topic return outputs that clearly mark what was answered and who should present it.


References:

AI-generated content may be incorrect. Read our transparency notes for more information.

Was this answer helpful?

1 person found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.