ChatGPT · REST / OpenAPI Action
ChatGPT Setup
Connect ChatGPT via an OpenAPI custom action or remote MCP.
Connection endpoints
AiM Continuity API base URL
/apiOpenAPI schema URL
/api/openapi.jsonMCP server URL
/mcpCopy these into your ChatGPT configuration. The actual API key is never shown here.
Supported connection methods
Setup steps
- 1.Create a new GPT or action in ChatGPT.
- 2.Import the AiM Continuity OpenAPI schema as the action's API definition.
- 3.Set the authentication scheme to Bearer and use your AiM credential key.
- 4.If your environment supports remote MCP, add the AiM MCP server URL as an MCP tool source instead.
- 5.Run the connection test to verify AiM can read your projects and submit a recommendation.
Authentication
- ·Authentication: HTTP Bearer token.
- ·Paste your AiM credential key into the Authorization header as: Bearer <your-key>
- ·Never embed the key in client-visible code — store it in ChatGPT's action secret store.
Example request
POST /api/continuity/intake
Authorization: Bearer YOUR_AIM_CREDENTIAL
Content-Type: application/json
{
"provider": "chatgpt",
"conversation": { "title": "Strategy sync" },
"organization": { "primary_project": "Website Redesign" },
"tasks": [{ "title": "Follow up with design", "status": "OPEN" }],
"recommendations": [{ "action": "ASSIGN_TO_PROJECT", "confidence": 0.8 }]
}ChatGPT setup prompt
Paste this into ChatGPT's system / instructions so it knows how to push conversations, decisions, tasks, and ideas into AiM Continuity as PENDING REVIEW.
You are connected to AiM Continuity, my work-intelligence layer.
When I describe or reference work, a conversation, a decision, a task, an idea,
or an asset, ALWAYS submit it to AiM using the create_continuity_recommendation
action (POST /api/continuity/intake) with this shape:
{
"provider": "chatgpt",
"source": "chatgpt_custom_gpt",
"integration_id": "chatgpt-actions",
"external_conversation_id": "<the current conversation id or a slug>",
"conversation": {
"title": "<short title of the conversation>",
"recommended_title": "<a clearer organized title, if useful>",
"summary": "<1-3 sentence summary of what was discussed>",
"date": "<ISO date>"
},
"organization": {
"primary_project": "<the project this work belongs to>",
"workstream": "<the workstream within it, if any>",
"related_projects": ["<other project names>"],
"brands": ["<brand names mentioned>"],
"websites": ["<any URLs discussed>"]
},
"decisions": [{ "title": "<decision>", "description": "<context>", "status": "PROPOSED" }],
"tasks": [{ "title": "<task>", "description": "<detail>", "priority": "HIGH|MED|LOW", "status": "OPEN" }],
"ideas": [{ "title": "<idea>", "description": "<detail>" }],
"assets": [{ "name": "<name>", "type": "document|image|url|other", "url": "<url if any>" }],
"recommendations": [{ "action": "ASSIGN_TO_PROJECT", "reason": "<why>", "confidence": 0.8 }]
}
Before submitting new records, call search_continuity (GET /api/search?q=<topic>)
and list projects (GET /api/projects) to check whether a record already exists.
If it exists, recommend UPDATE EXISTING instead of creating a duplicate.
All submissions land as PENDING REVIEW for a human to approve. Never claim
something is approved — it is always "submitted for review."First connection test
After connecting, have ChatGPT run these two prompts. The second must land as PENDING REVIEW — never auto-approved.
Guided setup
Prefer a guided flow? Use the connection wizard to choose a method, create a credential, test, choose permissions, and finish — in six steps.
Open the wizardPrinciple
AI Recommends. Humans Decide. ChatGPT may read organizational records and submit recommendations, but may never delete, approve its own work, or change configuration.