Understand Microsoft 365 Copilot extensibility options

Completed

In this unit, you learn why you should consider extending Microsoft 365 Copilot and what options you have.

What data Microsoft 365 Copilot has access to by default

Microsoft 365 Copilot provides users with general skills such as understanding, summarizing, predicting, recalling, translating, and generating content. It draws from a baseline of your organizational knowledge by indexing content in Microsoft Graph, such as the emails, chats, and documents that users have permission to access.

Visual representation of the Microsoft 365 Copilot system: Foundational models (LLMs) + Microsoft Graph (your data) + Microsoft 365 and third party apps + The Internet.

However, business workflows don't typically run exclusively on Microsoft 365 applications and data formats. With Copilot extensibility, you can extend Microsoft 365 Copilot with custom skills and organizational knowledge specific to your enterprise and users to enable truly spectacular AI scenarios.

Common extensibility scenarios

Copilot extensibility helps your collaborative workspace to be more productive by bringing key information, common tools, and trusted processes to where people increasingly gather, learn, and work. Create something brand new for Copilot or integrate an existing app.

Here are some practical examples of what you can develop for your organization.

Issue tracking for engineering team

Assume your engineering team relies on external project management software. You can build a custom tool that enables users to monitor open tickets. For instance, a user can request information on all issues assigned to them, and Microsoft 365 Copilot can seamlessly retrieve and present this data from your system.

Illustration of a plugin scenario where an engineer asks to show all open tickets for him from the external project management system

Product inventory for E-commerce

If your business operates in the realm of commerce, you can build an internal inventory tool by connecting it to your product database. For example, a user can ask Copilot to verify the availability of specific items, streamlining your internal processes.

Enterprise knowledge sharing

Consider a multinational corporation with a wealth of knowledge and insights stored in various formats - documents, emails, chat transcripts, spread across multiple systems. Microsoft Graph connectors can facilitate the consolidation of this data, making it searchable from a single, unified interface. Making the data searchable ensures that your organization's collective wisdom is readily accessible.

How you can extend Microsoft 365 Copilot with access to your data

There are two ways of extending Microsoft 365 Copilot: by augmenting Copilot with skills through plugins and grounding it with organizational data through Graph connectors.

Illustration showing how plugins and Microsoft Graph connectors interact with Copilot and Microsoft 365 data

Plugins

Plugins expand your users' skills by interacting with your web service using natural language in Microsoft Copilot. With plugins, you can:

  • Access real-time information such as finding the latest news coverage on a product launch.
  • Retrieve relational data such as reporting on service tickets assigned to a given team member.
  • Perform actions across apps such as creating a new task in your organization's work tracking system.

You can build plugins by building a Microsoft Teams message extension or a Power Platform connector, with even more options coming soon. If you already have a message extension or a Power Platform connector, then you already have the foundation to create a plugin for Copilot.

Microsoft Graph connectors

Graph connectors increase the discoverability and engagement of your enterprise data by deeply integrating your data into the Microsoft 365 Copilot experience. With Graph connectors, you can:

  • Make the most of your external data by giving Copilot the ability to access and summarize your diverse datasets from different sources, enabling more comprehensive insights.
  • Use Copilot as a research aid, letting Copilot find, summarize, and perform Q&A natively by using the dataset of your choice.
  • Make external data discoverable across a set of Microsoft 365 experiences including Microsoft Search, Context IQ, and the Microsoft 365 app.

There are three main steps to set up a Graph connector: (1) Create a connection, (2) Register your schema, and then (3) Ingest your content to the Microsoft Graph. Each item is sent with properties that match the schema you registered to power your content as discoverable in Microsoft 365 App.

When to use which extensibility option

There's a growing number of ways you can expand, enrich, and customize Copilot with plugins and Graph connectors. Knowing when to use which option lets you benefit from your skills and build a solution most suited to your needs.

Tip

This section describes extensibility options for .NET developers. For more information about no-code and low-code extensibility options, see the Copilot Studio documentation.

How do you want to develop

One way to decide how to extend Microsoft 365 Copilot is by looking at your existing skills and solutions. The following image illustrates some common decision points.

Illustration of decision-making questions to figure out which Microsoft 365 Copilot extensibility service you should use

  • If you're a no-code or low-code developer, and want to expose the external data in Power Platform and Copilot, build Microsoft Power Platform connectors.
  • If you use Microsoft Graph and connect your unstructured enterprise data in Microsoft 365, including Microsoft Search, Context IQ, and the Microsoft 365 app, Graph connectors would be your option.
  • And if you would like to connect your structured data in real-time from external sources on the fly, Message Extensions should be your choice. Write the logic using Bot Framework. And if you have built Message Extension apps for Teams before, great news is that your app already has the foundation of a plugin for Copilot! Make sure that your app manifest is up-to-date, and the app meets all criteria if you're publishing as plugin.

Type of data to integrate

Another aspect to consider that helps you decide how to extend Microsoft 365 Copilot is the type and volume of data that you want to integrate.

  • If the data you want to integrate is unstructured and you only need to have read access to it, consider building a Graph connector.
  • If you want to integrate structured data, or you want to update the data, consider building a plugin.

Here's an example of writable data with a message extension. This plugin manages a product inventory, in which Copilot searches the data from the inventory, and displays the results in Adaptive Card, where it allows a user to modify the stock.

A screenshot that shows an example of writable data via a message extension.

Benefits and limitations

Before you choose how to extend Microsoft 365 Copilot, be sure to understand the benefits and limitations of each available option. It helps you make a more informed decision and ensure the longevity of your solution.

Graph connectors Message extensions plugins
Benefits - Relevance based on user activities
- Semantic discovery of content
- Data stays within compliance boundary
- Discoverability in Store
- Enabling branded experience
- Better UX with Adaptive Cards
General limitations - Max 30 connectors in Tenant
- Relatively low data volume and activity
- App visibility to users
- Graph connectors API limits
- Max one million plugins enabled per user
- Plugins need to be manually enabled
- Data can leave compliance boundary
- Orchestrator can only reason with 10 plugins per prompt
- Performance depends on developers and hosting
Technical requirements for message extension plugins
Tooling limitations - No sideloading
- Potentially sync External Group ACLs
Also work with - Context IQ
- Viva Topics
- Enterprise Search in M365.com, SharePoint, and Bing @ work
- Content recommendations in Microsoft 365 apps
- Outlook
- Teams chat
- Multi-parameter prompt complexity
Data structure Unstructured or flattened data Structured data
Data volume Up to 5M items per connection Suitable for high volume data (Over 5M)
Data activity Up to 20 requests per second Suitable for high activity (Over 20 req/sec.)
Summarize/Act Summarize only Summarize + Act