Purpose of this Article
This article is intended for C-Level executives looking for opportunities to extend the reach of Copilot for Microsoft 365 (Copilot M365) into data sources outside of M365. While there is more than one way to incorporate external data, this article will focus on using external graph connectors to bring data into the M365 semantic index.
Why Incorporate External Data into Copilot M365 using this Method?
By integrating external data, we enhance the natural language processing abilities and the depth of semantic comprehension provided by Copilot, expanding its reach beyond M365 data to include a broader spectrum of your organization’s data.
The Place of M365 Chat in Copilot M365
Copilot for M365 is your AI assistant, offering Generative AI and natural language chat within your M365 apps.
Office productivity applications such as Outlook, Word, Excel, PowerPoint, and OneNote have application-specific copilot experiences, leveraging generative AI capabilities to automate your everyday workflows.
A new application, M365 Copilot Chat, allows users within Teams or Office Online to use natural language queries to interact with their M365 content, including Teams chats, SharePoint documents, Exchange calendar and emails, and more.

This article will show how Copilot M365 not only unlocks access and insights into your corporate data in Microsoft 365 (M365), but also allows you to bring in external data from almost any data source. Before I discuss how to add data from external systems, I will provide some necessary background.
Copilot M365 accesses data through the Microsoft Graph which is a unified API (Application Programming Interface) that acts as a central hub for accessing and managing data from various Microsoft Services.

Copilot M365 pre-scans all content that it is able to reach through the Microsoft Graph, including documents, chats, emails, meetings, and contacts. The results of these scans are imported into M365’s semantic index where additional layers of meaning are added to the content.
Both Copilot and SharePoint’s search function leverage this semantic index to answer queries and provide results, with the new semantic index replacing SharePoint’s legacy index.

Copilot’s natural language interface, along with the semantic index improves search efficiency by understanding not just the key words, but the intent of a user’s query and the semantic meaning of the indexed content. For example: Copilot would analyze the query “healthy diet plan for energy” and recognize that the user is looking for diet plans specifically designed to increase energy levels, not just any diet plan or unrelated energy topics.
How we Import the Data
The remainder of this article focuses on how we can import corporate data into the semantic index from external data sources.
There are 2 paths to integrating data into Copilot from external / non-M365 data sources:

- Plugins: Allows developers to enhance Copilot with specialized skills through plugins. These act like add-ons, enabling real-time interaction with external data sources. Plugins are more transaction-oriented and don’t lend themselves to the same depth of analysis that the second option, Graph connectors do. We’ll discuss this method of extending the platform in a separate post.
- External Graph Connectors: Integrates external content into the M365 Semantic index, allowing that data to be enriched with semantic meaning like all internal M365 data.
The diagram below is a decision tree to determining which of these two approaches to take:

A Note on Microsoft Federated Search
Microsoft Federated Search allows the extension of M365 search against external data sources without the need to import data into the semantic index. However, this only enhances the search experience. Copilot M365 has no access to this federated data.
How to Integrate Content using External Graph Connectors
This article focuses on the second option, External Graph Connectors. I will cover Plugins and other options in a separate article.
In order to extend the reach of the Microsoft Graph and in turn collect non-M365 data into the Semantic Index, one must first setup a data source in the new Search and Intelligence Center.

Once the data source is created, it can be used in both M365 search and Copilot for M365.
A Few Notes on Security
- All data from the external data source is pulled into the Microsoft 365 Semantic Index, which resides entirely within the M365 compliance boundaries. This means Copilot for M365 is compliant with Microsoft’s existing privacy, security, and compliance commitments to Microsoft 365 commercial customers, including the General Data Protection Regulation (GDPR) and European Union (EU) Data Boundary.
- Prompts, responses, and data accessed through the semantic index aren’t used to train foundational LLMs, including those used by Copilot for Microsoft 365.
- All data is encrypted in transit as well as at rest.
- While internal M365 permissions are observed when interacting with the semantic index’s standard M365 content, external system permissions are NOT directly retained. Instead, an admin must configure who can see the data brough into the semantic index for each external data source. Entra Id security groups can be used to restrict access. Note that anyone who has access to the new data source, will have access to all of its data in the semantic index.
Ready-to-Use External Data Sources
The following diagram shows data sources that you can immediately use to integrate external content.

Additional Data Sources:
There are hundreds of connectors for external systems that require approval or minor setup to use. Some examples include Amazon S3, Azure AD (now Entra Id), Azure Blob Storage, Box, Egnyte, MS Dynamics 365, SAP ERP, on-prem SharePoint, and Veeva Vault. Refer to this page for a complete and up-to-date list: Microsoft Search – Intelligent search for the modern workplace.
One can also create a custom connector using full stack development tools provided by Microsoft.
Once the data source has been created and if a user has access to it, the content is immediately searchable through M365 search. You can choose to surface the content in a new search vertical and you can separately choose to include the results in Copilot for M365 results.
Use Case: Add Workspace Governance Data from a SQL-Server Instance
At Distributed Logic Corp (DLC), we have a SQL-Server database that keeps track of our M365 workspaces (SharePoint sites, Teams, Planner groups) and their governance related information. Each workspace entry contains governance-related data such as: Site owner list, site member list, guest sharing policy, link sharing policy, OneDrive sync state, etc. This is key information in how we manage the life cycle of our workspaces.
To setup the data source, we enter the address of the SQL-Server and authentication account for the SQL-Server data source. We then must provide a single query to return a two-dimensional set of data. Here is snapshot of some of our data. Note that there are many more fields that are not shown here:

After setting up the query, we map query fields to common display fields for search results. We also define a “schema” for the data which describes the fields for use in Search and Copilot.
Finally, we can choose who can access the data source by specifying Entra Id security groups.
Once the data source is setup, it can be used in traditional M365 search and/or in Copilot M365.
To set the data source up to be used in Search results, we create a search vertical. In our case we created a search vertical named “workspaces”.
We can now use key words to search against all M365 content plus this new workspace content. The following screen shot shows a search from the M365 search bar using the keywords “distributed logic corp workspaces”. The results include a mix of workspaces from our SQL data (in red) and documents found in SharePoint (purple):

Results from different data sources will be shown intermingled. An administrator can also configure the external results to show up in clustered sections instead of being intermingled.
The user can also refine the results by clicking on one of the search verticals as shown below:

Once the vertical is selected a user may search strictly against that vertical. There is quite a bit of flexibility in how search results can be displayed. An admin can design custom display templates for your search results using the SharePoint Search Layout Designer and Adaptive Cards.
Once we enable this data source for use in Copilot M365, that content is immediately available to be used in Copilot Chat queries.
In the following query, I ask for a list of knowledge-related sites, and I get 4 knowledge management sites from my SQL workspaces data source as shown below. To access or request access to any of the sites, I just click on its link in the search results.
Note the superscript numbers (1) in the diagram below are references to the underlying data items. In this case when I click on the superscript it pops up a dialog (2) with details on the item and “SQL Workspaces” declared as the searchable item type.
Also note that the references are available as a list in the drop down at (3).
In section (4) below you can see Copilot respond with some helpful prompts.

If I follow the prompt in section (4) in the above diagram named “Tell me more about Knowledge management”, we get the response below. As you can see, we get more information on the purpose and content in each site:

Next, I follow the “Tell me more about the Knowledge Transfer Template” prompt as you can see below. Notice that I get a nice recap of the contents of the guide.

If I only want to see newer knowledge related workspaces, then I can further refine the query like this:

In the Copilot for M365 chat above, we’ve seen it return a mix of references to traditional M365 content mixed with our new external workspaces content, we’ve seen drill-down prompts and we’ve also seen Copilot generate a nice summary of a document for us.
Search Enhancements that Enhance Copilot M365 Discovery
- Custom Acronyms: An administrator can add custom acronyms that your organization uses in order to improve Copilot’s understanding of user queries and semantic index content.
- Bookmarks: Bookmarks help Search and Copilot users quickly find important sites and tools with just a search. Each bookmark includes a title, URL, a set of user-friendly keywords to trigger the bookmark, and a category. Bookmarks can bring one to SharePoint pages, documents, Teams, Power Apps and more. This is a great way to make your most popular documents easily discoverable.
- Q&A: Question & Answers allows an administrator to define commonly asked questions and their answers to improve answers within Copilot.
- Locations: Location helps your users find addresses and locate your organization’s buildings by providing an accurate location for offices, campuses, and buildings, along with directions and navigation.
The positives of my Chat with this External data
The positives that I found:
- I found the keyword search in M365 search to work great against my external data.
- I felt that the prioritization of results between the internal M365 data items and the external data was right.
- I found some insights into my external data that I could not have through normal search.
This almost seems too good to be true! Well, there are caveats…
There are many seemingly simple questions that Copilot can’t seem to answer about this external data. For example, it can’t answer how many workspaces there are, and it won’t tell me which workspaces are Teams vs those that are SharePoint sites.
It also often returns inconsistent or incomplete results. I’ve noticed that it doesn’t seem to do as well in answering questions or providing reliable results against my two dimensional / tabular data source. It seems to do a much better job of returning results and semantically understanding content related to documents.
At the time of this writing, I am working with Microsoft’s Copilot support group to better understand these issues. If I find anything concrete, I will report that back in a separate blog entry.
Pricing
Basically, creating a connection or developing your custom connector is free, however you have to purchase quota for indexed items. 3There are three ways to have a quota entitlement:
- Microsoft 365 E5 / Office 365 E5 license: For each licensed user, you get entitlement for 500 items of index quota.
For example, if you have 100 users with E5 license, you get quota for 100 x 500 = 50.000 connector items in the search index. - Microsoft Viva Topics license: For each licensed user, you get entitlement for 500 items of index quota.
For example, if you have 200 users with Viva Topics license, you get quote for 200 x 500 = 100.000 connector items in the search index. - Purchase additional quota: You can purchase additional quota under Microsoft 365 Admin Center / Billing / Purchase Services / Add-ons / Extra Graph Connector Capacity.
Additional quota can be purchased in increments of 1 million items.
At the time of the writing of this article, the minimum additional purchase of Graph Connector Capacity is 1,000,000 index items at $12K per year.

Limits
3Currently, Microsoft Graph Connectors have the following limits:
- Max. 30 Graph connections per tenant.
- Max. 5 million items per connection.
- Max. 50 million items of total index quota, which includes any built-in quota bundled into Microsoft 365 or Office 365 E5 licenses.
If you need higher scale, you can contact Microsoft by using the form mentioned in this post:
➡️ Higher connection count in Microsoft Graph connectors
Also note that you get an additional 1,000,000 semantic index items for a 90-day trial following the enablement of external data sources.
Summary
Adding external data sources enhances Microsoft 365’s built-in search capability by expanding the corpus of data that search can reach.
However, you will need to conduct tests with your particular external data source to determine whether Copilot M365 enables seamless interaction with your data and facilitates insight generation. While documents stored in external data sources appear to be well-suited for this purpose, data that is more organized in tables or structured formats might not be as compatible.
References
- Extend Microsoft Copilot for Microsoft 365: https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/
- Extensibility options for Microsoft Copilot for Microsoft 365: https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/decision-guide
- Microsoft Search Connectors Licensing: https://searchexplained.com/microsoft-search-connectors-licensing/

One thought on “Extending Copilot for M365 with External Data via Graph Connectors”