Your extensibility options for Microsoft 365 Copilot
When it comes to deciding on your approach to AI development, there are numerous options to consider. Microsoft offers Azure AI solutions and Microsoft Copilot extensibility options ranging the stack from AI infrastructure (IaaS) to platform (PaaS) to software (SaaS) services, and optimized AI infrastructure. This guide aims to streamline your journey through the options for Microsoft Copilot, assisting you in identifying the most suitable solution aligned with your specific needs and goals.
Important
- Plugins for Microsoft Copilot for Microsoft 365 are in public preview and only work in Copilot chat in Microsoft Teams.
- The capability is enabled by default in all Microsoft 365 Copilot licensed tenants. Admins can disable this functionality on a user and group basis and control how individual plugins are approved for use, and which plugins are enabled. For details see: Manage Plugins for Copilot in Integrated Apps.
Extend Copilot or build a custom engine copilot?
When you're looking to create a fully customized end-to-end AI product to cater to your business needs, you typically choose language models and orchestration for your Retrieval-Augmented Generation (RAG) solutions.
On the other hand, you can extend Microsoft Copilot, which is powered by private instances of Large Language Models (LLMs) and the Azure OpenAI service. Copilot combines LLM responses with organizational context to provide relevant assistance. When you build extensions for Copilot, you can utilize the orchestration layer representing the interface between foundation LLMs, to select and execute the right content from the right plugin.
Here's your first decision-making point; extending Copilot to leverage the orchestrator, or build with your own?
- 🎯 If you want to extending Microsoft Copilot, go to the next section, Option 1!
- 🎯 Then, you have choices for extensions; build declarative copilots, plugins, or connectors. Find out about extensibility types
- 🎯 Otherwise, jump to Option 2 to build your own copilots!
Option 1. Extending Microsoft Copilot
Okay, you want to leverage the Copilot orchestrator. Now, let's have a quick grasp of Microsoft Copilot—Microsoft Copilot is available for end-users across multiple Microsoft products, including: Microsoft 365 (Office) app, Teams, Outlook, PowerPoint, Word, Excel, Power Apps, Power Automate, Power Virtual Agents, Power Pages, and Dynamics 365.
And Copilot for Microsoft 365 is available as "Work" profile with Copilot for Microsoft 365 subscription, designed for enterprise users to enhance productivity within Microsoft 365 applications.
By extending Copilot for Microsoft 365 for enterprise users,
- Your service will be a part of the Microsoft ecosystem, enabling your users to benefit from the user experience of Microsoft products and allowing you to reach millions of users
- You can build an AI solutions for organizations to boost employee productivity across businesses
- You can apply people-centric data with Microsoft Graph to provide more personalized experience for your users
- You can use Graph Connector, SharePoint site library, or Dataverse table that is used in the workflow as your RAG data source
Tip
Are you a business decision maker? Check out the Microsoft Copilot Scenario Library
Types of copilot extensibility for Microsoft 365
Now, it’s important to understand the variety of methods available for applying the capabilities of external services, apps, and data.
There are two distinct extension interfaces for Microsoft Copilot for end-users: standalone plugins that connect REST APIs, and declarative copilots. As an analogy, you can view Microsoft Copilot as something like an operating system, where plugins are services, and declarative copilots are apps.
Now, let's find out which extensibility option(s) are for you—
To create a copilot for specific tasks and domain knowledge, build:
To add unstructured data into Microsoft Graph, use:
- 🎯 Graph connectors, which enable data ingestion from various sources to Microsoft Graph, facilitating unified data access and insights across Microsoft 365 and other services
And there are the growing number of extensions you build. Your options include:
- Plugins, which add skills and actions to Microsoft 365.
- 🎯 API plugins can work either standalone, or with declarative copilots by calling REST APIs via OpenAPI service.
- 🎯 Message Extensions for Teams are the search and action capability for Teams that now work as plugins too.
- 🎯 Actions in Copilot Studio, which connects Microsoft 365 and the Power Platform environment.
- Conversational actions, which can be created directly in Copilot Studio, to process a user query by completing one or more operations, and then sends one or more responses back to the user.
- Prompts which use AI Builder and natural language understanding including grounding on Dataverse to target the specific scenarios and workflows within your business.
- Flows, which use Power Automate flow to map existing flows or processes in your organization to perform actions, and retrieve and work with data.
- Connectors, which use Power Platform connectors to access data from other systems, such as popular enterprise products like Salesforce, Zendesk, MailChimp, and GitHub.
Note
Connectors and plugins can be built as a stand-alone, or with a declarative copilot.
Tip
If you've built message extensions for Teams before, you can immediately see the value of Copilot extensibility, but if you want to build the latest and greatest, try building API plugins and Graph Connectors!
Tool options: Pro-code or low-code?
Your journey vary based on your desired outcomes and your coding expertise. Whether you’re a seasoned coder or prefer low-code or no-code solutions, there’s a suite of tools tailored to your development style.
How you build and which tools you should use is up to you. Your choices are:
🎯 Pro-code options are declarative copilots, API plugins, message extensions, and Graph connectors. Teams Toolkit for Visual Studio Code extension would be your best friend for the development to tailor your copilots.
🎯 Low-code or no-code options are declarative copilots, all Copilot Studio actions, and Graph connectors as knowledge source. You can develop rapidly with user-friendly interface on Copilot Studio.
Weighing your options
There are many factors that you want to consider when deciding which option to pick. Before settling on a path, it’s wise to consider the pros and cons of each option. This ensures you make an informed decision that aligns with your development needs and goals.
Extensibility options | Benefits | Limitations |
---|---|---|
Graph connectors | Able to add activities (e.g. View, modify, and shared), which improve the relevance Semantic discovery of content is immediately available without turning on Content in Graph also works with ContextIO, Content Recommendations and Enterprise Search in Microsoft365.com, SPO, and Bing at Work Third-party data stays within compliance boundary by indexing the data (Learn more) |
Not visible or discoverable to end-users unless used with declarative copilots and/or message extensions No sideloading. The Search Administrator role is required to deploy your Graph Connector to Copilot If you don't implement Entra ID Groups in your system, you need to create External Groups calling Graph APIs and maintain sync state of the membership |
Declarative copilots | Your own branded chat experience Improved discoverability and user-experiences |
Still in private preview and features are limited |
API plugins | Support search and action Support basic Adaptive Cards for better UX Simpler development with existing REST APIs with OpenAPI specifications You can include instructions to LLM |
Still in private preview and features are limited |
Teams message extensions | Discoverable through Teams Store or App Source marketplace Support search and action Support Adaptive Cards for better UX and more controls Works on Outlook too If you previously have build message extensions for Teams, they now work as plugins |
Max 1 million plugins enabled per user Limited numbers of commands (max 3) and parameters (max 5) Orchestrator only reasons with 10 plugins per prompt Data can leave compliance boundary, as it calls the bot framework command, which is hosted externally to the Microsoft 365 boundary Performance depends on developers and hosting Handling multi-parameters with complex prompts can be challenging |
Copilot Studio plugins | Fastest to first run experience No infrastructure management is needed No coding experience required Copilot Studio is included as part of the Microsoft Copilot license |
Customization can be limited Scaling might be limited to Microsoft Copilot Studio subscription tiers If the plugin uses Power Platform Connectors, users require a Power Platform license |
Data types
Consider your data: how it's structured, the level of volume and activity you expect, and the required data access.
Solution | Data structure | Data volume | Data activity | Summarize/ Act |
---|---|---|---|---|
Graph connectors | Unstructured data (e.g. plain text documents, wiki pages, and PDF files) | Up to 5M items per connection | Up to 20 requests per second | Summarize (Copilot analyzes and extracts key information) only |
Message extension plugins | Structured data (organized in a predefined manner, often in the form of tables with rows and columns) | Suitable for high volume data (Over 5M) | Suitable for high activity (Over 20 req/sec.) | Summarize + Act (with Adaptive Card, a user can modify the data) |
Copilot Studio plugins | Structured data | Suitable for high volume data (Over 5M) | Suitable for high volume data (Over 5M) | Summarize only |
Coming soon: Soon, Copilot will analyze input prompts using machine learning techniques to generate new content. It examines available plugin commands based on their descriptions and parameters. Then, it populates relevant data into those parameters and executes the command.
Option 2: Building a custom engine copilot for Microsoft 365
With Azure AI services, you can craft a custom AI chatbot for Teams and Microsoft 365 applications. If you’re seeking a custom bot solution on Teams chat, then building your own copilots is the perfect fit for you.
How does it differ from Copilot extensions for Microsoft 365?
In the context of building copilots for Microsoft 365, there are several options available. This diagram provides a comparison between the Copilot extensibility options (Graph connectors, plugins, and declarative copilots, which can connect to Graph connectors and plugins) and the custom engine copilot:
The custom engine copilot operates on a BYO (Bring Your Own) model. So, you can use your preferred LLM and orchestrator.
Building custom engine copilot is an excellent choice if:
- You want to choose models and orchestration
- You have prior experience in building Teams bots or are familiar with Teams bot development
- You aim to have your conversational AI bot accessible to all Microsoft 365 users, regardless of their Copilot licensing status
🎯 Learn more on building your own custom engine copilot.
Tool options: Pro-code or low-code?
How you build and which tools you should use is up to you. Your choices are:
🎯 Pro-code: If you prefer coding for full customization, use Teams AI Library with Teams Toolkit for Visual Studio Code extension
🎯 Low-code or no-code: You can develop rapidly with user-friendly interface on Copilot Studio to build Copilot Studio custom copilots.
Next step
Learn prerequisites for building connectors and plugins:
See also
משוב
https://aka.ms/ContentUserFeedback.
בקרוב: במהלך 2024, נפתור בעיות GitHub כמנגנון המשוב לתוכן ונחליף אותו במערכת משוב חדשה. לקבלת מידע נוסף, ראה:שלח והצג משוב עבור