Skip to main content

Setting up Copilot Extensions

Follow these steps to start building Copilot Extensions.

Note

GitHub Copilot Extensions is in public beta and subject to change.

1. Learn about Copilot agents

Copilot agents contain the custom code for your Copilot Extension, and integrate with a GitHub App to form the Copilot Extension itself. For more information, see "About Copilot agents."

To successfully build a Copilot agent, you need to understand how the agent communicates with:

2. Review example Copilot agents and the Copilot Extensions SDK

To see the previous concepts in practice and learn about agent implementations, review the following example agents and software development kit (SDK), all of which are available in the copilot-extensions organization:

  • Blackbeard (best starting point): A simple agent that responds to requests like a pirate using Copilot's large language model (LLM) API and special system prompts.
  • GitHub Models: A more complex agent that lets you ask about and interact with various LLMs listed on the GitHub Marketplace through Copilot Chat. The GitHub Models agent makes use of function calling.
  • Function Calling: An example agent written in Go that demonstrates function calling and confirmation dialogs.
  • RAG Extension: An example agent written in Go that demonstrates a simple implementation of retrieval augmented generation.
  • Preview SDK: An SDK that streamlines the development of Copilot Extensions by handling request verification, payload parsing, and response formatting automatically. This SDK allows extension builders to focus more on creating core functionality and less on boilerplate code.

3. Build a Copilot agent

Using the reference material from the previous steps, plan and build your Copilot agent. You can choose to implement any of the following options:

4. Deploy your Copilot agent

To make your Copilot agent accessible to the Copilot platform and GitHub, you need to deploy it to a server that is reachable by HTTP request. See "Configuring your server to deploy your Copilot agent."

5. Create a GitHub App and integrate it with your Copilot agent

To create a Copilot Extension, you need to create and configure a GitHub App, then integrate it with your Copilot agent. See "Creating a GitHub App for your Copilot Extension" and "Configuring your GitHub App for your Copilot agent."

6. Choose the availability of your Copilot Extension

Choose one of two visibility levels for your Copilot Extension:

  • Public: Any user or organization account with the installation page link for the extension can install it.
  • Private: Only the user or organization account that created the extension can install it.

If you make your Copilot Extension public, you can then choose to list it on the GitHub Marketplace.

To learn how to change the visibility of your Copilot Extension and list it on the GitHub Marketplace, see "Managing the availability of your Copilot Extension."

Next steps

To learn how to use your Copilot Extension, see "Using extensions to integrate external tools with Copilot Chat."