2 2
3> For the complete documentation index, see [llms.txt](https://learn.chatgpt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to the page URL.3> For the complete documentation index, see [llms.txt](https://learn.chatgpt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to the page URL.
4 4
5A plugin extends ChatGPT and Codex by packaging skills and optional connectors5Plugins package reusable workflows and can include skills and apps that connect
6so teams can distribute workflows and knowledge. The products share one6to other tools. ChatGPT and Codex use the same public plugin directory on
7universal plugin directory, while admins control availability and installation7supported surfaces, while admins decide which plugins are available in their workspace.
8for their workspace. Learn more about [plugins](https://learn.chatgpt.com/docs/plugins),8Learn more about [plugins](https://learn.chatgpt.com/docs/plugins),
9[skills](https://learn.chatgpt.com/docs/skills-and-plugins), and9[skills](https://learn.chatgpt.com/docs/skills-and-plugins), and
10[apps and connectors](https://help.openai.com/en/articles/11487775).10[apps and connectors](https://help.openai.com/en/articles/11487775).
11 11
12When a plugin includes a connector, workspace admins must make the plugin12A member can use a connector-backed capability only when the plugin and app are
13available through plugin controls and configure connector access before members13available to their role and they have access to the connected service.
14can use the connector-backed capability.
15 14
16Plugins work in Chat and Work across ChatGPT on the web, desktop, and mobile,15Plugins work in Chat and Work across ChatGPT on the web, desktop, and mobile,
17in Codex in the ChatGPT desktop app, and through the Codex CLI plugin browser.16in Codex in the ChatGPT desktop app, and through the Codex CLI plugin browser.
18They aren't available in the IDE extension.17They aren't available in the IDE extension.
19 18
20For the complete administration model, see19To see how these controls fit with workspace roles and permissions, see
21[Roles and workspace permissions](https://learn.chatgpt.com/docs/enterprise/roles-and-workspace-permissions).20[Roles and workspace permissions](https://learn.chatgpt.com/docs/enterprise/roles-and-workspace-permissions).
22 21
23## Understand the capability chain22## Understand the capability chain
24 23
25Each layer has a separate scope and control surface:24A plugin can span these control layers:
26 25
27| Layer | What it determines | Where to manage it |26| Layer | What it determines | Where to manage it |
28| ------------------------------------ | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |27| ----------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
29| Plugin availability and installation | Whether the plugin bundle is available to the user | [Workspace settings](https://chatgpt.com/admin/settings) for supported web and desktop surfaces; the CLI plugin browser for CLI |28| Availability | Whether the plugin bundle is available to the user | [Workspace settings](https://chatgpt.com/admin/settings) for supported web and desktop surfaces; the CLI plugin browser for CLI |
30| Bundled skills | Which reusable instructions the installed plugin contributes | The plugin package and [Skill controls](https://learn.chatgpt.com/docs/enterprise/skills) |29| Included skills | Which reusable instructions the installed plugin contributes | The plugin package and [Skill controls](https://learn.chatgpt.com/docs/enterprise/skills) |
31| Connector access | Whether users can use a connector-backed capability | [Workspace apps](https://chatgpt.com/admin/ca) and [Permissions & roles](https://chatgpt.com/admin/settings) |30| App access | Whether users can use a connector-backed capability | [Workspace apps](https://chatgpt.com/admin/ca) and [Permissions & roles](https://chatgpt.com/admin/settings) |
32| Connector actions and permissions | Which actions users can run and when ChatGPT asks before using the connector | The connector's Action control and App permissions in [Workspace apps](https://chatgpt.com/admin/ca) |31| Actions and permissions | Which actions users can run and when ChatGPT asks before using the connector | The connector's Action control and App permissions in [Workspace apps](https://chatgpt.com/admin/ca) |
33| Source-system authorization | Which external data and actions the authenticated identity can access | The connected service and its identity provider |32| Service authorization | Which external data and actions the authenticated identity can access | The connected service and its identity provider |
34| Runtime permissions | What an agent can do after it receives data or a tool | The runtime, sandbox, and approval controls for the active surface |33| Runtime permissions | What an agent can do after it receives data or a tool | The runtime, sandbox, and approval controls for the active surface |
35 34
36Depending on the workflow, admins can govern plugin availability, connector35Use these layers as a two-step rollout: first make the right plugins available,
37access, connector actions and permissions, provider authorization, and runtime36then configure the capabilities and permissions each workflow needs.
38policy independently.
39 37
40## Plugin availability controls38## Step 1: Enable plugin availability
41 39
42Workspace plugin controls determine whether a plugin is available or installed40For supported web and desktop surfaces, workspace plugin controls determine
43for supported workspace roles. The Codex CLI plugin browser controls CLI41which roles can use or install a plugin. The Codex CLI uses its own plugin
44installation through its own path. See [Build plugins](https://developers.openai.com/plugins/build/plugins) for42browser for installation. See
43[Build plugins](https://developers.openai.com/plugins/build/plugins) for
45packaging and distribution.44packaging and distribution.
46 45
47## Connector-backed capability controls46## Step 2: Manage capabilities
47
48<WarningTip>
49 Making an app or plugin available in ChatGPT doesn't grant access to files,
50 records, or actions in the connected service. Before troubleshooting or
51 expanding access, check the member's workspace role and approved action
52 settings. Then confirm the authenticated account or shared connection has the
53 expected permissions in the connected service.
54</WarningTip>
48 55
49Plugins in ChatGPT and Codex can include connectors that search, retrieve, sync,56Plugins in ChatGPT and Codex can include connectors that search, retrieve, sync,
50or act on external systems. Workspace admins configure plugin availability57or act on external systems. Plugin availability and the access and actions
51separately from the access and actions granted to each connector.58granted to each connector are separate controls.
52 59
53Manage connector-backed capabilities from60Manage connector-backed capabilities from
54[Workspace apps](https://chatgpt.com/admin/ca) and61[Workspace apps](https://chatgpt.com/admin/ca) and
55[Permissions & roles](https://chatgpt.com/admin/settings). Available controls62[Permissions & roles](https://chatgpt.com/admin/settings). Available controls
56let admins:63let admins:
57 64
58- Enable reviewed connectors and assign access by workspace role.65- Enable apps or connectors and assign access by workspace role.
59- For connectors that support Action control, allow read-only actions or an66- For connectors that support Action control, allow read-only actions or an
60 approved custom set, including how the workspace handles newly added actions.67 approved custom set, including how the workspace handles newly added actions.
61- Set App permissions that determine when ChatGPT asks before using a connector.68- Set App permissions that determine when ChatGPT asks before using an app.
62- Keep access within the scopes and permissions granted by each connected69- Keep access within the scopes and permissions granted by each connected
63 service and authenticated user.70 service and authenticated user.
64 71
67 74
68<a id="choose-a-starting-set-of-apps"></a>75<a id="choose-a-starting-set-of-apps"></a>
69 76
70## Choose a starting set of plugins77## Choose a focused initial set
78
79Start with plugins that support a clear business need. Decide whether to make
80each plugin available to everyone, limit it to a role or pilot group, or require
81further review.
82
83For each connected service, record the business owner, permitted data, approved
84read or write actions, authentication method, and a support or removal contact.
71 85
72For a broad initial rollout, consider plugin categories teams use every day:86Before enabling write actions or publishing a new connected capability, verify
73email, calendar, and file or document systems such as Google Drive or Notion.87its role scope and test with an account that has only the intended permissions
74Use the [Plugins Directory](https://chatgpt.com/apps) to confirm current88in the connected service.
75availability and capabilities across supported ChatGPT and Codex surfaces.
76 89
77Start with read actions. Enable write actions only after reviewing the plugin's90For a broad rollout, begin with categories teams use every day, such as email,
78owner, each connector's requested scopes, data access, external effects, and91calendar, and file or document systems. Use the
79recovery path.92[Plugins Directory](https://chatgpt.com/apps) to confirm current availability
93and capabilities across supported ChatGPT and Codex surfaces.
94
95Whatever the initial set, start with read actions. Before enabling write
96actions, identify the plugin owner, review connector scopes and service
97permissions, confirm data access, and document external effects and a recovery
98path.
80 99
81## Understand data flow and security100## Understand data flow and security
82 101
83When ChatGPT uses a connector-backed plugin, the connector sends a request to102When ChatGPT uses an app or connector included with a plugin, it sends a request
84the connected service and returns data or action results allowed by the103to the connected service and returns data or action results allowed by the
85authenticated user's provider permissions. Custom MCP servers expose these104authenticated user's permissions in that service.
86operations as tools through Model Context Protocol (MCP).105
106ChatGPT handles connected app data in two ways:
107
108- **Non-synced:** ChatGPT processes data from Chat and deep research transiently
109 and doesn't index it.
110- **Synced:** ChatGPT indexes selected connected content in advance. You can see
111 whether an app supports sync on its plugin page.
87 112
88For non-synced connector use, ChatGPT processes data from Chat and deep113The mode changes how ChatGPT indexes connected content; it doesn't replace
89research transiently and doesn't index it. Connectors with sync index selected114normal chat-retention controls. ChatGPT conversations that use apps remain
90connected content in advance. This indexing distinction doesn't replace normal115available through the Compliance API.
91chat-retention controls; chats that use plugins remain available through the
92Compliance API.
93 116
94OpenAI's current connector guidance also documents encryption in transit and at117OpenAI's app guidance documents encryption in transit and at rest, per-user
95rest, per-user authorization, role and action controls, restricted network118authorization, role and action controls, restricted network access for
96access for chats that use plugins, and no model training on information accessed119conversations that use apps, and no model training on information accessed
97through plugins for Business, Enterprise, and Edu customers. Review the120through apps for Business, Enterprise, and Edu customers. When a request reaches
98connected service's scopes, retention, and data-residency policies because those121a connected service, that service's scopes, retention, data residency, and other
99policies apply when a request reaches that service.122policies also apply.
100 123
101See [app security and compliance](https://help.openai.com/en/articles/11509118)124See [app security and compliance](https://help.openai.com/en/articles/11509118)
102and [apps with sync](https://help.openai.com/en/articles/10847137) for the125and [apps with sync](https://help.openai.com/en/articles/10847137) for current
103current data-handling details. For locally configured MCP servers in the126data-handling details. For locally configured MCP servers in the ChatGPT desktop
104ChatGPT desktop app, Codex CLI, or IDE extension, see127app, Codex CLI, or IDE extension, see
105[Codex MCP configuration](https://learn.chatgpt.com/docs/extend/mcp).128[Codex MCP configuration](https://learn.chatgpt.com/docs/extend/mcp).
106 129
107## Use current procedures130## Use current procedures and references
108 131
109- [Admin controls, security, and compliance in apps](https://help.openai.com/en/articles/11509118)132- [Admin controls, security, and compliance in apps](https://help.openai.com/en/articles/11509118)
110- [Apps in ChatGPT](https://help.openai.com/en/articles/11487775)133- [Apps in ChatGPT](https://help.openai.com/en/articles/11487775)