Section 01 · Unit introduction

Why extend Microsoft 365 Copilot

Microsoft 365 Copilot already reasons over a user's Microsoft Graph data — their mail, files, chats, and calendar. Extensibility lets you add your own knowledge and capabilities so Copilot can answer from your line-of-business data and take actions in your systems, all from within the Copilot experience users already have.

Rather than building a separate destination, you meet users where they are. This unit covers the extensibility options — declarative agents, custom agents, message extensions, API plugins, and Graph connectors — and, most importantly, how to choose between them.

By the end of this unit
  • Distinguish declarative agents from custom engine agents and know when each applies.
  • Explain the roles of message extensions, API plugins, and Graph connectors in extending Copilot.
  • Decide when to extend Microsoft 365 Copilot versus build a standalone agent.

The extensibility landscape

  • Graph connectors bring external content into the Microsoft Graph
  • Indexed content becomes part of what Copilot can reason over
  • Best for making your knowledge bases discoverable
  • No conversation design required — it enriches the existing Copilot
  • API plugins let Copilot call your REST APIs to fetch data or take actions
  • Message extensions surface app content and actions into Copilot
  • Best for connecting Copilot to systems that do work
  • Defined by an API description and a manifest
  • Declarative agents tailor Copilot with instructions, knowledge, and actions
  • Custom engine agents bring your own orchestration and model
  • Best for a focused, branded assistant for a specific job
  • Published to the Copilot experience your users already use
Extending Copilot is a decision to meet users inside the tool they already open every morning, rather than asking them to learn a new one.
Working principle · Copilot extensibility
Section 02

Declarative vs custom agents

The two agent types differ in how much of the AI stack you control. A declarative agent runs on Microsoft 365 Copilot's own orchestrator and foundation model — you declare its behaviour. A custom engine agent brings your own orchestration and model. Choosing correctly saves significant effort.

Declarative agents — declare, don't orchestrate

You define a declarative agent with instructions (its persona and rules), knowledge (the sources it should ground on, such as specific SharePoint sites or Graph connector content), and actions (API plugins it can call). Microsoft 365 Copilot supplies the model and orchestration. This is the fastest route to a focused assistant — "the HR policy agent", "the sales-collateral agent" — and the right default for most scenarios.

Custom engine agents — bring your own stack

When you need control the Copilot orchestrator does not offer — a specific model, bespoke orchestration logic, or integration with an external AI platform — you build a custom engine agent (for example with Copilot Studio or Azure AI Foundry) and surface it in the Microsoft 365 Copilot experience. You gain control and take on more responsibility for behaviour, evaluation, and cost.

Package and publish the same way

Both are described by a Microsoft 365 app manifest and published through the same channels — your organisation's app catalogue, or wider distribution. Users discover and pin them inside Copilot. The packaging is consistent; what differs is what runs underneath.

Decision note

Start with a declarative agent. Reach for a custom engine agent only when a concrete requirement — a particular model, custom orchestration, or non-Microsoft AI integration — forces it. The cheaper option is correct far more often than teams assume.

Knowledge check

A team wants a focused assistant grounded in three SharePoint sites that can also call one internal API. Which option fits best?

Section 03

Plugins and Graph connectors

Knowledge and actions are added through distinct mechanisms. Understanding which does what prevents the common mistake of reaching for the wrong tool.

Graph connectors — making external content discoverable
A Graph connector ingests and indexes content from an external system — a knowledge base, a ticketing system, a document store — into the Microsoft Graph. Once indexed, that content becomes part of what Microsoft 365 Copilot can reason over and cite, and it respects access permissions. Use connectors when the goal is to make your organisation's knowledge findable inside Copilot, with no conversation to design.
API plugins — letting Copilot call your APIs
An API plugin lets Copilot invoke your REST API to retrieve live data or take an action. You describe the API (typically with an OpenAPI description) and provide a manifest. Copilot decides when to call it based on the conversation and the plugin's description. Use API plugins when the answer is not static content but a live query or an operation — checking order status, creating a record.
Message extensions — surfacing app content and actions
Message extensions, originally built for Teams, let an app return rich content and actions into the conversation. Search-based and action-based message extensions can be used as plugins for Copilot, letting users pull in app content or trigger app actions. They are a good fit when you already have a Teams app whose capabilities you want to expose to Copilot.
Choosing knowledge versus action
The dividing question is simple: does the user need to find something, or do something? Finding existing content points to a Graph connector. Doing — a live lookup or an operation in another system — points to an API plugin or message extension. Many real solutions combine both: a connector for the knowledge and a plugin for the action.
Reflect

Consider a system your organisation relies on that Copilot cannot currently reach. Is the value in making its content discoverable (a connector) or in letting Copilot act on it (a plugin)? Being precise about which one you need is the first step in a credible extensibility plan.

Section 04

When to extend vs build standalone

The final and most consequential decision is whether to extend Microsoft 365 Copilot at all, or to build a standalone agent in Copilot Studio. Both are valid; the choice depends on the audience and the scenario.

Extend Microsoft 365 Copilot when…

Your users are licensed for Microsoft 365 Copilot and already work inside it; the value is in enriching their existing Copilot with your knowledge and actions; and you want to benefit from Copilot's orchestration, grounding over Graph data, and the familiar experience. Extensibility meets users where they are with minimal new surface area to learn.

Build a standalone agent when…

Your audience is external, anonymous, or not licensed for Microsoft 365 Copilot; you need a specific channel such as a public website or a custom app; or you need full control over the conversation, branding, and channels that a standalone Copilot Studio agent provides. Standalone agents are not constrained to the Microsoft 365 Copilot experience.

Recognise the overlap — and reuse

Copilot Studio can build agents that are surfaced inside Microsoft 365 Copilot and agents that stand alone, and much of the knowledge and action work transfers between them. Decide the audience and channel first; the build approach follows from that, and you can often reuse connectors and plugins across both.

Continue on Microsoft Learn

Go deeper with the official extensibility content:

Extend Copilot for Microsoft 365 with plugins ↗

Create agents with Copilot Studio and Azure AI ↗

End of Unit 8

You should now be able to:

  • Distinguish declarative agents from custom engine agents and default to the simpler option.
  • Match Graph connectors, API plugins, and message extensions to knowledge versus action needs.
  • Decide between extending Microsoft 365 Copilot and building a standalone agent based on audience and channel.
Section 05

Unit review

Question 1 of 4

What primarily distinguishes a declarative agent from a custom engine agent?

Question 2 of 4

You want to make a large external knowledge base discoverable and citable inside Microsoft 365 Copilot, with no conversation to design. Which mechanism?

Question 3 of 4

The dividing question between a Graph connector and an API plugin is best framed as:

Question 4 of 4

When is building a standalone Copilot Studio agent the better choice over extending Microsoft 365 Copilot?

End of module

You have completed Course 08: Extending Copilot With Plugins. Next: AI Security Fundamentals — prompt injection, data exfiltration, oversharing, and the Microsoft AI security framework.

Craig Stanley Studio · Deploy — Architecture, Integration & Operations · Extending Copilot With Plugins · Access by direct link only.