← Files UptimelyARCHIVED FILE

.codex-plugin/plugin.json

9.3 KB · Nov 12, 2026 · 18:49 UTC

↓ Download file

See the change to this file →

{
  "author": {
    "name": "14930398 Canada Inc."
  },
  "description": "Uptimely is an uptime monitoring and incident management platform. The Uptimely plugin lets ChatGPT work across your projects: read a project overview, list and open monitors along with their status history and targets, list and open incidents, list alerts, list maintenance windows, see who is currently on call, list status pages, and list telemetry services. With write access enabled it can also create a monitor, run an on-demand monitor probe, declare an incident, change incident or alert state, save a postmortem, and create an alert.\n\nYou connect by signing in to your existing Uptimely account over OAuth 2.1 with PKCE, granting a subset of thirteen granular scopes at the consent screen; project API keys work for non-interactive clients. Every call names the project it acts on \u2014 there is no ambient current project \u2014 and access is checked against your real Uptimely membership, so one connection cannot reach a project you are not a member of. All seven write tools stay inert until a project owner turns on Allow AI write operations, which is off by default, because some of them page real people or change what a public status page shows. Connected assistants can be reviewed and revoked at any time from Connected AI apps in your user settings.\n\nTwenty tools over Streamable HTTP: thirteen read-only and seven write. The six tools that dispatch outside Uptimely are marked as such in their metadata. The plugin processes no payments, generates no images, video, or audio, and serves no ads.",
  "interface": {
    "capabilities": [],
    "category": "Developer Tools",
    "defaultPrompt": [
      "Is anything down in my Uptimely project right now?",
      "Who is on call right now, and is any maintenance scheduled?",
      "Show me the recent status history for my API monitor."
    ],
    "developerName": "14930398 Canada Inc.",
    "displayName": "Uptimely",
    "longDescription": "Uptimely is an uptime monitoring and incident management platform. The Uptimely plugin lets ChatGPT work across your projects: read a project overview, list and open monitors along with their status history and targets, list and open incidents, list alerts, list maintenance windows, see who is currently on call, list status pages, and list telemetry services. With write access enabled it can also create a monitor, run an on-demand monitor probe, declare an incident, change incident or alert state, save a postmortem, and create an alert.\n\nYou connect by signing in to your existing Uptimely account over OAuth 2.1 with PKCE, granting a subset of thirteen granular scopes at the consent screen; project API keys work for non-interactive clients. Every call names the project it acts on \u2014 there is no ambient current project \u2014 and access is checked against your real Uptimely membership, so one connection cannot reach a project you are not a member of. All seven write tools stay inert until a project owner turns on Allow AI write operations, which is off by default, because some of them page real people or change what a public status page shows. Connected assistants can be reviewed and revoked at any time from Connected AI apps in your user settings.\n\nTwenty tools over Streamable HTTP: thirteen read-only and seven write. The six tools that dispatch outside Uptimely are marked as such in their metadata. The plugin processes no payments, generates no images, video, or audio, and serves no ads.",
    "privacyPolicyURL": "https://getuptimely.com/privacy",
    "shortDescription": "Uptime monitors and incidents",
    "supportURL": "https://app.getuptimely.com/support",
    "termsOfServiceURL": "https://getuptimely.com/terms",
    "websiteURL": "https://getuptimely.com/",
    "logo": "./assets/logo.png",
    "logoDark": "./assets/logo-dark.png",
    "composerIcon": "./assets/icon.png",
    "composerIconDark": "./assets/icon-dark.png"
  },
  "name": "app-6a7ae32b93b48191906fd8f304ad45ff",
  "version": "1.0.1",
  "mcpServers": "./.mcp.json",
  "extensions": {
    "com.openai": {
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Project overview after connecting",
              "prompt": "Give me an overview of my Uptimely project 26130816-e28a-4ce4-86b8-ac8321ed4929.",
              "tools_triggered": "search_tools, then execute_typescript calling external_uptimely_project_overview",
              "expected_behavior": "A project summary for Skylark Ops: monitorCount 5, activeIncidentCount 1, activeAlertCount 2, statusPageCount 1 and overallHealth down, because Uptimely rates a project by its worst open signal and one incident is open. The monitors are live and re-checked every minute, so counts and history keep accumulating and may differ slightly from these seeded figures."
            },
            {
              "description": "Monitors and status history",
              "prompt": "List the monitors on project 26130816-e28a-4ce4-86b8-ac8321ed4929, then show me the status history for the API \u2014 core monitor.",
              "tools_triggered": "search_tools, then execute_typescript calling external_uptimely_monitor_list, external_uptimely_monitor_get and external_uptimely_monitor_status_history",
              "expected_behavior": "Five Website-type monitors named Web \u2014 landing, Web \u2014 app, API \u2014 core, Docs and Edge \u2014 EU, each with its current status and colour, all normally Operational. Then that monitor's configuration and its recorded Operational and Offline transitions with durations, drawn from more than 900 real history segments going back weeks."
            },
            {
              "description": "Open incident detail",
              "prompt": "What incidents are open on that project, and what is the full story on the open one?",
              "tools_triggered": "search_tools, then execute_typescript calling external_uptimely_incident_list and external_uptimely_incident_get",
              "expected_behavior": "One open incident, Elevated 5xx on API \u2014 core after the 13:40 rollout, id c1000000-0001-4a01-9e77-2b1c9a7f3001, in state Acknowledged at Major severity, with a connection-pool root cause, remediation notes, an internal note and a two-entry state timeline of Identified then Acknowledged. It sits alongside roughly 456 resolved incidents from thirteen months of operating history, the most recent of which carries a saved postmortem."
            },
            {
              "description": "On-call rotation and status pages",
              "prompt": "Who is on call right now on that project, and what status pages do we publish?",
              "tools_triggered": "search_tools, then execute_typescript calling external_uptimely_on_call_current and external_uptimely_status_page_list",
              "expected_behavior": "One schedule, Primary On-Call \u2014 Platform, with a live-computed currentUser and nextUser from the three-person rotation of Skye Moran, Rhea Calder and Milo Ferrand, plus a rosterHandoffAt on the next Monday at 09:00 UTC. The roster is computed on read rather than cached, so the names shift as the week rolls over. One public status page, Skylark Status, with zero subscribers."
            },
            {
              "description": "Write path: declare then resolve an incident",
              "prompt": "Declare an incident titled Reviewer smoke test on the API \u2014 core monitor d05c7555-4b32-4456-b42b-c222c8799713 in that project, then move it to resolved.",
              "tools_triggered": "search_tools, then execute_typescript calling external_uptimely_incident_declare and external_uptimely_incident_state_change",
              "expected_behavior": "The incident is created and then resolved, each call returning the incident id, its new state and a new state-timeline entry. Both tools are annotated openWorldHint true, so the client prompts for confirmation before each call. Nothing is emailed to anyone: the seeded status page has zero subscribers and seeded records carry subscriber notification pre-set to Skipped. If a project owner turns Allow AI write operations off, these same calls return a structured AI_WRITE_OPS_DISABLED result with a settings deep link and write nothing."
            }
          ],
          "negative": [
            {
              "description": "Local network or device troubleshooting",
              "prompt": "My home wifi keeps dropping every evening \u2014 can you work out why?",
              "expected_behavior": ""
            },
            {
              "description": "Third-party outage status not registered as a monitor",
              "prompt": "Is Cloudflare having an outage right now?",
              "expected_behavior": ""
            },
            {
              "description": "Operating the infrastructure itself",
              "prompt": "The API is throwing 5xx \u2014 restart the service and roll back the last deploy.",
              "expected_behavior": ""
            }
          ]
        },
        "demo_recording_url": "https://drive.google.com/file/d/11O1jkJLbVCf7hQs1X84ixHi_f-XHE9__/view",
        "commerce": false,
        "commerce_description": ""
      },
      "publication": {
        "countries": [],
        "release_notes": "Logo refresh: the listing icons are replaced with the official 1024px brand logo. No change to the MCP server, tools, OAuth or test account."
      }
    }
  },
  "apps": "./.app.json"
}

SHA-256: 8f135811e8bcf553366b7bb92fd87a19061b469ecf23628fed174681c7c539d7