Source: https://mnemoverse.com/docs/api/chatgpt-actions
Content revision: ba91c28e1512eb578c5d1298cab05054148142672795fc17e5c508d00267608c
Updated: 2026-11-05T16:23:43Z

# ChatGPT: Custom GPT Actions

For new everyday use, [install the published Mnemoverse Memory plugin](https://mnemoverse.com/docs/api/chatgpt). This page preserves the separate REST/API-key integration for maintaining an existing Custom GPT, or for creating one in a Business, Enterprise or Edu workspace that allows it. GPT Actions are not the MCP tools provided by the published plugin.

**Creating a Custom GPT is not possible on personal accounts.** OpenAI's [Creating and editing GPTs](https://help.openai.com/en/articles/8554397-creating-and-editing-gpts) says: "New GPT creation and publishing are not available on personal ChatGPT accounts, including Free, Go, Plus, and Pro." In Business, Enterprise and Edu workspaces, creation depends on the workspace settings and permissions. OpenAI's [retirement FAQ](https://help.openai.com/en/articles/20001519-custom-gpt-retirement-and-migration-faq) says: "Custom GPTs are scheduled to retire on Dec 11, 2026." FedRAMP workspaces and affected Enterprise workspaces with a qualifying, approved deferral have until Feb 11, 2027. The same FAQ says: "GPT custom actions do not transfer through the migration workflow." Both pages read 4 November 2026. Check them and your workspace before investing in a new Actions setup. These rules are for creating a Custom GPT; they do not describe the published Mnemoverse plugin.

### How It Works

```
You → ChatGPT → GPT Action (HTTP) → core.mnemoverse.com
                     │
              X-Api-Key: mk_live_xxx
```

ChatGPT calls the Mnemoverse API directly through GPT Actions. No middleware, no proxy. Your GPT stores and recalls memories using the same API key as your other tools.

### Setup (5 minutes)

#### Step 1. Get Your API Key

Sign up at [console.mnemoverse.com](https://console.mnemoverse.com/sign-up?utm_source=docs&utm_medium=cta&utm_campaign=api-chatgpt) and create a free API key. It starts with `mk_live_`.

Create the key in the same Mnemoverse account as your other tools to share their memories. Enter it only in the GPT builder's authentication field, never in a chat.

#### Step 2. Create a Custom GPT

**Requires a Business, Enterprise, or Edu workspace**
Personal accounts cannot create GPTs (see the note at the top). In affected Enterprise workspaces, new GPT creation ended on 26 October 2026. On a personal account, install the [published plugin](https://mnemoverse.com/docs/api/chatgpt) instead: it reaches the same memory.

1. In a Business, Enterprise or Edu workspace that allows GPT creation, open **Explore GPTs**, or go to [chatgpt.com/gpts](https://chatgpt.com/gpts).
2. Select **Create** to open the GPT builder, and choose the configuration view to edit its fields directly.

These two steps follow OpenAI's [Creating and editing GPTs](https://help.openai.com/en/articles/8554397-creating-and-editing-gpts), read 2026-10-01 and again on 2026-11-04.

#### Step 3. Configure Actions

1. Scroll down to **Actions** → **Create new action**
2. Set **Authentication**:
   - Type: **API Key**
   - API Key: paste your `mk_live_YOUR_KEY`
   - Auth Type: **Custom**
   - Custom Header Name: `X-Api-Key`
3. In the **Schema** box, click **Import from URL** and paste:

```
https://mnemoverse.com/docs/openapi-gpt.yaml
```

You should see 4 actions appear: `writeMemory`, `readMemory`, `giveFeedback`, `getMemoryStats`.

#### Step 4. Set the System Prompt

Paste this into the **Instructions** field (customize to your needs):

```
You have persistent long-term memory via Mnemoverse.

RULES:
1. BEFORE answering any question about preferences, past decisions, project
   setup, people, or anything that might have been discussed before — call
   readMemory first.
2. When the user asks you to save information, or has enabled an agreed memory
   workflow, call writeMemory for useful durable facts. Check the result before
   saying it was saved; do not store secrets or unrelated details.
3. After using memories to answer a question, call giveFeedback to report
   whether they were helpful (1.0) or not (-1.0).
4. Your memory persists across sessions and across tools. What you learn here
   is available in Claude Code, Cursor, and everywhere else.

WHAT TO REMEMBER:
- Preferences ("I prefer Railway over Heroku")
- Decisions ("We chose PostgreSQL for this project")
- Lessons ("Exponential backoff fixed the timeout issue")
- People ("Alice owns the design system")
- Project context ("Deploy target is staging.example.com")

WHAT NOT TO REMEMBER:
- Trivial small talk
- Temporary context ("open this file")
- Information already in the current conversation
```

#### Step 5. Test It

Say to your GPT:

> "Remember that I always deploy to Railway using `railway up`"

Check that `writeMemory` succeeded. Then start a **new conversation** and ask:

> "How do I deploy?"

Check that `readMemory` returns the saved fact. A natural-language claim without the action result does not verify persistence.

### Available Actions

Your GPT gets 4 actions:

| Action | What it does |
|--------|-------------|
| `writeMemory` | Store a preference, decision, or lesson |
| `readMemory` | Search memories by natural language query |
| `giveFeedback` | Report if a memory was helpful (+1) or wrong (-1) |
| `getMemoryStats` | Check how many memories are stored |

These are the same operations available in Claude Code, Cursor, and the Python SDK — just exposed through GPT Actions.

### Tips

**Choose a memory workflow.** Agree with the user what to save automatically. Otherwise, save when asked and check the write result.

**Use domains.** If your GPT serves a specific project, add `"domain": "project:acme"` to writes and reads. This keeps memories organized.

**Feedback matters.** The `giveFeedback` action rates the memories a search returned: rating a recalled memory as helpful or misleading re-ranks what comes back next. Nothing is erased.

### Limitations

- GPT Actions time out after 45 seconds round trip ([Production notes on GPT Actions](https://developers.openai.com/api/docs/actions/production), read 2026-10-01).
- ChatGPT may not call actions on every turn; the instructions from [Step 4](https://mnemoverse.com/docs/api/chatgpt-actions#step-4-set-the-system-prompt) guide it. Actions do not run in Pro mode: for a GPT with actions, ChatGPT offers only models that support them ([Configuring actions in GPTs](https://help.openai.com/en/articles/9442513), read 2026-10-01).
- Rate limits apply per organization, not per API key: all keys belonging to your organization share the same limits. Free tier: 1,000 queries/day. [Upgrade](https://console.mnemoverse.com) for more.

### OpenAPI Spec

The full spec is at [`/openapi-gpt.yaml`](https://mnemoverse.com/docs/openapi-gpt.yaml). It defines 4 endpoints:

- `POST /memory/write` — store a memory
- `POST /memory/read` — search memories
- `POST /memory/feedback` — rate usefulness
- `GET /memory/stats` — memory statistics

This is a curated subset of the [full API](https://mnemoverse.com/docs/api/reference). For batch operations and advanced queries, use the [REST API](https://mnemoverse.com/docs/api/reference) or [Python SDK](https://mnemoverse.com/docs/api/python-sdk) directly. Consolidation is not one of them: it is off on the hosted service, and [`POST /memory/consolidate`](https://mnemoverse.com/docs/api/reference#post-memory-consolidate) answers `503` with a typed reason.

## Related

- [ChatGPT published plugin](https://mnemoverse.com/docs/api/chatgpt)
- [Custom MCP server alternative](https://mnemoverse.com/docs/api/chatgpt-custom-mcp)
- [API Reference](https://mnemoverse.com/docs/api/reference)
