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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 Copilot app, and more.
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 Copilot app, and more.
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 Copilot app, and more.
Plugins for Microsoft 365 Copilot
Teams message extension samples
The following samples implement Teams message extensions that extend Microsoft 365 Copilot.
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.
This TypeScript sample implements a Teams message extension that allows users to query Products held in SharePoint Online team site via Microsoft Graph.
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.
Extend Microsoft 365 Copilot is a multi-part series that teaches you basic concepts of extending Copilot for Microsoft 365 in .NET. This series helps you understand what Copilot for Microsoft 365 is and how it works. It also explains why you should consider extending it to give it access to data in your organization and what options you have to extend it.