What’s usually happening:
This error most often happens because of how attachments are passed from Copilot Studio / Power Virtual Agents to Power Automate.
The bot sends uploaded files as attachment objects, but many Power Automate connectors expect either:
raw file content, or
a very specific content type or structure
When the connector doesn’t like what it receives, it returns ConnectorActionBadRequest.
This behavior looks inconsistent because it depends on things like:
file size
file type
upload channel (for example, Teams vs Web chat)
So it’s not random—it’s data and channel dependent.
Recommended fixes (shown to work reliably)
1) Use the URL pattern (most reliable approach)
Instead of passing the attachment object into the flow, pass the file’s contentUrl (a text string).
In Power Automate, use an HTTP GET action to download the file content from that URL.
This avoids attachment schema issues completely.
2) Validate files before calling the flow
In the bot, check:
file size (many channels fail around ~4MB, but it can vary)
allowed file extensions
If the file doesn’t meet the criteria, stop the flow early and inform the user.
3) Use SharePoint or OneDrive as a bridge
Upload the file to SharePoint or OneDrive first, then pass only the File ID or Path to the rest of the flow.
This is a very stable pattern for enterprise scenarios.
4) Check run‑only and connection settings
Make sure the flow runs using a service account connection, not “Provided by run‑only user”.
Permission differences between users often cause BadRequest errors, especially with attachments.
If you’re seeing ConnectorActionBadRequest mainly when files are uploaded and only for some users, it’s almost always related to attachment structure, size, channel behavior, or permissions. Using one of the patterns above usually resolves it.
✅ If this answer helped resolve your issue, please mark it as Accepted so it can help others with the same problem.
👍 Feel free to Like the post if you found it useful.