# Ecosystem Integrations
ChatGPT lives in far more places than the browser tab: it sits in your menu bar, inside VS Code, in your Slack workspace, and behind hundreds of third-party apps that quietly call the OpenAI APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Voir la définition complète →. This lesson maps those surfaces, shows a concrete setup, and gives you a rule for when reaching past the web app actually pays off.
Think of the ecosystem as four distinct places ChatGPT shows up, each with different powers:
The web app is the lowest common denominator. The integrations matter because they remove the copy-paste tax: the model gets direct access to the file, repo, message, or document instead of waiting for you to ferry text in and out.
The desktop app is not just the website in a window. On macOS it has Work with Apps, which lets ChatGPT read the content of an app you have open (a terminal, an IDE, a doc) so you can ask about it without pasting. A global hotkey gives you a launcher-style prompt over whatever you are doing.
It also carries everything tied to your account: Projects (workspaces that bundle files, custom instructions, and chat history), memory, Advanced Data Analysis (the sandbox where the model writes and runs Python on your uploads), and Canvas (the side-by-side editor for long documents and code).
When it beats the web app: any task where context lives on your machine. Debugging a stack trace in your terminal, asking about a spreadsheet you have open, or running a quick analysis without uploading sensitive files through a browser.
The biggest leap for technical readers is Codex, OpenAI's coding agent. Unlike pasting snippets into chat, Codex operates on your repository: it can plan, edit multiple files, run tests, and open a pull request. It runs in the cloud, in a CLI, and as an IDE extension.
Install the CLI and point it at a project:
npm install -g @openai/codex
cd my-project
codex "add input validation to the signup form and write tests"Codex reads the repo, proposes a diff, runs your test suite, and shows you the result before anything lands. The mental model is delegation, not autocomplete: you describe an outcome, it does the multi-step work, you review.
When it beats the web app: real codebase work. The web ChatGPT does not know your file structure, your linting rules, or whether your tests pass. Codex does, because it executes inside your environment.
Connectors let ChatGPT read from your other tools: Google Drive, GitHub, SharePoint, and more. Once connected, you can ask ChatGPT to pull a spec from Drive or summarize a repo's recent issues, and it retrieves the relevant content at query time. This is RAG that you do not have to build: the plumbing is managed for you.
The newer ChatGPT apps (built on the Apps SDK and the Model Context Protocol, the open standard for connecting models to tools and data) let third parties surface interactive experiences directly inside a ChatGPT conversation. You invoke a partner app by name and work with its data in line.
For teams, the Slack integration brings ChatGPT into channels and DMs, so summarizing a thread or drafting a reply happens where the conversation already is.
When it beats the web app: when the source of truth is scattered across SaaS tools and you do not want to be the human glue moving content between them.
Two features turn ChatGPT from reactive to proactive.
Scheduled tasks let you ask ChatGPT to run a prompt on a recurring schedule: "every weekday at 8am, check these three RSS feeds and send me a digest." You set it once in natural language and it fires on its own.
The ChatGPT agent can take multi-step actions on your behalf, browsing, clicking, and using a virtual computer to complete a task end to end (for example, comparing options across sites and assembling a summary). It pauses for confirmation before consequential steps.
When they beat the web app: anything you would otherwise do manually on a cadence, or any task that spans many steps and tools where you want to hand off the whole loop.
Let me wire several surfaces together for one workflow. The goal: every morning, summarize new GitHub issues and flag the urgent ones.
1. Connect GitHub via Connectors so ChatGPT can read your issues.
2. Create a Project called "Triage" with custom instructions describing your severity labels and what "urgent" means for your product.
3. Add a scheduled task inside that Project: "Every weekday at 8am, list issues opened in the last 24 hours, group by severity, and surface anything mentioning data loss or auth."
4. When something needs a fix, hand it to Codex to draft a patch and open a PR.
No code so far, all configuration. That is the point: the web and app surfaces cover a surprising amount before you touch the APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Voir la définition complète →.
Vérification des acquis
1. According to the lesson, what is the core benefit that ecosystem integrations provide over the web app?
2. In the lesson's four-surface model, where does the Codex CLI and IDE extension belong?
3. What does OpenAI's Advanced Data Analysis feature primarily allow ChatGPT to do?
4. Select ALL correct answers about the macOS desktop app's distinguishing features as described in the lesson.
Sélectionnez toutes les réponses correctes.
5. Select ALL correct answers that correctly match a surface in the four-surface model with its description.
Sélectionnez toutes les réponses correctes.
Everything above is ChatGPT the product. The other half of the ecosystem is the OpenAI API, where developers build their own apps on the same models. You reachreachThe number of unique people exposed to your message in a given period. Unlike impressions, reach counts each person once, no matter how often they see it.Voir la définition complète → for it when you need ChatGPT's intelligence inside your software, your own UI, or a backend job, not inside OpenAI's chat interface.
Two APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Voir la définition complète → styles exist. The Responses API is the newer, agent-oriented interface with built-in tools (web search, file search, code interpreter) and clean state handling. The older Chat Completions API is still widely supported. For new work, prefer Responses.
The features that make the APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Voir la définition complète → reliable in production are function calling (the model decides to call a function you defined and returns the arguments) and structured outputs (you supply a JSON schemaschemaA schema is the formal blueprint that defines how data is structured, named, typed, and related within a database, file, or message.Voir la définition complète → and the model is guaranteed to return JSON that matches it). Structured outputs are what turn a chatty model into a dependable component you can pipepipeAll active sales opportunities across the stages of the sales process, together with their combined potential value and probability of closing. into a database.
Here is the triage logic from earlier, rebuilt as a backend job that emits machine-readable output:
from openai import OpenAI
client = OpenAI()
schema = {
"type": "object",
"properties": {
"summary": {"type": "string"},
"severity": {"type": "string", "enum": ["low", "medium", "high", "critical"]},
"needs_human": {"type": "boolean"},
},
"required": ["summary", "severity", "needs_human"],
"additionalProperties": False,
}
issue = "Login fails for all SSO users after the deploy; some report being logged out mid-session."
response = client.responses.create(
model="gpt-5",
input=f"Triage this bug report:\n\n{issue}",
text={"format": {"type": "json_schema", "name": "triage", "schema": schema, "strict": True}},
)
print(response.output_text)Because the schemaschemaA schema is the formal blueprint that defines how data is structured, named, typed, and related within a database, file, or message.Voir la définition complète → is strict, you get back JSON you can parse and route without defensive cleanup. For deeper coverage, see the structured outputs guide.
Once a workflow has multiple steps, tools, and handoffs, do not hand-roll the control loop. The Agents SDK is OpenAI's framework for building agents: it manages tool calls, conversation state, handoffs between specialized agents, and guardrails. It is the production cousin of the ChatGPT agent you used in the browser.
The decision is about ownership. The ChatGPT agent is a finished product for your personal tasks. The Agents SDK is what you use when you are shipping an agent to other people inside your own app.
A common confusion: when do you build a Custom GPT (configured in ChatGPT, optionally published to the GPT Store) versus an app on the APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Voir la définition complète →?
Build a Custom GPT when:
Build on the APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Voir la définition complète → when:
A useful tell: if the answer to "where does this run?" is "in a conversation," a Custom GPT fits. If it is "in my product or my backend," use the APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Voir la définition complète →.
When does an integration beat the web app? Ask one question: where does the context and the action live?
The web app wins only when the task is self-contained and one-off. Everything recurring, embedded, or programmatic belongs on a different surface.