You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: apps/website/content/blog/build-and-submit-gpt-apps.mdx
+20-10Lines changed: 20 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,15 +5,23 @@ category: "guides"
5
5
date: "2025-12-23"
6
6
order: 5
7
7
textureImage: "/textures/text1.png"
8
+
featured: true
8
9
---
9
10
10
11
Learn how to submit your ChatGPT App to the OpenAI directory. We'll cover everything from preparing your assets to getting your app approved.
11
12
12
13
<Calloutvariant="info">
13
-
In this guide, we'll use the arcade app as an example project.
14
-
You can find the complete source code on <ahref="https://github.com/xmcp-dev/arcade"target="_blank"rel="noopener noreferrer">GitHub</a> and a build guide <ahref="/blog/doom-with-xmcp">here</a>.
14
+
In this guide, we'll use the arcade app as an example project. You can find
15
+
the complete source code on{""}
16
+
<a
17
+
href="https://github.com/xmcp-dev/arcade"
18
+
target="_blank"
19
+
rel="noopener noreferrer"
20
+
>
21
+
GitHub
22
+
</a>{""}
23
+
and a build guide <ahref="/blog/doom-with-xmcp">here</a>.
15
24
</Callout>
16
-
17
25
18
26
## First steps
19
27
@@ -31,7 +39,7 @@ After you have your assets ready, head to the [OpenAI Platform Dashboard](https:
31
39
In this section, you will upload your assets and provide information about your app.
32
40
All fields are required, so be sure to fill them out correctly. Pay special attention to the following fields:
33
41
34
-
-**Subtitle**: This is your best opportunity for discoverability, so keep it clear and descriptive.
42
+
-**Subtitle**: This is your best opportunity for discoverability, so keep it clear and descriptive.
35
43
-**Description**: Write it in a marketing-friendly way while ensuring users understand what your app does.
36
44
-**Email address or contact support URL**: This will be used to contact you if there are any issues with your app.
37
45
-**App Commerce and purchasing**: For apps that involve sales of physical goods.
@@ -42,20 +50,19 @@ As of December 2025, only physical goods are allowed to be sold through the Open
42
50
43
51
Provide your MCP server URL for OpenAI to scan for available tools and proceed with the verification process. Here, you will specify whether your server requires authentication or not.
44
52
45
-
You will need to explain why each permission is needed or not. Be specific about what each tool does and why it requires or doesn't require those permissions.
53
+
You will need to explain why each permission is needed or not. Be specific about what each tool does and why it requires or doesn't require those permissions.
46
54
47
55
-**Read-only**: Only reads data, no modifications
48
56
-**Open-world**: Has web access or makes external calls
49
57
-**Destructive**: Modifies or deletes data
50
58
51
-
Next, you will need to verify your domain by serving the token provided by OpenAI at the path `/.well-known/openai-apps-challenge`.
59
+
Next, you will need to verify your domain by serving the token provided by OpenAI at the path `/.well-known/openai-apps-challenge`.
52
60
53
61
If you're using xmcp standalone mode, this route is automatically generated for you after setting the `OPENAI-APPS-VERIFICATION-TOKEN` environment variable. If you're using adapter mode, you'll need to create it manually.
54
62
55
-
56
63
## Testing
57
64
58
-
If you follow OpenAI's guidelines for creating a GPT App, this will be the easy part. In this section, you will need to provide test cases for scenarios where your app should be triggered and where it should not be triggered.
65
+
If you follow OpenAI's guidelines for creating a GPT App, this will be the easy part. In this section, you will need to provide test cases for scenarios where your app should be triggered and where it should not be triggered.
59
66
60
67
For the positive test cases, you will need to provide:
61
68
@@ -74,12 +81,14 @@ For our arcade app, the test cases would be:
74
81
### Positive test cases
75
82
76
83
A user wants to see what games are available in the arcade:
84
+
77
85
- Scenario: User wants to browse the available classic arcade games before deciding which one to play
78
86
- User prompt: I want to see what retro arcade games are available. Can you show me the arcade interface?
79
87
- Tool triggered: "list_games"
80
88
- Expected output: The retro arcade game selection interface is displayed showing available games
81
89
82
90
A user wants to launch the DOOM game:
91
+
83
92
- Scenario: User wants to play the classic DOOM game
84
93
- User prompt: I'm in the mood for some classic gaming. Launch Doom for me!
85
94
- Tool triggered: "launch_game"
@@ -88,6 +97,7 @@ A user wants to launch the DOOM game:
88
97
### Negative test cases
89
98
90
99
A user wants to know more about Doom:
100
+
91
101
- Scenario: User is asking about the documentation and capabilities of the arcade system, not requesting to use it
92
102
- User prompt: Can you explain how the arcade tool works and what games it supports?
93
103
@@ -105,8 +115,8 @@ This section is optional. You can limit access to your app to specific countries
105
115
106
116
## Submit
107
117
108
-
In this final step, you will need to add the release notes, check policy compliance, and set the age requirements for your app.
118
+
In this final step, you will need to add the release notes, check policy compliance, and set the age requirements for your app.
109
119
110
120
Before you send your submission, keep a local backup of your app description, tool explanations, and test cases since the form can occasionally clear fields. If your submission gets rejected, you will need to start a new one from the beginning.
111
121
112
-
For reference, check [OpenAI's App Submission Guidelines](https://developers.openai.com/apps-sdk/app-submission-guidelines) to ensure your app meets all requirements.
122
+
For reference, check [OpenAI's App Submission Guidelines](https://developers.openai.com/apps-sdk/app-submission-guidelines) to ensure your app meets all requirements.
0 commit comments