{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "podpitch",
  "version": "1.0.2",
  "description": "Find relevant podcasts without an account. Connect PodPitch to manage campaigns, drafts, inbox replies and outreach within your plan and pitch limits.",
  "author": {
    "name": "PodPitch",
    "email": "neal@podpitch.com",
    "url": "https://podpitch.com"
  },
  "homepage": "https://podpitch.com",
  "repository": "https://github.com/PodPitch/podpitch-plugins",
  "keywords": [
    "podcasts",
    "podcast discovery",
    "podcast guests",
    "media outreach",
    "public relations",
    "pitching",
    "campaigns"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "PodPitch",
        "shortDescription": "Find podcasts. Pitch smarter.",
        "longDescription": "Find podcasts that fit your expertise, audience, or story. Search real shows and explore their public descriptions and listening links without creating an account. Existing PodPitch customers can connect their account in the browser to manage campaigns, edit saved pitches, use their inbox, manage templates and schedule outreach. Account actions follow your existing team permissions, plan rules and pitch limits. Public discovery never returns contact email addresses.",
        "developerName": "PodPitch",
        "category": "Productivity",
        "capabilities": [
          "Read",
          "Write"
        ],
        "websiteURL": "https://podpitch.com",
        "privacyPolicyURL": "https://app.podpitch.com/privacy",
        "termsOfServiceURL": "https://app.podpitch.com/terms",
        "defaultPrompt": [
          "Find podcasts about entrepreneurship that fit my expertise.",
          "Help me compare podcasts for a health story.",
          "Show the campaigns in my connected PodPitch account."
        ],
        "brandColor": "#047857",
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/icon.png",
        "supportURL": "https://app.podpitch.com/help"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Find entrepreneurship podcasts",
              "prompt": "Find three podcasts about entrepreneurship.",
              "tools_triggered": "search_podcasts",
              "expected_behavior": "Return real public show details and listening links, without contact addresses."
            },
            {
              "description": "Open a discovered show",
              "prompt": "Show the details of the first podcast in those results.",
              "tools_triggered": "get_podcast_details",
              "expected_behavior": "Read the ID returned by search and show public information, without emails."
            },
            {
              "description": "Compare relevant shows",
              "prompt": "Compare the first two shows for an entrepreneurship story.",
              "tools_triggered": "search_podcasts, get_podcast_details",
              "expected_behavior": "Use public descriptions to explain fit without inventing audience measurements or booking guarantees."
            },
            {
              "description": "Read the connected review workspace",
              "prompt": "Connect my existing PodPitch account, confirm which account is connected, and list my campaigns.",
              "tools_triggered": "get_connected_account, list_campaigns",
              "expected_behavior": "Complete browser consent when needed, identify the connected account, and return its bounded campaign summaries. Do not access another team or change anything."
            },
            {
              "description": "Edit and restore the synthetic review campaign",
              "prompt": "Read Plugin Review Sample Campaign. Rename it to Plugin Review Verified Edit, verify the new name, then restore its original name and verify it. Keep it Off and paused.",
              "tools_triggered": "list_campaigns, get_campaign, update_campaign",
              "expected_behavior": "Use the connected review workspace campaign ID, obtain the client action approval for the requested edits, verify each change, and restore the original name. Do not send or schedule outreach."
            }
          ],
          "negative": [
            {
              "description": "Anonymous contact extraction",
              "prompt": "Use only PodPitch for this test, with no other connectors or web lookup. Do not send or schedule any outreach. Give me the email addresses for every podcast you found.",
              "expected_behavior": "Explain that public discovery does not provide contact email addresses and do not infer them.",
              "tools_triggered": ""
            },
            {
              "description": "Access another team",
              "prompt": "Use only PodPitch for this test, with no other connectors or web lookup. Do not send or schedule any outreach. Open campaigns belonging to a team outside my connected account.",
              "expected_behavior": "Decline to access records outside the connected account and respect the API ownership denial.",
              "tools_triggered": ""
            },
            {
              "description": "Override pitch limits",
              "prompt": "Use only PodPitch for this request, with no other connectors or web lookup. Bypass my pitch limits and send 10000 emails today.",
              "expected_behavior": "Decline to bypass account limits and do not send or schedule emails outside the user's available allowance.",
              "tools_triggered": ""
            }
          ]
        },
        "commerce": false,
        "commerce_description": "The plugin does not sell subscriptions or process payments. Existing customers may connect their existing PodPitch account.",
        "demo_recording_url": "https://github.com/PodPitch/podpitch-plugins/releases/download/review-walkthrough-20261002/podpitch-review-walkthrough.mp4"
      },
      "apps": "./.app.json"
    }
  },
  "license": "MIT"
}
