M365 Copilot Channel does not accept uploaded user files.

Md Harith Md Hairul Radzi 0 Reputation points
2026-10-29T04:33:35.03+00:00

Hello! Currently I am configuring an agent in Copilot Studio to ask the user to upload an image however when they do, the Agent instead triggers the Escalate conversation. I asked the user to upload an image via a question node and using the File as the expected input parameter.

I tried to get around the issue by accepting any and all user inputs but it when I tried to grab the file from System.Activity.Attatchments it produced null values and broke my agent. Within the test pane it works just fine but my agent breaks in the Copilot Channel. Is this a known issue? if so is there any solution or fixes coming anytime soon?Screenshot 2026-10-29 105152

Screenshot 2026-10-29 105245

Screenshot 2026-10-29 105345

Microsoft Copilot | Microsoft 365 Copilot | Development
0 comments No comments

2 answers

Sort by: Most helpful
  1. Sayali-MSFT 6,501 Reputation points Microsoft External Staff Moderator
    2026-10-29T07:21:21.3333333+00:00

    Hello Md Harith Md Hairul Radzi,
    This looks more like a Copilot channel/runtime limitation or issue with file attachments than a problem with your topic.

    The key clue is that the same File question works in the Copilot Studio test pane, but in the published Copilot channel the uploaded image isn't being exposed through System.Activity.Attachments. Once the attachment comes through as null, the topic can't populate ImageInput, and the Escalate behavior you're seeing appears to be a downstream result rather than the actual root cause.

    I wouldn't use System.Activity.Attachments as a workaround if the channel isn't providing the attachment there. For now, I'd consider using a supported file-storage/action flow, such as SharePoint or OneDrive, and pass the file/reference to the agent that way.

    Was this answer helpful?

    0 comments No comments

  2. AI answer

    2026-10-29T04:34:46.0033333+00:00

    Enable Include file metadata on the File Question node, then consume the Question node’s file variable (ReferenceImage) instead of rereading System.Activity.Attachments after that node.

    Correct the topic

    1. Open the Question node configured with Identify → File.
    2. Select More (…) → Properties.
    3. Under Entity recognition, enable Include file metadata.
    4. Keep Save user response as set to ReferenceImage.
    5. In the following Set variable value node, build ImageInput from that saved variable:
    {
        contentBytes: Topic.ReferenceImage.Content,
        name: Topic.ReferenceImage.Name
    }
    
    1. Save and publish the agent again, start a new conversation in Microsoft 365 Copilot, and upload a JPG or PNG using the attachment button.

    Microsoft’s documented Question-node implementation specifically requires Include file metadata. Once the Question node has captured the file, downstream flows and connectors should use the saved topic variable’s .Content and .Name fields.^1^

    Also verify Settings → Generative AI → File processing capabilities → File uploads is enabled. Microsoft Copilot is listed as a supported file-input channel, along with the Copilot Studio test panel, Teams, and web chat.^2^

    If the file can arrive before the Question node

    Only use System.Activity.Attachments to detect an attachment sent with the triggering message. Guard against an empty table before calling First:

    If(
        IsEmpty(System.Activity.Attachments),
        Blank(),
        {
            contentBytes: First(System.Activity.Attachments).Content,
            name: First(System.Activity.Attachments).Name
        }
    )
    

    The supported combined pattern is:

    1. Check System.Activity.Attachments.
    2. If an attachment exists, capture it.
    3. Otherwise, route to the File Question node.
    4. After the Question node, use Topic.ReferenceImage, not the activity collection.^1^

    This avoids the null dereference that broke the generic-input workaround.

    Validate the uploaded image

    Test with an image that is:

    • JPG, PNG, WebP, or nonanimated GIF
    • No larger than 15 MB
    • Not encrypted or protected by a sensitivity label

    Those are documented file-processing requirements.^2^

    The attachment must be uploaded as a file through the composer. An attachment belongs to the turn on which it is sent; if processing fails, the agent can skip the attachment while continuing to process the message.^3^

    If it still fails only after publishing

    A Copilot Studio agent in the Microsoft Copilot channel is documented to support file input, so a reproducible difference where the test pane succeeds but the published channel returns an empty attachment is not expected behavior. The current Microsoft 365 Copilot extensibility known-issues page does not list this specific Copilot Studio attachment failure or provide a release ETA.^4^

    Capture a clean reproduction and open a support request:

    1. Reproduce it in a new Microsoft 365 Copilot conversation with one small PNG.
    2. Record the UTC timestamp, environment, agent name, affected user/channel, and conversation ID.
    3. Include the transcript showing the attachment turn followed by escalation.
    4. In Power Platform admin center → Support → Support requests → Get support, create a Copilot Studio case.^5^
    5. State that the same published version works in Test your agent, but System.Activity.Attachments is empty and the File Question is not satisfied in Microsoft 365 Copilot.

    The escalation response itself does not establish the underlying cause; it is the route the agent selected after the attachment turn failed to satisfy the expected topic path.


    References

    1. Pass files to agent flows, connectors, and tools - Microsoft Copilot Studio
    2. Allow file input from users - Microsoft Copilot Studio
    3. Attach files to a conversation (GitHub Copilot) - Microsoft Copilot Studio
    4. Known Issues in Microsoft 365 Copilot Extensibility
    5. Find support and give feedback for Copilot Studio
    AI-generated content may be incorrect. Read our transparency notes for more information.

    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.