Getting to Know Copilot Plugins
Tags: githubcopilot, learning
Published: 2024-01-09 07:30:00

Welcome and happy new year 2024. After going through this article, you'll be able to brainstorm fresh features for enhancing **Copilot**. While you might believe **Copilot** already fulfills all your needs, there might be ideas cropping up that could prove beneficial.

By incorporating **Plugins**, **Copilot's** capabilities can be expanded, enabling you to augment the tasks and functions it currently handles. For instance, you could consider integrating tasks into your *ToDo* dashboard or a designated *Planner*, dispatching emails to specific individuals or groups, or creating a *Microsoft Teams* team on a particular topic and including relevant participants—all seamlessly done through your interaction with **Copilot**.

![Copilot and Copilot + Plugins](https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4a573ab-5355-43c6-bc30-3edcef11c0c2_512x546.png)

Believe it or not, all of this is achievable. Let's delve to get the knowledge of what are and what you can do with **Plugins**.

## What is a Plugin

A **Plugin** is a software component that brings personalized features to the **Copilot** interface. It enables **Copilot** to connect with your APIs, enhancing the overall experience by enabling a diverse range of actions within **Copilot**.

The large language model supporting **Copilot** is trained on an extensive dataset, granting it the ability to comprehend and address a broad spectrum of topics. Despite this, **Copilot** lacks the ability to fetch real-time data from external services.


## How a Plugin works

Understanding the technical workings of a **Plugin** is crucial to gauge its potential. This knowledge allows you to envision practical applications that can enhance your and your colleagues' daily tasks.

For the end user, **Copilot** serves as both the point of entry and exit. The end user remains unaware of whether the response originates from a **Plugin** or directly from **Copilot**. Consequently, there is no impact on the user experience—only the outcome of the requests made.

Technically, the process begins with an end user engaging in a conversation with **Copilot**. Upon receiving the request, **Copilot** interprets it and decides whether to engage the **Plugin** or handle it independently. If the former, the **Plugin** executes the actions specified in its source code and transmits the response to **Copilot**. **Copilot** then utilizes the **Plugin's** output to craft an appropriate response for the end user.

As demonstrated, a **Plugin** holds the capability to perform a wide array of tasks within a conversation with **Copilot**, making sense to the end user. Envision the possibilities of numerous linked requests, each triggering a different **Plugin**, ultimately culminating in a comprehensive response at the conversation's conclusion.

![Plugin Usage Steps by Microsoft](https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa3de9b0-378d-423e-8589-5467e5137b57_1200x754.png)


## What can I do in a Plugin?

As highlighted in the preceding point, a **Plugin** boasts an extensive and almost limitless capacity to execute a diverse array of actions. Essentially, a **Plugin** is a software entity, an API designed to carry out specific tasks. This API can seamlessly integrate with any other company API, retrieving or storing information across various systems.

Consider this hypothetical scenario: initiating the creation of a *Microsoft Teams* team each time you embark on a project involving external companies. Not only that, but you also need to establish proper security measures, configure available interaction options, and include both your colleagues and external company workers. Now, picture accomplishing all these steps effortlessly through a conversation with **Copilot**. Quite impressive, isn't it?

>*Now expand your thoughts to entire processes executable in **Copilot**, involving actions across different systems such as SAP, Workday, Cornerstone, and, naturally, Microsoft 365 Graph or Power Automate flows with HTTP-based triggers.*

Imagine the multitude of tasks **Copilot** can handle. Engaging in this exercise enables you to discover new functionalities that can significantly streamline the execution of your daily responsibilities, ultimately saving you valuable time.


## Wrapping up

**Copilot** is a great tool that helps you do tasks faster. It comes with lots of features to tackle everyday issues, but these are pretty standard for any company.

Now, with **Plugins**, **Copilot** gets even better. It becomes more powerful and can have extra features that are specific and useful for your daily tasks.

I'd like to know what you think about using **Plugins**. Do you find them helpful, or do you think already does everything you need? Leave your thoughts at the end of the article.


## References

- *Overview of Plugins for Microsoft Copilot: [https://learn.microsoft.com/en-us/copilot-plugins/overview](https://learn.microsoft.com/en-us/copilot-plugins/overview)*
- *ChatGPT Function calling: [https://platform.openai.com/docs/guides/function-calling/function-calling](https://platform.openai.com/docs/guides/function-calling/function-calling)*