Share via

Declarative Copilot Agent: API Plugin is matched but not selected after follow-up question

Clara 0 Reputation points
2026-01-07T13:45:11.92+00:00

We are using a declarative Copilot agent with an API plugin.

In the first user turn, the plugin action is matched and selected correctly and the API endpoint is called.

In a follow-up turn (even with an explicit and unambiguous question), the action is still shown as matched but is no longer selected, so the endpoint is not called.

This used to work a few weeks ago with the same instructions.

Is this behavior expected due to recent orchestration changes? Is there an official way to enforce that an API plugin must be executed for every relevant user query, including follow-ups?

Any clarification or documentation would be appreciated.

Microsoft Copilot | Microsoft 365 Copilot | Development

1 answer

Sort by: Most helpful
  1. Sayali-MSFT 5,931 Reputation points Microsoft External Staff Moderator
    2026-01-08T10:16:32.3466667+00:00

    Hello Clara,
    Yes, this change is expected. Microsoft recently updated orchestration logic for declarative Copilot agents so that follow-up turns don’t automatically re-trigger plugin actions, even if they match semantically. The goal is to reduce unnecessary API calls and improve efficiency.

    Currently:

    • First turn: If the plugin action matches and is selected, the API call executes.
    • Subsequent turns: The action may still appear as “matched,” but selection depends on context and whether the orchestrator determines new data is needed.

    There is no supported way to guarantee API execution on every follow-up using declarative orchestration alone. To improve reliability, you can include explicit user instructions in the prompt (such as asking to “call the API again”) and design the plugin action with strong grounding so the orchestrator treats it as required for each query. If strict enforcement is needed, the recommended solution is to use a conversational flow or a code-first agent, where the API can be programmatically invoked on every turn.

    Was this answer 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.