
Hi everyone,
I’m facing an issue in Copilot Studio where the agent is summarizing input JSON instead of directly calling a tool, even though the trigger comes from Power Automate.
SharePoint → File created trigger
Power Automate → Get file content (base64)
Power Automate → Trigger Copilot agent
Copilot should call tool → "Run workflow from JSON"
{
"instruction": "Run workflow from JSON",
"fileContentBase64": "<base64 content>",
"fileName": "workflow_schema_2_step.json"
}
If instruction = "Run workflow from JSON":
- Call the tool "Run workflow from JSON"
- Pass fileContentBase64 and fileName
- Do not summarize
- Do not generate any response
Copilot should:
➡️ Immediately call the tool
➡️ Pass inputs exactly as received
➡️ NOT generate any text response
Instead of calling the tool, Copilot:
Decodes/interprets the base64 JSON
Parses the workflow
Generates a detailed summary
Making instructions stricter
Explicit “do not summarize / do not respond”
Using clear condition (instruction = ...)
Verifying tool schema and parameters
Still, the agent prefers generating a response instead of calling the tool.
How can I force Copilot to directly call a tool when triggered from Power Automate?
Is there a way to make Copilot behave like a pure execution agent (no reasoning/output)?
Is this limitation related to:
Copilot topic design?
Tool configuration?
Or how Power Automate triggers the agent?
{
"command": "EXECUTE_TOOL",
"tool": "Run workflow from JSON",
"fileContentBase64": "...",
"fileName": "workflow_schema_2_step.json"
}
Any suggestions or best practices would be really helpful 🙏
Thanks!