“I created an AI assistant for Laravel developers that handles all the boring work.”
Learn more
Benjamin Crozat The art of crafting web applications

Use Laravel to build a ChatGPT plugin

Benjamin Crozat — Updated on

If you’re here, it means you’re interested in the fascinating world of AI, and you’re ready to dive deeper into what ChatGPT plugins are all about.

Don’t worry, we’ll walk this path together. It’s going to be fun and way simpler than you think!

Table of contents

Use Laravel to build a ChatGPT plugin

So, what exactly is a ChatGPT plugin?

In simple terms, plugins are mini sidekicks to our AI friend, ChatGPT.

They’re tools that you can create to make ChatGPT smarter and more helpful.

It’s like giving ChatGPT a new set of skills or knowledge, kind of like how a smartphone app gives your phone new capabilities.

Learn more:

ChatGPT plugins store.

Let ChatGPT interact with your Laravel app through a REST API

Creating a REST API is an essential step in the journey of building a ChatGPT plugin.

This API will serve as the communication link between your plugin and the external service or database it interacts with.

Expose your API to ChatGPT with an OpenAPI Specification

The OpenAPI Specification (OAS) is a language-agnostic blueprint for REST APIs that allows both humans and computers to discover and understand the capabilities of your service.

As said earlier, in the context of ChatGPT plugin development, it serves as a bridge between your API and the ChatGPT system.

This bridge enables ChatGPT to understand how to interact with your API, what data it can expect to send and receive, and how to handle different scenarios. In essence, it’s the protocol for introducing your API to ChatGPT.

An OpenAPI specification document is organized into several key sections:

Here’s an example of how the document look like:

openapi: 3.0.0
version: 1.0.0
title: Book Information API
description: This API retrieves book information by ISBN.
name: API Support
email: support@example.com
- url: https://api.example.com/v1
summary: Retrieves a book
description: Retrieves detailed information about a book by its ISBN.
- name: isbn
in: path
required: true
description: ISBN of the book to retrieve.
type: string
description: A book object
$ref: '#/components/schemas/Book'
description: Book not found
type: object
type: string
type: string
type: string
type: string

To create a specification for your plugin, you can use a variety of tools such as the Swagger Editor or Swagger UI.

Then, the specification will be included in your plugin manifest (we will discuss this in the next section).

Create a manifest to make your API a ChatGPT plugin

To let ChatGPT know about your plugin, you have to create a manifest. It’s essentially your plugin’s ID card, filled with JSON that tells everything ChatGPT needs to know about it.

The manifest includes several fields that are crucial to correctly presenting and functioning your plugin. Here’s a breakdown of these required fields and their significance:

api_schema: This is a link to the OpenAPI specification for the APIs that the plugin uses. It’s how ChatGPT learns to interact with your API.

id: A unique identifier for your plugin. Think of it as the username for your plugin—it’s how ChatGPT refers to your plugin.

name: This is the display name for your plugin, which users will see in the ChatGPT interface.

version: The current version of your plugin. This helps track updates and changes made to the plugin.

description: A brief explanation of what your plugin does. It’s your chance to sell your plugin to the users—make it clear and compelling.

operations: This section describes the different actions that your plugin can perform. Each operation has a unique ID, a name, and a description.

Here’s how your manifest should look:

"api_schema": "https://example.com/openapi.json",
"id": "com.example.myplugin",
"name": "My Plugin",
"version": "1.0.0",
"description": "This plugin does amazing things with ChatGPT",
"operations": [
"id": "operation1",
"name": "Operation One",
"description": "This operation performs the first amazing thing."
"id": "operation2",
"name": "Operation Two",
"description": "This operation performs the second amazing thing."

Testing your plugin in the ChatGPT UI

Once your API and manifest are ready, it’s essential to test the plugin thoroughly to ensure your users’ satisfaction.

  1. Open the ChatGPT UI and log in to your account.
  2. Select the plugin model from the top dropdown list.
  3. Navigate to “Plugins,” then click on “Plugin Store.”
  4. Choose either “Install an unverified plugin” or “Develop your own plugin” based on your preference.
  5. Provide an OAuth 2 client_id and client_secret or an API key if authentication is necessary.

By following these steps, you can add your fresh new plugin into ChatGPT’s environment for testing.

Limitations of the testing environment

As with any application development process, there are certain limitations when it comes to working within a test environment:

  1. Only other developers can currently install unverified plugins; regular users do not have access until approval.
  2. During alpha stages of development, a developer’s access is limited—you can share their plugins only with 15 additional users.

Submitting your plugin to OpenAI

Submitting your plugin for approval in extremely simple:

  1. Ensure your plugin meets all criteria mentioned in the “Plugin Store” section.
  2. Log in to ChatGPT and use the plugin submission bot to submit your plugin.
  3. Wait for feedback within approximately 14 days as OpenAI perform review on a rolling basis.

It’s possible to check your submission status under “Help” > “Messages”.


Knowing which Laravel version you are running is important before you start writing code on a new project. There are multiple ways to do so.

I show you how to upgrade your Laravel 9 project to version 10 and help you decide whether the return on investment is worth it.

I show you how to upgrade your Laravel 8 project to version 9 and help you decide whether the return on investment is worth it.

Learning a framework can be overwhelming, but time and execution will make you a master. Here are some best practices to help you toward your goal.

Nailing a Laravel job interview can be a daunting task, but with the right preparation and mindset, you can set yourself up for success.

Start leveraging the power of AI today. It enables developers to do incredible things, and many startups build products around it.

This is the most comprehensive tutorial about Tailwind CSS. Learn how to make front-end development great again.

Discover how the Tailwind CSS forms plugin can reset your forms to a consistent state across all browsers and make styling easier.

Here's a case study for my blog in the programming niche, where I share everything I did to increase clicks by a huge amount since the beginning.

Smaller and even easier than Vue.js, setting up Alpine.js is as easy as copying and pasting a code snippet.

Powered by