AIMultipleAIMultiple
No results found.

ChatGPT Apps SDK Tutorial: Build Custom AI Apps

Sena Sezer
Sena Sezer
updated on Oct 23, 2025

Following OpenAI’s introduction of the Apps SDK, we built an app that recommends the best software vendors using AIMultiple’s database. When users ask about agentic AI, CRM, or observability tools, etc., 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 lets developers connect custom data sources to ChatGPT. Instead of uploading files or manually copying data, your app can pull 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, but the same approach works for any structured data you want GPT to query intelligently.

Prerequisites

Before starting, you’ll need:

  • OpenAI account with API access or ChatGPT Plus subscription
  • Basic understanding of REST APIs
  • Understanding of MCP (Model Context Protocol) as the system uses 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 implements a single MCP server that searches AIMultiple’s articles and returns 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 tells ChatGPT when and how to 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 a specific description explaining our tool searches AIMultiple’s benchmark database and returns visual cards with scores. We included query examples in the parameter description to teach ChatGPT effective patterns like “best MFT software 2025 performance” instead of just “MFT.”

The more detailed and precise your tool schema, the better ChatGPT becomes at:

  • Understanding when to call your tool
  • Extracting the right information from user prompts
  • Formatting queries in the way your API expects

Implementing Search Logic

Your search implementation connects the MCP server to your data source. We call AIMultiple’s API, classify results as benchmarks or vendor lists to determine which template format to use, and structure the response to match template expectations. When search finds nothing, we return an empty array so the template can display “no results” cleanly instead of looking like an error.

Handling Authentication Securely

No Authentication: For public APIs or services that don’t require credentials, you can configure your app with no authentication. This is the simplest option when your MCP server doesn’t need to verify user identity or access protected resources.

OAuth 2.0: ChatGPT natively supports the OAuth standard for secure authentication between your app and ChatGPT. This 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 that require API keys, handle these sensitive credentials through ChatGPT’s built-in credentials management. Configure these through ChatGPT’s app settings instead of embedding them 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 up 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 the standards in 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 the app directory and within conversations. Therefore, aiming for excellence in user experience and functionality, rather than just meeting basic requirements, is critical for your app’s success.

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

FAQ

Industry Analyst
Sena Sezer
Sena Sezer
Industry Analyst
Sena is an industry analyst in AIMultiple. She completed her Bachelor's from Bogazici University.
View Full Profile

Be the first to comment

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

0/450