· 4 min read

Tips from Building a Ignite 2023 Microsoft Graph Connector for Copilot for Microsoft 365

As the title suggests, I have built a sample using content from Ignite to demonstrate how external data can be used for Copilot for Microsoft 365, but to include some experiences of using this feature

As the title suggests, I have built a sample using content from Ignite to demonstrate how external data can be used for Copilot for Microsoft 365, but to include some experiences of using this feature

Introduction

A Microsoft Graph connector is a feature that allows you to connect a data source to Microsoft Graph, primarily for extending Microsoft Search to include items within the external data source.

I released a sample about this a few months ago using session list for Microsoft Ignite 2023 as a test data source so I could personally understand and learn the process.

Why is this important to know? This isn’t a new technology however the prominence has increased with the release of Copilot for Microsoft 365. I like that Microsoft have taken existing components that folks are likely to have skills in- enabling reuse for this new technology.

More about the sample

My first contribution to this repo, “Ingest local JSON content using PowerShell using Ignite sessions as a example” demonstrates how you can inject data from an external source into Microsoft Graph to be indexed then served up in search

Microsoft Graph Connectors - Search Results

and as a bonus within Microsoft Copilot too.

Microsoft Graph Connectors - M365 Chat

The sample specifically uses Microsoft Graph PowerShell SDK to import JSON based data into the index. Additionally, there is a basic adaptive card to provide the visual output within search results.

The sample is located here: Ingest local JSON content using PowerShell using Ignite sessions as a example | GitHub

Caveats & Tips of using Microsoft Graph Connectors

During my learning of the service, very quickly I can to notice a few behavioral and tips for working with this feature:

Microsoft Copilot doesn’t favor the external data source

I have noticed that if you have data within the tenant such as SharePoint that is of a similar content, then you might find asking Copilot questions may return the M365 Data rather than the connector.

My mistake is that in testing Microsoft Copilot in a sandbox, I had captured the tech community articles during Ignite storing in SharePoint as Word Documents for a separate project to ask Microsoft 365 Copilot questions about this event.

This distorted my results if there is data in the M365 tenant that is similar in some way to the external data - so check carefully, you may need to provide users with some sample prompts to use the connector data.

Adaptive Cards are a pain to test

During my creation of the sample, I had a made an error within the adaptive card, which there is a very basic user interface within Search admin centre with only valid JSON validation nor was there a warning that this mistake happened. Further to this, you are presented with a blank search vertical with something went wrong.

How did I know I had made a mistake then? My approach was to use the F12 Tools in Edge to see if there was any clue or errors and there it was, an error was raised by the Adaptive Card JS libraries that it had failed to generate the card:

Microsoft Search with faulty adaptive card

Licensing (eek)

Yeah I’m not going too much into this one, but there are limits to be aware of depending on whether you are using E3 or E5 licensing - the number of users and the quota this provides. You may have to purchase more capacity based on the number of items you wish to store in the index, for more detail, check this out:

License requirements and pricing | Microsoft Learn

Conclusion

Microsoft Graph Connectors are a great way to get the external data into Microsoft 365 providing users that see less and integrated experience when querying data, not too difficult to use, been around for a while so skills are present in the market and can surface in results into Microsoft Copilot. BONUS UNLOCKED!!

There are a few areas of improvement that could be done - just go to keep giving that feedback and maybe Microsoft will improve the features. ;-)

Resources

There is now a .net based course available to understand this process using a SDK. Here is the article: Microsoft Graph connectors overview for Microsoft Search | Microsoft Learn

Other resources include:

Transparency Notice: Content within this post was assisted with AI to speed up the writing process and experimentation on my part, accuracy has been checked and adjusted where needed.

Enjoy!

Back to Blog