Building and customizing solutions using Microsoft 365 Copilot APIs and tools
Hello Rahil Faldu ,
This is a recently surfaced breaking issue affecting Declarative Agents using Action.Execute → Plugin (API) invocation in Microsoft 365 Copilot. The error (HTTP 500, "Execute action failed: Error calling plugin") occurs even though the same payload worked previously, and the third-party API is never reached. This indicates the failure happens inside the Copilot Execute → Plugin broker layer before the API call is sent.
The root cause is a recent backend change (Copilot Orchestrator Service ≥ 1.0.0337x) that now enforces a Plugin Invocation Trust Context for Adaptive Card Action.Execute calls. Previously, tokens were injected silently, but now the platform validates a trust chain (User → Agent → Plugin). If this context is missing or mismatched, the invocation fails with HTTP 500.
This particularly impacts Adaptive Card Execute actions because they originate from the Teams client rather than an agent or LLM tool call. To fix the issue, the Action.Execute must include the msteams.invoke binding, and the Declarative Agent manifest must include supportsUserContext: true in the plugin runtime configuration. Without these updates, the trust chain is incomplete and the broker blocks the request.
To confirm, check DevTools → Network → invoke for PluginInvocationFailed and verify that your backend API receives no requests. After applying the fix, republish the agent, reinstall the app, and clear Teams cache, as Execute payloads may be cached client-side.