
Copilot Knowledge Sources – OneDrive
Microsoft says adding knowledge to your Copilot is easy. You then open Copilot Studio and discover a lot of different options. But which should I choose for my data? Is uploading a file the right choice? Should I use Azure AI Search or better connecting a Dataverse table directly? Questions over question that I had as I opened Copilot Studio the first time. What is the right thing on my journey of better RAG for my Copilot Agents?
In this new series I will try experiment with some of these scenarios. In detail, I will explain how to choose the right scenario based on a business case. And yes, I will use here my personal experience. So, let’s start together into this new chapter.
My Business Case
Today, I have a very simple use case. I have found on my computer some older workshop documents for a Power Platform workshop. These documents are PDFs, Power Points, and Excel files. My ambition is to create a helpful Copilot agent. This agent will guide me and my users through the workshop and should answer questions about the workshop labs.
My documents contain classical exercises with instructions. Here is an example:
Comparable examples of this use case are standard operating procedure (SOP) documents, training manuals, and compliance documentation. Especially for SOPs or compliance documents, there is a strict release cycle. This means that someone within the company must approve their use.
All these documents share a common characteristic: they are tailored for a specific context, such as a particular workshop. Furthermore, each of these documents is well structured and authored. This means the consistency of the documents is guaranteed. Additionally, the total number of documents ranges from 1 to 10 with around about 70 pages.
I also want to set up a Copilot agent in a very short time, but in a maintainable way. This means, I will store my files in OneDrive and use OneDrive as a knowledge source for my Copilot agent.
Creating my specialized Copilot Agent
As usual, I’m beginning in Copilot Studio to create a new agent. Nowadays, developing specialized agents is increasingly important because a Copilot Agent can utilize other agents. Therefore, I’ve initiated the creation of my agent in Copilot Studio and named it Power Platform - App-in-a-Day
:
Next, I’m scrolling down to Knowledge
and click on the button Add knowledge
:
Note: It is important to save the copilot first, to get all possible options for Knowledge Sources in this dialog.
Remember, I want to store my files in OneDrive, because I plan to replace them later with newer versions. Hence, I’m choosing the option OneDrive
to upload my files:

Note: I do not use Upload file
directly, because these files can’t be updated without a manual workflow.
OneDrive as Copilot Knowledge Source
OneDrive as knowledge source is obviously the simplest one. Here I can select my files directly from my OneDrive and add them to my Copilot agent.
For that reason, I have added as preparation the folder Power Platform App in a Day - Hands On Lab Content
with PDF files for my students in my OneDrive:
After selecting Upload files from OneDrive
as new knowledge source in my Copilot Agent, this dialog opens:
I’m clicking on Browse items
and I’m navigating to my OneDrive folder:

Here I can use the whole folder with all files, or I can select files. Additionally, I can adjust the name and the description of added knowledge sources:
Don’t worry if you forgot to do this. You can change Name
and Description
later by editing the knowledge source entry in your Copilot Agent:
Here you see my selected entry:
In my opinion, utilizing the single file upload feature is beneficial when:
- The name of the document remains the same.
- I want to specify exactly when the document should be used.
- I want to explain how the document serves as a source of knowledge.
On the other hand, I’m using the folder upload feature when:
- Document names may change.
- There are numerous small documents serving the same purpose.
For my example I have chosen both options. I have added two specific files and the workshop folder itself. Perfect, with this my knowledge sources are ready.
Setup my Copilot Agent
In my next step I will setup my copilot instructions. This is because I want to tell my copilot agent its purpose, its tone, and give him some rules. In other words, instructions are the central directions and parameters an agent follows.
My Copilot Agent will answer questions about the App-in-a-Day workshop. Furthermore, I want my agent to guide my users through the workshop labs.
Previously, I added multiple knowledge sources. Therefore, I will highlight here in the instructions when my Copilot agent should use which knowledge source.
I’m using this instructions:
Next, I’m overriding the On Conversation Start
message in the topic Conversation Start
:
In addition, I’m adding some starter prompts as Quick reply
to my Message
:

In detail, I’m adding basic prompts here. This will help my end user later to start quickly with example questions and me to test my Copilot agent. My Quick replies
are:
The result is this:
Finally, I’m publishing my Copilot Agent.
Testing my Copilot Knowledge Source based on OneDrive
For my tests I will use Copilot Studio. Here in my test pane, you see now as introduction my modified message including the 3 buttons I have added as quick reply:
I’m starting and asking about a list of my workshop labs by clicking on the List Workshop Labs
button.
Note: During the first test my OneDrive for Business connection isn’t ready. This means my Copilot agent can’t access my knowledge sources and asks me in the chat this for every knowledge source:
I’m clicking on Allow. Now my Copilot agent to use my connection to OneDrive for Business to access my prepared knowledge files.
After I added my question, my Copilot agent started searching in my configured OneDrive knowledge sources. I can see this directly in Copilot Studio:
After a while my agent concludes and answers:

Cool, I see here the used query and the result of my used knowledge source. When I scroll a bit down in the view I see more details:
Perfect, this helps me to understand how my Copilot agent accesses my provided knowledge sources.
Let me try another question. I will ask about a list of my Power Automate lab exercises. The result is this:
Let me double check the result with the reference document. Here you see that all exercises where listed correctly:
This means the answer seems correct. But what I’m missing is this. As an end user, I want to open the referenced PDF at the right page. I also want to see which page was used as a reference.
Managing Copilot Knowledge Source Updates
At the beginning of my blog post, I mentioned SOPs and compliance documents as examples for this setup. Especially these kinds of documents underlying a strict release cycle and are updated more or less often. This means I must think about a structured update process for my Copilot Knowledge sources.
In detail, I want to restrict access to my Copilot knowledge source files in OneDrive. That requires a defined update process including optional approval from the respective stakeholders. Let me draft for this extra requirement a process based on the features of the Power Platform for you.
Firstly, I will upload or store new files in a unrestricted folder in OneDrive. Here everyone can request an update of the files. In addition, a Review
Power App can help to organize such upload requests. Information about existing knowledge sources and their destinations can be stored in Dataverse tables and managed in a Power App.
Next, with Power Automate based Release
flows including Approvals
, I can ensure that only reviewed files are used. Moreover, Power Automate flows will copy these approved files to my restricted OneDrive locations.
Finally, my Copilot agent knowledge source will be updated when source files are changed. This works automatically when I have set up a OneDrive knowledge source and not uploaded the file manually.
Microsoft says: the scheduled sync keeps the knowledge base data up to date within a four- to six-hour window.
How cool is this.
Summary
Today I have kicked off my new blog post series about Knowledge sources for Copilot Agents with the first part. In detail, I focused on files stored at OneDrive and explained this to you with a very simple use case. In detail, I added workshop documents from my OneDrive as knowledge source to my Copilot. I also outlined comparable use cases like standard operating procedures or simple compliance documents.
In my example I described how I added files and folders. Furthermore, I explained to you how I defined my Copilot agent instructions. I did this to instruct my agent about how and when to use one of my knowledge sources. In addition, I showed you how I tested my agent in Copilot Studio. Finally, I outlined a management process based on the Power Platform to you. Here I showed how new files can be managed within a Power App and released with Power Automate and Approvals. As a result, my Copilot Agent can rely on approved knowledge stored in a restricted OneDrive.
Under the bottom line, using OneDrive as a knowledge source for Copilot agents is straightforward. I can set it up and deploy this in minutes. Moreover, the automatic synchronization of this knowledge source helps my Copilot to stay always up to date. Furthermore, with a well-defined management process I ensure only released files are used by my Copilot.
What I’m personally missing is: I would like to see more details about the synchronization process. In addition, I want to understand why a knowledge source is chosen and when this decision occurs. Finally, I would like to know how many tokens are burned for long documents. But overall, I got impressive results and answers and this counts!