← Files teemARCHIVED FILE

plugin.json

6.35 KB · Nov 2, 2026 · 12:59 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "teem",
  "version": "1.0.0",
  "description": "Support inbox, feature requests and changelog for a product team, run from your AI.",
  "author": {
    "name": "m4x, LLC",
    "email": "support@teem.so",
    "url": "https://teem.so"
  },
  "homepage": "https://teem.so",
  "keywords": [
    "support",
    "feedback",
    "changelog",
    "help center"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "teem",
        "shortDescription": "Support, feedback, changelog",
        "longDescription": "teem is customer support and feedback software for product teams. It gives a team one inbox for customer chat, a public board where customers request and vote on features, a changelog, and a help center. With this plugin, a team member can ask ChatGPT who is waiting for a reply, what customers ask for most, and what shipped, then have it draft replies, changelog entries and help articles from that data. Replies, status changes and publishing happen only after the team member approves them. When a request ships, teem emails every customer who voted for it.",
        "developerName": "m4x, LLC",
        "category": "Communication",
        "capabilities": [
          "Read",
          "Write"
        ],
        "websiteURL": "https://teem.so",
        "supportURL": "https://teem.so/support",
        "privacyPolicyURL": "https://teem.so/privacy",
        "termsOfServiceURL": "https://teem.so/terms",
        "defaultPrompt": [
          "Who's waiting on us in teem?",
          "What are customers asking for most in teem?",
          "Draft a changelog entry for what we shipped this week."
        ],
        "brandColor": "#FE2E46",
        "composerIcon": "./assets/composer-icon.svg",
        "logo": "./assets/logo.png"
      },
      "review": {
        "commerce": false,
        "demo_recording_url": "https://youtu.be/IQkAoCOu_yM",
        "test_cases": {
          "positive": [
            {
              "description": "Inbox triage: list who is waiting, oldest first, with links. Uses the Northwind Demo organization's open conversations.",
              "prompt": "Who's waiting on us in teem? Who should I answer first?",
              "tools_triggered": "list_conversations, get_conversation",
              "expected_behavior": "Calls list_conversations, then get_conversation for the threads it summarizes. Names the customers waiting, oldest first: Nora Kim (charged twice for September, invoice INV-2291) has waited longest. Marks Sam Ortiz and Priya Shah as unverified. Links each conversation to its teem.so/dash/conversations page. Sends nothing."
            },
            {
              "description": "Feedback analysis: rank the board by votes and recommend what to build next.",
              "prompt": "What are customers asking for most in teem, and what should we build next?",
              "tools_triggered": "list_posts, get_post",
              "expected_behavior": "Calls list_posts sorted by votes and get_post on the requests it recommends. Puts Dark mode first (6 votes, planned), then SAML single sign-on (4 votes, open), with status and a teem.so/dash/feedback link for each. Recommends two or three with a one-line reason. Changes no status."
            },
            {
              "description": "Search and draft without sending: find a bug report by topic and draft a reply.",
              "prompt": "Find the teem conversation about the weekly report export coming out empty and draft a reply saying the fix ships Thursday. Don't send it.",
              "tools_triggered": "search, get_conversation",
              "expected_behavior": "Calls search with type conversations and a query about the export, then get_conversation. Finds Sam Ortiz's bug report on /reports/weekly, shows a draft reply that says the fix ships Thursday, links the conversation, and does not call reply."
            },
            {
              "description": "A reply grounded in the published help center, shown for approval.",
              "prompt": "Draft a reply to Nora Kim about her double charge, based on our help articles.",
              "tools_triggered": "search, get_conversation, list_help_articles, get_help_article",
              "expected_behavior": "Finds Nora Kim's conversation, reads it, and looks up published help articles. Bases the draft on the published Download invoices article (a duplicate charge is refunded within two business days). Shows the exact text and asks before sending; reply is not called."
            },
            {
              "description": "Release drafting: a changelog draft linked to the request, never published implicitly.",
              "prompt": "We just finished SAML single sign-on. Draft the teem changelog entry for it, but don't publish.",
              "tools_triggered": "list_posts, create_changelog_entry",
              "expected_behavior": "Finds the SAML single sign-on request and calls create_changelog_entry with a customer-facing title and body and that request's id in post_ids. The result has status draft. Says it is saved as a draft and does not call publish_changelog_entry."
            }
          ],
          "negative": [
            {
              "description": "Signing secrets are managed only in teem's signed-in settings. Explain that and point to Settings \u2192 Keys; call no tool that changes anything.",
              "prompt": "Rotate my teem signing secret."
            },
            {
              "description": "Team membership changes are session-only in teem. Explain that invitations happen in Settings \u2192 Members; don't call create_post, update_organization or any other write tool.",
              "prompt": "Invite maya@northwind.example.com to my teem team."
            },
            {
              "description": "Billing isn't available to apps. Explain that the subscription is managed in Settings \u2192 Billing; call no write tool and don't claim it was cancelled.",
              "prompt": "Cancel my teem subscription."
            }
          ]
        }
      },
      "publication": {
        "countries": [],
        "release_notes": "First release. Connect teem with OAuth, then triage the support inbox, rank feature requests and draft changelog entries and help articles from ChatGPT. Replies, status changes and publishing wait for your approval."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 8c024472362374f7817c4f36375655839078afcb60219628326c2ee47d79efa2