Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2b54bd4

Browse files
sunbryeCopilotjules-pheiskr
authored
Copilot Extensions - FAQ (#54442)
Co-authored-by: Copilot <[email protected]> Co-authored-by: Jules <[email protected]> Co-authored-by: Kevin Heis <[email protected]>
1 parent ea706cb commit 2b54bd4

30 files changed

Lines changed: 133 additions & 57 deletions

File tree

content/apps/github-marketplace/github-marketplace-overview/about-github-marketplace-for-apps.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,6 @@ If you're interested in creating an app for {% data variables.product.prodname_m
4646

4747
### {% data variables.product.prodname_copilot_extensions %}
4848

49-
{% data reusables.copilot.copilot-extensions.public-preview-note %}
50-
5149
{% data reusables.copilot.copilot-extensions.copilot-extensions-intro %}
5250

5351
To learn more about {% data variables.product.prodname_copilot_extensions_short %}, see [AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/using-github-copilot-extensions).

content/copilot/building-copilot-extensions/about-building-copilot-extensions.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
title: About building Copilot Extensions
33
intro: 'Learn about the development process for {% data variables.product.prodname_copilot_extensions_short %}.'
4+
product: '{% data reusables.gated-features.copilot-extensions %}'
45
versions:
56
feature: copilot-extensions
67
topics:
@@ -43,6 +44,18 @@ type: overview
4344
* Integrate their tool into the developer workflow on {% data variables.product.company_short %} and the IDE
4445
* Leverage the {% data variables.product.company_short %} ecosystem to raise awareness for their product
4546

47+
### About {% data variables.product.prodname_copilot_extensions %} permissions
48+
49+
{% data reusables.copilot.copilot-extensions.about-extensions-permissions %}
50+
51+
#### Granting permissions to access organization resources
52+
53+
Only organization admins can grant permissions for {% data variables.product.prodname_copilot_extensions_short %} to access organization resources.
54+
To grant organization members access:
55+
* The organization admin must install the extension.
56+
* The organization admin must grant the extension permission to access specific repositories.
57+
* The organization admin must authorize access for all, or specific repositories.
58+
4659
### About skillsets and agents
4760

4861
{% data reusables.copilot.copilot-extensions.differences-between-agents-and-skillsets-1 %}
@@ -66,7 +79,13 @@ Context passing respects content exclusions, which refers to any files listed in
6679

6780
For more information about context passing, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/context-passing-for-your-agent).
6881

69-
### Resources for building {% data variables.product.prodname_copilot_extensions %}
82+
### Using APIs in {% data variables.product.prodname_copilot_extensions %}
83+
84+
Building {% data variables.product.prodname_copilot_extensions %} requires using the {% data variables.product.github %} API. Optionally, the {% data variables.product.prodname_copilot_short %} API can be used for additional capabilities. For details on request and response formatting, see the [OpenAI API documentation](https://platform.openai.com/docs/api-reference/chat).
85+
86+
> [!NOTE] The {% data variables.product.prodname_copilot_short %} API is available for {% data variables.product.prodname_copilot_extension_short %} builders, but only {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_vscode_shortname %} Chat extensions can be used to access these endpoints.
87+
88+
## Resources for building {% data variables.product.prodname_copilot_extensions %}
7089

7190
{% data variables.product.company_short %} provides a comprehensive toolkit for extension builders, with code samples, a CLI debugging tool, quickstart SDKs, and a user feedback repository. For more information, see the [copilot-extensions](https://github.com/orgs/copilot-extensions/) organization on {% data variables.product.company_short %}.
7291

content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/about-copilot-agents.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ shortTitle: About Copilot agents
99
type: overview
1010
---
1111

12-
{% data reusables.copilot.copilot-extensions.public-preview-note %}
13-
1412
{% data variables.product.prodname_copilot_agents_short %} are custom tools embedded in {% data variables.product.prodname_copilot_extensions_short %}. They integrate with {% data variables.product.prodname_copilot_chat_short %} to provide additional functionalities tailored to specific needs. {% data variables.product.prodname_copilot_agents_short %} can perform various tasks such as querying documentation, retrieving data, executing specific actions, or providing AI-assisted coding suggestions. They enhance the capabilities of {% data variables.product.prodname_copilot %} by allowing developers to build and integrate custom features directly into the {% data variables.product.prodname_copilot_chat_short %} interface.
1513

1614
To use a {% data variables.product.prodname_copilot_agent_short %} in {% data variables.product.prodname_copilot_chat_short %}, it must be associated with a {% data variables.product.prodname_github_app %}. This combination of a {% data variables.product.prodname_github_app %} and a {% data variables.product.prodname_copilot_agent_short %} is what we refer to as a {% data variables.product.prodname_copilot_extension %}. For more information on {% data variables.product.prodname_copilot_extensions_short %}, see [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions).

content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ shortTitle: Communicate with GitHub
99
type: reference
1010
---
1111

12-
{% data reusables.copilot.copilot-extensions.public-preview-note %}
13-
1412
## Prerequisites
1513

1614
{% data reusables.copilot.copilot-extensions.agents-copilot-platform-prerequisites %}

content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-the-copilot-platform.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ type: reference
1010
layout: inline
1111
---
1212

13-
{% data reusables.copilot.copilot-extensions.public-preview-note %}
14-
1513
{% data variables.product.prodname_copilot_agents_short %} communicate with the {% data variables.product.prodname_copilot_short %} platform in the form of server-sent events (SSEs). Rather than waiting for the {% data variables.product.prodname_copilot_short %} platform to request an update from your agent, or vice versa, you can use SSEs to send and receive updates to and from the platform in real time.
1614

1715
To learn more about SSEs, see [Server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) in the mdn documentation.

content/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/using-copilots-llm-for-your-agent.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ type: reference
1010
allowTitleToDifferFromFilename: true
1111
---
1212

13-
{% data reusables.copilot.copilot-extensions.public-preview-note %}
14-
1513
## About {% data variables.product.prodname_copilot_short %}'s Language Learning Model (LLM)
1614

1715
{% data variables.product.prodname_copilot_short %}'s Language Learning Model (LLM) is a powerful, large-scale language model that is trained on a diverse range of data sources, including code, documentation, and other text. {% data variables.product.prodname_copilot_short %}'s LLM underpins the functionality for {% data variables.product.prodname_copilot %}, and is used to power all of {% data variables.product.prodname_copilot_short %}'s features, including code generation, documentation generation, and code completion.
@@ -22,7 +20,7 @@ You have the option to use {% data variables.product.prodname_copilot_short %}'s
2220
2321
## Using {% data variables.product.prodname_copilot_short %}'s LLM for your agent
2422

25-
You can call {% data variables.product.prodname_copilot_short %}'s LLM deployment at `{% data variables.copilot.chat_completions_api %}` with a POST request. The request and responses should be in the same format as the OpenAI API.
23+
You can call {% data variables.product.prodname_copilot_short %}'s LLM deployment at `{% data variables.copilot.chat_completions_api %}` with a POST request. Requests and responses should follow the format as the [OpenAI API](https://platform.openai.com/docs/api-reference/chat/create).
2624

2725
To authenticate, use the same `X-Github-Token` header sent to your agent. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github#fetching-resources-from-the-github-api).
2826

content/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/about-copilot-skillsets.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ shortTitle: About {% data variables.product.prodname_copilot_skillsets_short %}
99
type: overview
1010
---
1111

12-
{% data reusables.copilot.copilot-extensions.public-preview-note %}
13-
1412
A skill within {% data variables.product.prodname_copilot %} is a tool that the model calls to perform a specific task in response to a user query. A skillset is a collection of these skills (up to five per skillset). {% data variables.product.prodname_copilot_skillsets %} provide a streamlined way to extend {% data variables.product.prodname_copilot_short %}’s functionality, allowing builders to integrate external services or custom API endpoints into their {% data variables.product.prodname_copilot_short %} workflow. With skillsets, builders can enable {% data variables.product.prodname_copilot_short %} to perform tasks—such as retrieving data or executing actions in third-party services—without needing to manage complex workflows or architecture.
1513

1614
For a quickstart example of a skillset, see the [skillset-example](https://github.com/copilot-extensions/skillset-example) repository. For information on building a skillset, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/building-copilot-skillsets).

content/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/building-copilot-skillsets.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ shortTitle: Build {% data variables.product.prodname_copilot_skillsets_short %}
99
type: how_to
1010
---
1111

12-
{% data reusables.copilot.copilot-extensions.public-preview-note %}
13-
1412
## Introduction
1513

1614
{% data variables.product.prodname_copilot_skillsets %} are a streamlined way to extend {% data variables.product.prodname_copilot %}'s functionality by defining API endpoints that {% data variables.product.prodname_copilot_short %} can call. When you create a skillset, {% data variables.product.prodname_copilot_short %} handles all the AI interactions while your endpoints provide the data or functionality. This guide walks you through configuring and deploying a skillset within your {% data variables.product.prodname_github_app %}.
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
---
2+
title: Copilot Extensions FAQ
3+
intro: 'Find answers to common questions about {% data variables.product.prodname_copilot_extensions %}.'
4+
versions:
5+
feature: copilot-extensions
6+
topics:
7+
- Copilot
8+
shortTitle: Extensions FAQ
9+
type: reference
10+
---
11+
12+
## General
13+
14+
This section answers common questions about {% data variables.product.prodname_copilot_extension %}.
15+
16+
* [What is the difference between a {% data variables.product.prodname_copilot_extension %} and a {% data variables.product.prodname_vscode %} chat participant?](#what-is-the-difference-between-a-github-copilot-extension-and-a-visual-studio-code-chat-participant)
17+
* [Is indemnity provided for {% data variables.product.prodname_copilot_extensions_short %}?](#is-indemnity-provided-for-copilot-extensions)
18+
19+
### What is the difference between a {% data variables.product.prodname_copilot_extension %} and a {% data variables.product.prodname_vscode %} chat participant?
20+
21+
{% data variables.product.prodname_copilot_extensions %} and {% data variables.product.prodname_vscode %} chat participants use the same backend platform to route requests to extensions. Both provide similar end-user experiences, integrate with {% data variables.product.prodname_copilot_chat_short %}, and can leverage the {% data variables.product.prodname_copilot_short %} API or other LLMs.
22+
23+
While they share similarities, below are several key differences:
24+
* {% data variables.product.prodname_copilot_extensions %} and {% data variables.product.prodname_vscode %} chat participants are accessed through different marketplaces.
25+
* {% data variables.product.prodname_copilot_extensions %} are server-side extensions, requiring server infrastructure to build. These extensions provide a built-in connection to your {% data variables.product.github %} workspaces, as set by your organization admin.
26+
* {% data variables.product.prodname_vscode %} chat participants are client-side extensions that have read and write access to your local files. They do not require server infrastructure.
27+
* {% data variables.product.prodname_copilot_extensions %} can be used in any editor where extensions are supported, while {% data variables.product.prodname_vscode %} Chat Participants are only available in {% data variables.product.prodname_vscode %}.
28+
29+
For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/about-building-copilot-extensions).
30+
31+
### Is indemnity provided for {% data variables.product.prodname_copilot_extensions_short %}?
32+
33+
No, {% data variables.product.prodname_copilot_extensions_short %} are not covered by {% data variables.product.prodname_copilot %}’s indemnity policy. However, this exclusion applies only to issues that arise within extension chat threads.
34+
35+
Installing and using extensions does not affect indemnity coverage for any issues that occur while using other {% data variables.product.prodname_copilot_short %} features such as code completions and chat.
36+
37+
## Data and Permissions
38+
39+
This section explains what data is collected and shared when using {% data variables.product.prodname_copilot_extensions_short %}.
40+
41+
* [What data is being collected and shared with {% data variables.product.prodname_copilot_extensions_short %}?](#what-data-is-being-collected-and-shared-with-copilot-extensions)
42+
* [What permissions are required for {% data variables.product.prodname_copilot_extensions_short %}?](#what-permissions-are-required-for-copilot-extensions)
43+
* [Who can provide permissions for {% data variables.product.prodname_copilot_extensions_short %} to access organization resources?](#who-can-provide-permissions-for-copilot-extensions-to-access-organization-resources)
44+
* [Can a user use a {% data variables.product.prodname_copilot_extensions_short %} that the organization has not provided permissions for?](#can-a-user-use-a-copilot-extensions-that-the-organization-has-not-provided-permissions-for)
45+
46+
### What data is being collected and shared with {% data variables.product.prodname_copilot_extensions_short %}?
47+
48+
The following data is shared when interacting with {% data variables.product.prodname_copilot_extensions_short %}:
49+
* Data attached to your account and {% data variables.product.prodname_copilot_chat_short %} usage, such as {% data variables.product.github %} user ID, and timestamps of messages.
50+
* Past messages within the chat thread where you are invoking an extension. Only one extension can be used per thread, preventing data sharing across extensions. The data retention period for thread context is 30 days.
51+
* Any additional organization and repository data that is authorized for the extension by your organization admin. Admins installing extensions must approve access to the required permissions prior to completing installation.
52+
* For {% data variables.product.prodname_copilot_chat_dotcom_short %}, if your admin has approved the extension to access repository or organization metadata , that data will be shared as well.
53+
54+
### What permissions are required for {% data variables.product.prodname_copilot_extensions_short %}?
55+
56+
{% data reusables.copilot.copilot-extensions.about-extensions-permissions %}
57+
58+
### Who can provide permissions for {% data variables.product.prodname_copilot_extensions_short %} to access organization resources?
59+
60+
Only organization admins can grant permissions for {% data variables.product.prodname_copilot_extensions_short %} to access organization resources.
61+
Organization members may encounter cases where an extension cannot access a repository or query context. This typically happens because the organization admin has not yet provided permissions or authorized the extension. See [Granting permissions to access organization resources](/copilot/building-copilot-extensions/about-building-copilot-extensions#granting-permissions-to-access-organization-resources).
62+
63+
### Can a user use a {% data variables.product.prodname_copilot_extensions_short %} that the organization has not provided permissions for?
64+
65+
Yes, any user can install and use a {% data variables.product.prodname_copilot_extensions_short %}. However, to query organization resources and repositories, the extension must be installed and authorized by an organization admin. See [Granting permissions to access organization resources](/copilot/building-copilot-extensions/about-building-copilot-extensions#granting-permissions-to-access-organization-resources)
66+
67+
Users should contact their organization admin to request installation and authorization. Company context cannot be accessed without admin permissions.
68+
69+
## Policies
70+
71+
This section covers administrative policies for {% data variables.product.prodname_copilot_extensions_short %}
72+
73+
* [How do I control which {% data variables.product.prodname_copilot_extensions_short %} can be used in my enterprise?](#how-do-i-control-which-copilot-extensions-can-be-used-in-my-enterprise)
74+
* [Is there an allowlist/blocklist at the enterprise level?](#is-there-an-allowlistblocklist-at-the-enterprise-level)
75+
* [As a member of an organization, how can I get access to {% data variables.product.prodname_copilot_extensions_short %}?](#as-a-member-of-an-organization-how-can-i-get-access-to-copilot-extensions)
76+
77+
### How do I control which {% data variables.product.prodname_copilot_extensions_short %} can be used in my enterprise?
78+
79+
Enterprise admins can disable {% data variables.product.prodname_copilot_extensions_short %} across their enterprise by setting the **{% data variables.product.prodname_copilot_extensions_short %}** policy to "Disabled" or "No Policy".
80+
81+
### Is there an allowlist/blocklist at the enterprise level?
82+
83+
No, there is no allowlist or blocklist at the enterprise level.
84+
85+
### As a member of an organization, how can I get access to {% data variables.product.prodname_copilot_extensions_short %}?
86+
87+
To access {% data variables.product.prodname_copilot_extensions_short %} as a member of an organization, the organization that assigned you a {% data variables.product.github %} seat must enable the {% data variables.product.prodname_copilot_extensions_short %} policy. Additionally, the same organization must install and authorize the extension to access any organization owned repositories.
88+
89+
For example, if you are a member of multiple organizations and Organization A has assigned you a {% data variables.product.github %} seat, you will only have access to extensions if Organization A has enabled the policy. If Organization B has enabled extensions but you do not have access, it is because Organization A has disabled the {% data variables.product.prodname_copilot_extensions_short %} policy.

0 commit comments

Comments
 (0)