
Hi, this is a common difference between the Copilot Studio test canvas and the published Teams/M365 channel.
The first thing I would check is whether File uploads are enabled at the agent level:
Copilot Studio → Settings → Generative AI → File processing capabilities → File uploads = On
Microsoft also notes that file upload support depends on the published channel, and not every channel behaves exactly like the Studio test panel. Supported file types include DOCX, CSV, PDF, TXT, JPG, PNG, WebP, and non-animated GIF, with a 15 MB individual file size limit. (Microsoft Learn)
A few things I would try:
Test in 1:1 Teams chat first
Avoid testing in group chat/channel initially. File handling and identity context can behave differently there.
Republish and refresh the Teams channel
After changing file settings, republish the agent. If Teams still shows old behavior, turn the Teams channel off/on and republish. Microsoft also mentions Teams can cache agent configuration changes. (Microsoft Learn)
Make sure you are using the file object correctly
If the question node stores the uploaded file in a variable, treat it as a record/file object, not plain text. With metadata enabled, you should be checking the file record properties rather than expecting just a string value.
Use a Power Automate action/tool for processing
If your goal is to save, read, or pass the file somewhere else, the more reliable pattern is:
Copilot question node → file variable → Power Automate flow/tool → process or store the file.
Also, the Studio test panel often shows the “best case” behavior because it runs inside the authoring experience. Published Teams/M365 channels can have additional restrictions around channel support, authentication, file size/type, and caching.
So I would validate in this order:
File uploads enabled in agent settings
Supported file type and under 15 MB
Works in 1:1 Teams chat
Agent republished after setting change
Teams channel refreshed if needed
File variable passed as a file/record object, not text
Hope this helps. In many cases this is not a topic design issue, but a published-channel behavior/configuration issue.