Create a ChatGPT Manifest
The first component that you need to learn is the ChatGPT Manifest or AI-Plugin.json.
What is a Manifest?
Think of a manifest as an ID card for your plugin. It tells ChatGPT who the plugin is (its name), what it does (its description), where it lives (its API endpoint), and a few other important details.
The manifest is usually a .json
file located at the path /.well-known/ai-plugin.json
on the server where your plugin lives.
Writing a Proper Manifest
To write a manifest, you need to create a .json
file. A .json
file is a type of file that stores simple objects and data structures in JavaScript Object Notation (JSON) format, which is a standard data interchange format.
Here's what a typical manifest might look like:
{
"schema_version": "v1",
"name_for_human": "My Cool Plugin",
"name_for_model": "My_Cool_Plugin",
"description_for_human": "This plugin does cool things.",
"description_for_model": "This plugin does cool things. It can help you find cool things to do.",
"auth": {
"type": "none"
},
"api": {
"type": "openapi",
"url": "https://my-cool-plugin.com/openapi.json",
"is_user_authenticated": false
},
"logo_url": "https://my-cool-plugin.com/logo.png",
"contact_email": "hello@my-cool-plugin.com",
"legal_info_url": "http://my-cool-plugin.com/legal"
}
Let's explain each property:
schema_version
: This is the version of the schema that your plugin is using. For now, just write "v1".name_for_human
: This is the name of your plugin as you would like it to appear for human users.name_for_model
: This is how the AI model will refer to your plugin. It should be the same as the name for humans but with underscores (_
) instead of spaces.description_for_human
: This is a short description of your plugin that users will see in the plugin store.description_for_model
: This is a description for the AI model. Here is where you tell to the AI model what your plugin does.auth
: This describes how your plugin handles authentication. If your plugin doesn't require authentication, just put"type": "none"
.api
: This tells where your plugin's API lives. Theurl
should point to the location of your OpenAPI specification (a document that describes how your API works).logo_url
: This is where your plugin's logo image is located.contact_email
: This is your contact email address.legal_info_url
: This is a URL where users can find legal information about your plugin.
Once you've filled out your manifest with your plugin's details, save it and make sure it's accessible at the path /.well-known/ai-plugin.json
on your server.
Troubleshooting
Manifest is not accessible
The manifest should be accesible from OpenAI's servers over the following URL: https://your-plugin.com/.well-known/ai-plugin.json
.
- ✅ Correct:
https://your-plugin.com/.well-known/ai-plugin.json
- ❌ Incorrect:
https://your-plugin.com/ai-plugin.json
- ❌ Incorrect:
https://your-plugin.com/.well-known/another-folder/ai-plugin.json