Attachments queued in Copilot Studio

Saving and Working with Attachments in Copilot Studio

Introduction Recently, I was building an agent in Copilot Studio (Classic) that needed to accept files from chat and save them later in the flow. The common approach is to pass a single file straight to a tool call using System.Activity.Attachments - but you can only pass one file, not the array. That works for simple cases, but it introduces two problems: It does not handle multiple files. If you have more than one file in a single message, you can only save the first or last one. The agent will also only call the tool once System.Activity.Attachments only exists on the current activity, so attachments can be lost if you perform other actions first The main reason for this issue is the agent is using the Bot Framework’s System.Activity object, which is designed to last for a single turn. Once the turn is processed, the attachments are no longer available. ...

July 21, 2026 · Lee Ford
Unable to retrieve SharePoint properties in Copilot Studio

SharePoint Knowledge Sources in Copilot Studio: The Metadata Problem

Introduction Copilot Studio makes it super easy to add SharePoint as a knowledge source to your agents. However, there is one issue that I’ve noticed, which is that we cannot read the properties (metadata) of the documents in SharePoint. This is a problem because often important information about the document is not in the content itself, but rather in the properties of the document. Take this example below. The agent has been granted access to a document library. I have added a couple of documents and purposefully added a value to the property called ReferenceID that is not in the document content itself. When I ask the agent to provide the value that would be in the ReferenceID property, the agent is not able to provide the value. If the value was in the document content, the agent would be able to provide it. ...

March 11, 2026 · Lee Ford