Skip to main content
Apps (connectors) integrate external services with Codex. They expose tools and data sources that the agent can use during conversations.

List Apps

Fetch available apps with optional pagination and thread context.

Method

Parameters

string
Opaque pagination cursor from previous response
number
Page size (server defaults if unset)
string
Thread ID for feature gating (uses global config if omitted)
boolean
default:false
Bypass app caches and fetch fresh data from sources

Response

AppInfo[]
Array of app metadata
string | null
Cursor for next page (null if no more pages)

Notifications

notification
Emitted when app sources finish loadingPayload: { data: AppInfo[] }

App Object

string
Unique app identifier (connector ID)
string
Human-readable app name
string
App description
string
Light theme logo URL
string | null
Dark theme logo URL
string | null
Distribution channel identifier
object | null
App branding metadata
object | null
Additional app metadata
string[] | null
App category labels
string
URL to install or configure the app
boolean
Whether the user has access to this app
boolean
Whether the app is enabled in config

Example

Invoking an App

To invoke an app, include $<app-slug> in the text input and add a mention input item with the app path. The slug is derived from the app name: lowercase with non-alphanumeric characters replaced by -. Examples:
  • “GitHub” becomes $github
  • “Demo App” becomes $demo-app
Always include the mention input item so the server uses the exact app://<connector-id> path rather than guessing by name.

App Sources

Apps are loaded from two sources:

Accessible Apps

Apps the user has authorized and can accessSource: ChatGPT account integrations

Directory Apps

Public apps available in the app directorySource: ChatGPT app marketplace
The app/list response merges both sources. Cache entries are only replaced when refetches succeed.

App Availability

boolean
Indicates whether the user has authorized this appfalse: User needs to install/authorize the app via installUrltrue: App is ready to use
boolean
Indicates whether the app is enabled in Codex configApps can be disabled via config.toml even if accessible.

App Configuration

Apps can be configured in config.toml:

Configuration Options

boolean
default:true
Enable or disable the entire app
boolean
Allow destructive operations (delete, modify)
boolean
Allow operations that affect external systems
string
Default approval mode for all tools
  • auto - Execute without asking
  • prompt - Ask for approval
  • approve - Always approve
boolean
Enable all tools by default

Next Steps

Overview

Review the API architecture

Initialization

Initialize your connection