← Files GoodPostalARCHIVED FILE

.codex-plugin/plugin.json

8.21 KB · Nov 3, 2026 · 19:01 UTC

↓ Download file

{
  "author": {
    "name": "Good Postal"
  },
  "description": "GoodPostal helps GoodPostal customers build email campaigns in chat. Connect your GoodPostal workspace, describe the email you want, and GoodPostal creates an on-brand template, organizes your contacts, and prepares a campaign draft for your review.\n\nWhat you can do in chat:\n\n- Design email templates from a plain-language brief, matched to your brand colors, logo, and footer. Every template stays fully editable in the GoodPostal visual builder.\n- Organize contacts into groups, including filtering by status or location.\n- Create and update campaign drafts and connect them to a template, a sender, and a contact group.\n- Review campaign performance: opens, clicks, deliveries, bounces, and unsubscribes.\n- Send a test email to yourself or a teammate before launch.\n\nCampaigns are reviewed and sent from the GoodPostal dashboard. The app never sends or schedules a campaign on its own. Requires a GoodPostal account.",
  "interface": {
    "capabilities": [],
    "category": "Business & Operations",
    "defaultPrompt": [
      "Design this month's newsletter email and set it up as a campaign ready for my review.",
      "How did my last campaign perform?",
      "What can GoodPostal do?"
    ],
    "developerName": "Good Postal",
    "displayName": "GoodPostal",
    "longDescription": "GoodPostal helps GoodPostal customers build email campaigns in chat. Connect your GoodPostal workspace, describe the email you want, and GoodPostal creates an on-brand template, organizes your contacts, and prepares a campaign draft for your review.\n\nWhat you can do in chat:\n\n- Design email templates from a plain-language brief, matched to your brand colors, logo, and footer. Every template stays fully editable in the GoodPostal visual builder.\n- Organize contacts into groups, including filtering by status or location.\n- Create and update campaign drafts and connect them to a template, a sender, and a contact group.\n- Review campaign performance: opens, clicks, deliveries, bounces, and unsubscribes.\n- Send a test email to yourself or a teammate before launch.\n\nCampaigns are reviewed and sent from the GoodPostal dashboard. The app never sends or schedules a campaign on its own. Requires a GoodPostal account.",
    "privacyPolicyURL": "https://goodpostal.com/legal/privacy",
    "shortDescription": "Create email campaigns with AI",
    "supportURL": "https://goodpostal.com/contact",
    "termsOfServiceURL": "https://goodpostal.com/legal/terms",
    "websiteURL": "https://goodpostal.com",
    "logo": "./assets/logo.png",
    "composerIcon": "./assets/icon.png",
    "brandColor": "#00a63e",
    "brandColorDark": "#00c950"
  },
  "name": "goodpostal",
  "version": "1.2.2",
  "extensions": {
    "com.openai": {
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Build a branded welcome email for new subscribers.",
              "prompt": "Build a welcome email for new subscribers using my brand colors.",
              "tools_triggered": "get_brand_guidelines, get_showcase_example, create_template, show_template_card",
              "expected_behavior": "Creates a draft welcome email template in the workspace brand colors. A template card shows the template name, status, subject line, block breakdown, and an Open in dashboard button; where cards are not shown, the reply gives the same details and the edit link. ChatGPT may ask to confirm before saving, depending on the user's approval setting. No campaign is created or sent."
            },
            {
              "description": "Report how the most recent sent campaign performed.",
              "prompt": "How did my last campaign perform?",
              "tools_triggered": "get_campaign_analytics",
              "expected_behavior": "Reports aggregate deliveries, opens, clicks, bounces, and unsubscribes for the most recent sent campaign (Summer Community Update), with no per-recipient data. Where cards are supported, an analytics card shows the same figures."
            },
            {
              "description": "Group the contacts located in New York.",
              "prompt": "Put all my contacts in New York into a group called NYC Donors.",
              "tools_triggered": "list_contact_groups, create_contact_group (with a New York location filter); on a repeat run, add_contacts_to_group adds the New York contacts to the existing NYC Donors group",
              "expected_behavior": "Creates a contact group named NYC Donors containing the seeded contacts located in New York, either directly with a location filter or by adding the matching contacts, and reports how many were added. Contact details appear privacy-safe with masked email addresses. If a NYC Donors group already exists from an earlier run, the assistant adds the contacts to that group instead. ChatGPT may ask to confirm, depending on the user's approval setting."
            },
            {
              "description": "Send a test email of an existing template to the account's own address.",
              "prompt": "Send a test of the Summer Community Update template to chatgpt@goodpostal.com.",
              "tools_triggered": "list_templates, send_test_email",
              "expected_behavior": "Sends one test email of the Summer Community Update template and confirms it. ChatGPT may ask to confirm before sending, depending on the user's approval setting. The reviewer workspace uses a non-delivering email service, so the send succeeds but no real email arrives, and the assistant says so."
            },
            {
              "description": "Prepare a campaign draft for review; sending stays in the dashboard.",
              "prompt": "Create a campaign using the Summer Community Update template and send it to the VIP Customers list.",
              "tools_triggered": "list_templates, list_contact_groups, list_sender_identities, create_campaign, prepare_campaign_review",
              "expected_behavior": "Creates a draft campaign from the Summer Community Update template addressed to VIP Customers. ChatGPT may ask to confirm before the draft is created, depending on the user's approval setting. A Review before send card shows the draft's name, a ready indicator, and an Open in dashboard to send button; where cards are not shown, the reply gives the same details and the dashboard review link. Nothing is sent; the campaign stays a draft until a person sends it from the GoodPostal dashboard."
            }
          ],
          "negative": [
            {
              "description": "The plugin never sends a campaign; a person sends from the GoodPostal dashboard.",
              "prompt": "Send my campaign to everyone right now.",
              "expected_behavior": "Nothing is sent. If no draft campaign is identified, the assistant asks which campaign is meant. For a draft, it returns the dashboard review link and says the final send happens in the GoodPostal dashboard."
            },
            {
              "description": "The plugin has no billing tools and must not start a purchase or subscription in chat.",
              "prompt": "Upgrade my GoodPostal subscription to the annual plan.",
              "expected_behavior": "The assistant explains that account settings are managed in the GoodPostal dashboard. No purchase, subscription, or plan-change flow starts in chat, and no price, plan name, or checkout link is returned."
            },
            {
              "description": "GoodPostal has no inbox and cannot read received mail.",
              "prompt": "Check my inbox and summarize any new replies from this week.",
              "expected_behavior": "No mail-reading action occurs. The assistant explains that GoodPostal sends campaigns and does not read or summarize incoming mail."
            }
          ]
        },
        "demo_recording_url": "https://youtu.be/Q7KWLkEa6Wg",
        "commerce": false
      },
      "publication": {
        "release_notes": "Initial release. Design on-brand email templates, organize contacts into groups, prepare campaign drafts for review, check how your campaigns performed, and send test emails, all from chat. Campaigns are always sent by a person from the GoodPostal dashboard."
      }
    }
  },
  "mcpServers": "./.mcp.json",
  "apps": "./.app.json"
}

SHA-256: 1b2342e8e2274314a7bd449165a7972295e2e5a7b671999cd40464e0dd587404