Order dinner from the chat
Users ask, your app finds the restaurant, builds the cart and shows a checkout card. Delivery, travel and real estate were among ChatGPT’s first apps.
ChatGPT plugins · Apps SDK · MCP
ChatGPT plugins became apps: MCP servers that ChatGPT calls when a user asks. Write your product’s jobs as tools in Flow and ship them to ChatGPT, Claude and every other assistant from one project.
Apps work in ChatGPT’s developer mode, then the app directory after review.
Find me a 2-bed in Austin under $2,400 near a park
zillow · search_homes
Here are 3 that fit. The first is a 6-minute walk to Zilker Park.
What you can build
Users ask, your app finds the restaurant, builds the cart and shows a checkout card. Delivery, travel and real estate were among ChatGPT’s first apps.
Signed-in users ask for deals, tasks or reports.
Results as cards, booking on confirm.
A week of classes built from the user’s history.
Brand examples are illustrations of what could be built, not those companies' products.
The usual way vs. Flow
Building it yourself~4 weeks
Then Claude, Muse and a CLI each want their own version.
With Flow Frameworkan afternoon
import { tool } from "@flow-engineer/flow"; import { z } from "zod"; export default tool({ name: "track_order", description: "Use when the user asks where their order is.", input: z.object({ orderId: z.string() }), run: async ({ orderId }) => api.orders.status(orderId), });
How Flow works
Get started
Run npx @flow-engineer/flow new my-agent, or ask Claude Code or Codex to set it up. You get one folder: the agent’s instructions, its tools, its skills and its tests.
Each job is a TypeScript function with a typed input that calls your API: check an order, book a slot, find a deal. No protocol code.
Run npx @flow-engineer/flow test. Simulated users try the scenarios that matter, including people who change their mind or ask for something your agent should refuse.
Flow serves your tools as an MCP server on public HTTPS, with each user’s sign-in handled. In ChatGPT, turn on developer mode and add the address to try it.
Submit from OpenAI’s platform with your icon, description, screenshots, test prompts and a privacy policy. The same project already runs in Claude.
$ npx @flow-engineer/flow new my-agent $ cd my-agent $ npx @flow-engineer/flow test ✓ 24 scenarios passing
Guide
The original plugins were retired in 2024. Their successor is apps in ChatGPT, built with OpenAI’s Apps SDK, which launched in October 2025 and opened to submissions that December. If you searched “how to create a ChatGPT plugin”, a ChatGPT app is what you build today.
OpenAI’s way to build apps that run inside ChatGPT. It is built on the open Model Context Protocol (MCP): your server lists tools, ChatGPT decides when to call them, and a tool can return an interactive component that ChatGPT shows in the conversation.
Yes. ChatGPT connects to remote MCP servers over HTTPS. In developer mode you add your own server to test; after review, users find it in the app directory or ChatGPT suggests it when it helps.
GPT actions let one custom GPT call a REST API from an OpenAPI schema. A ChatGPT app is an MCP server that works across ChatGPT, can show its own UI, and can be listed in the directory. New integrations generally start as apps.
From the OpenAI developer platform: your MCP server’s details, test instructions and prompts, an icon, descriptions, screenshots, a privacy policy and terms, and the countries you want. Reviewers check that tools do what they say and only ask for the access they need.
Products people search, book or buy with (travel, food, real estate, music, fitness) and SaaS whose users want answers from their own data. Launch partners included Booking.com, Canva, Coursera, Figma, Expedia, Spotify and Zillow.
Plugins were retired in 2024. You build a ChatGPT app instead: an MCP server with tools, tested in developer mode and submitted for the app directory. With Flow you write the tools and Flow serves the MCP server.
The Apps SDK is built on MCP. Your app is an MCP server; the SDK adds ChatGPT’s UI components and directory listing.
Only when the app reads or changes a user’s own data. Flow handles each user’s sign-in, so you do not build OAuth endpoints.
Turn on developer mode in ChatGPT’s settings and add your server’s address. Flow also tests it on simulated users before you do.
In the app directory, by naming it in a prompt, or when ChatGPT suggests it in context.
Yes. Claude connects to the same kind of MCP server. A Flow project ships to both, plus a CLI and messaging apps.
ChatGPT’s name for apps that bring in data from other services, such as files or a CRM. They are MCP servers too.
Done by hand, typically weeks, mostly sign-in, hosting and UI. With Flow, the first version is an afternoon of writing tools.
One open-source TypeScript project. The same agent on WhatsApp, iMessage, Telegram, Claude and more.