Microsoft 365 Copilot extensibility samples

This article provides links to code samples to help you develop Copilot extensibility solutions, including agents, Microsoft Graph connectors, and plugins.

Declarative agent samples

The following declarative agent samples are available from the PNP community.

Sample Description
Career Coach Provides personalized career development suggestions, including role understanding, skill gap analysis, learning opportunities, and career transition plans. It aims to understand the user's current role, identify career goals, assess skills and gaps, suggest learning opportunities and create a detailed action plan for future growth.
Idea Coach Facilitates brainstorming sessions and planning, offering creative exercises, idea organization techniques, and feedback for improvement. It uses a fun, collaborative tone, asks iterative questions and provides detailed agendas and creative suggestions for running effective brainstorming sessions.
Learning Coach Helps users understand complex topics by breaking them down into simple, intermediate, and advanced summaries, and also provides guided practice and learning plans. It employs various techniques for learning complex topics, including glossaries, analogies, practice exercises and structured study plans.
Prompt Coach Assists users in creating effective and well-structured prompts for Copilot. Offering analysis, compliance checks and improvement suggestions. It asks for information on the goal, context, source, and expectations to generate effective prompts and provides detailed analyses for to help elevate your prompt writing prowess.
Writing Coach Provides detailed feedback on writing, helps change the tone of messages, translates text, and helps writing instructions, stories, blog posts, and whitepapers. It focuses on clarity, coherence, grammar, and overall impact, offering specific improvements and alternatives for various types of document authoring.

Declarative agent with API plugin samples

The following samples implement custom agents using Microsoft's orchestration and models.

Sample Description
Trey Research Copilot extension (OAuth version) This example demonstrates how to build your own declarative agent using Microsoft's orchestrator and LLMs, that's also capable of interacting with an API through an API plugin. This sample includes authentication.
Trey Research Copilot extension (anonymous version) This example demonstrates how to build your own declarative agent using Microsoft's orchestrator and LLMs, that's also capable of interacting with an API through an API plugin. This version of the Trey Research sample doesn't do authentication, but might be useful for demos and experimentation.

Custom engine agent samples

The following samples implement custom engine agents using custom orchestration and models.

Sample Description
Meeting Helper with Azure OpenAI This example demonstrates how Azure OpenAI extracts action items from meeting transcriptions for all participants who subscribed to a meeting. It then sends these action items to each individual user in a 1:1 chat after the meeting concludes.
Virtual assistant bot This sample application demonstrates a root bot that routes inputs to skill bots for tailored responses.

Microsoft Graph connector samples

The following samples implement Microsoft Graph connectors that extend Microsoft 365 Copilot.

Sample Description
TypeScript policies connector This sample contains a Microsoft Graph connector that shows how to ingest local policies into Microsoft 365. For each file, it extracts the metadata from front matter, maps them to the external connection's schema, and ingests the content, retaining the content and metadata. The ingested content is set to be visible to everyone in the organization.
.NET Microsoft Graph docs connector This sample .NET project shows you how to build a Microsoft Graph connector to ingest unstructured data to Microsoft 365 and make it available to Microsoft 365 Copilot. The project uses Teams Toolkit for Visual Studio to package the connector as a Microsoft Teams app and simplify its deployment in the organization.
.NET GitHub connector This .NET application shows you how to use the Microsoft Graph connector API to create a custom connector that indexes issues and repositories from GitHub. This connector sample powers experiences such as Microsoft Search, Copilot in Teams, the Microsoft 365 App, and more.
Python GitHub connector This Python application shows you how to use the Microsoft Graph connector API to create a custom connector that indexes issues and repositories from GitHub. This connector sample powers experiences such as Microsoft Search, Copilot in Teams, the Microsoft 365 App, and more.
TypeScript GitHub connector This TypeScript application shows you how to use the Microsoft Graph connector API to create a custom connector that indexes issues and repositories from GitHub. This connector sample powers experiences such as Microsoft Search, Copilot in Teams, the Microsoft 365 App, and more.

Microsoft Graph connector samples from the community

You can find the latest list of Microsoft Graph connector samples from the community in the Microsoft Adoption center.

Plugins for Microsoft 365 Copilot

Teams message extension samples

The following samples implement Teams message extensions that extend Microsoft 365 Copilot.

Sample Description
Northwind Inventory extension This TypeScript sample implements a Teams message extension that allows users to query data from the Northwind sample database and take action on that data.
Azure AI search extension This JavaScript sample implements a Teams message extension that uses Azure AI search to enable vector search of documents.
.NET Product support extension This .NET sample implements a Teams message extension that allows users to query Products held in SharePoint Online team site via Microsoft Graph.
TypeScript Product support extension This TypeScript sample implements a Teams message extension that allows users to query Products held in SharePoint Online team site via Microsoft Graph.
.NET Multi Parameters Plugin that demonstrates how to implement complex utterances and support deep retrieval
TypeScript Multi Parameters Plugin that demonstrates how to implement complex utterances and support deep retrieval
JavaScript Multi Parameters Plugin that demonstrates how to implement complex utterances and support deep retrieval
Compliance checker Use Azure OpenAI to compare proposal documents against a guideline document and return whether the proposal complies and why/why not.
Expert finder This sample implements a Teams message extension that can be used to query a database of candidates based on their skills, location, and availability. The sample, when used with Microsoft 365 Copilot, demonstrates Single Sign-On (SSO), and Copilot's ability to perform multi-parameter search.

Videos