Contact Us
No results found.

ChatGPT Apps SDK Tutorial: Build Custom AI Apps in 2026

Cem Dilmegani
Cem Dilmegani
updated on Jan 27, 2026

After OpenAI released the Apps SDK, we built an app that recommends software vendors using AIMultiple’s database. When users ask about agentic AI, CRM, or observability tools, the app searches our articles and returns ranked results.

Figure 1: The AIMultiple ChatGPT app is currently being displayed in dev mode because OpenAI is not yet accepting app publishing requests.

What is ChatGPT App SDK

OpenAI’s App SDK connects custom data sources to ChatGPT. Instead of uploading files or manually copying data, your app pulls live information from APIs. When users chat with your app, GPT decides which API to call based on the conversation.

Our tutorial shows how we connected AIMultiple’s benchmark database to ChatGPT. The same approach works for any structured data you want GPT to query intelligently.

Prerequisites

Before starting:

  • OpenAI account with API access or ChatGPT Plus subscription
  • Basic understanding of REST APIs
  • Understanding of MCP (Model Context Protocol) the system uses the MCP interface for connecting data sources
  • API endpoints for your data (we use AIMultiple benchmarks and article vendors)
  • JSON knowledge for defining function schemas
  • Familiarity with Python, Node.js, or your preferred backend language

Our app uses a single MCP server to search AIMultiple’s articles and return structured results. If you’re following along with your own data, ensure your API returns consistent JSON structures that ChatGPT can parse reliably.

App Architecture

When a user enters a prompt, ChatGPT extracts the domain and criteria, then queries your tool. The MCP server searches the database and returns structured data with titles, excerpts, URLs, and for benchmarks, winner information including scores.

The technical foundation splits between MCP’s open standard (tool definition, parameter passing, data exchange) and OpenAI’s extensions (template layer for visual formatting). Other AI assistants using MCP would receive your data but format it their own way.

Creating Your MCP Server

An MCP server exposes tools that ChatGPT can call. Your server needs two types of endpoints:

  • Tool endpoints – Handle search queries and return data
  • Template endpoints – Serve HTML templates (ChatGPT fetches once)

You can read more about MCP server implementation patterns in OpenAI’s example repository.

Designing Your Template

Templates transform raw data into visual presentations that users can quickly scan. We structured ours around cards showing article titles, excerpts, and, for benchmarks. The template uses Handlebars syntax to insert dynamic content and handle edge cases like missing data or empty search results with “no results found” messages.

Defining the Tool Schema

The tool schema specifies when and how ChatGPT should call your tool. This is where ChatGPT learns what kind of data source you are and what input format you expect.

How ChatGPT Transforms User Queries:

When a user asks “what is the best MFT tool?”, ChatGPT doesn’t send this exact prompt to the app. Instead, based on the metadata you provide in the tool schema, ChatGPT understands:

  • What type of data source you are (benchmark database, article repository, etc.)
  • What input format you expect (structured queries, specific parameters, etc.)
  • How to extract and transform the user’s intent into your expected format

For example, ChatGPT extracts “MFT tools” from the user’s question and sends it as a clean, structured query to your search endpoint. This intelligent query transformation happens automatically based on your tool description and parameter definitions.

Writing Effective Tool Schemas:

We wrote specific description explaining our tool searches AIMultiple’s benchmark database and returns visual cards with scores. We included query examples in parameter description to teach ChatGPT effective patterns like “best MFT software 2025 performance” instead of just “MFT.”

Implementing Search Logic

Your search implementation connects MCP server to your data source.

Our approach:

  1. Call AIMultiple’s API
  2. Classify results as benchmarks or vendor lists to determine which template format to use
  3. Structure response to match template expectations
  4. When search finds nothing, return empty array so template displays “no results” cleanly instead of looking like error

Handling Authentication Securely

No Authentication

For public APIs or services not requiring credentials, configure your app with no authentication. Simplest option when MCP server doesn’t need to verify user identity or access protected resources.

OAuth 2.0

ChatGPT natively supports OAuth standard for secure authentication between your app and ChatGPT. Allows users to authorize your app to access their data through a standardized, secure flow without sharing credentials directly.

API Key Management

When your app connects to external services or databases requiring API keys, handle these sensitive credentials through ChatGPT’s built-in credentials management. Configure through ChatGPT’s app settings instead of embedding in code.

OpenAI has strict privacy guidelines:

Data minimization: Only collect what’s necessary.

Our app collects:

  • Search query (required to search)
  • Nothing else (no user IDs, no tracking, no metadata)

Connecting to ChatGPT

Once your MCP server is deployed with HTTPS access, connect it through the ChatGPT app builder. Create a new app and provide your server’s endpoint URL along with authentication credentials.

ChatGPT immediately attempts a connection when you save. It reads your tool schemas to understand available capabilities.

You can read more about connecting MCP servers in OpenAI’s Apps SDK documentation.

Publishing your app

Later this year, OpenAI will launch apps for ChatGPT Business, Enterprise, and Edu users. The platform will open for developers to submit and publish their own applications, with a dedicated directory where users can browse and search for apps.

App Visibility & Standards

All apps that meet OpenAI’s developer guidelines will be eligible for listing in the store. However, apps with higher design and functionality standards will be featured more prominently both in app directory and within conversations.

Takeaway: Aim for excellence in user experience and functionality, not just meeting basic requirements. This is critical for your app’s success.

Monetization Opportunities

OpenAI will soon share monetization details, including support for Agentic Commerce Protocol, an open standard enabling instant checkout directly in ChatGPT. This opens new revenue opportunities for developers beyond traditional app pricing models.

FAQ

Principal Analyst
Cem Dilmegani
Cem Dilmegani
Principal Analyst
Cem has been the principal analyst at AIMultiple since 2017. AIMultiple informs hundreds of thousands of businesses (as per similarWeb) including 55% of Fortune 500 every month.

Cem's work has been cited by leading global publications including Business Insider, Forbes, Washington Post, global firms like Deloitte, HPE and NGOs like World Economic Forum and supranational organizations like European Commission. You can see more reputable companies and resources that referenced AIMultiple.

Throughout his career, Cem served as a tech consultant, tech buyer and tech entrepreneur. He advised enterprises on their technology decisions at McKinsey & Company and Altman Solon for more than a decade. He also published a McKinsey report on digitalization.

He led technology strategy and procurement of a telco while reporting to the CEO. He has also led commercial growth of deep tech company Hypatos that reached a 7 digit annual recurring revenue and a 9 digit valuation from 0 within 2 years. Cem's work in Hypatos was covered by leading technology publications like TechCrunch and Business Insider.

Cem regularly speaks at international technology conferences. He graduated from Bogazici University as a computer engineer and holds an MBA from Columbia Business School.
View Full Profile

Be the first to comment

Your email address will not be published. All fields are required.

0/450