← Files RevupARCHIVED FILE

.codex-plugin/plugin.json

11.8 KB · Nov 3, 2026 · 19:02 UTC

↓ Download file

{
  "name": "revup",
  "version": "1.0.2",
  "description": "Create, preview and report on Revup giveaways, sweepstakes, contests, instant wins, quizzes, surveys and forms.",
  "author": {
    "name": "Revup",
    "email": "integrations@revup.com",
    "url": "https://revup.com"
  },
  "homepage": "https://revup.com/docs/mcp/",
  "keywords": [
    "marketing",
    "promotions",
    "giveaways",
    "sweepstakes",
    "contests",
    "instant win",
    "quizzes",
    "surveys",
    "forms",
    "purchase promotions",
    "official rules",
    "lead generation",
    "lead capture",
    "crm",
    "spin to win",
    "scratch cards",
    "photo contests",
    "video contests"
  ],
  "interface": {
    "displayName": "Revup",
    "shortDescription": "Create giveaways & contests",
    "longDescription": "Revup helps marketers, brands, agencies, and small businesses create giveaways, sweepstakes, contests, quizzes, surveys, instant wins, and forms through conversation. Describe your idea to create a promotion you can customize and share to capture leads, grow your email and SMS lists, engage your audience, or collect customer feedback.\n\nCustomize the content, design, form fields, prizes, rules, and schedule. Add your own images, duplicate an existing promotion, check setup requirements, and view desktop and mobile previews. Get preview and sharing links, then review aggregate results and compare performance across date ranges.\n\nRequires a Revup account; you choose the account and permissions when connecting. Changes to a promotion can go live on its public page immediately, and the schedule controls when entries are accepted. Purchase and instant-win promotions need additional setup in the Revup dashboard. Participant exports, winner selection, payment processing, and campaign messaging are not available through this integration.",
    "developerName": "Revup",
    "category": "Business & Operations",
    "capabilities": [
      "Find promotions",
      "Create and edit promotions",
      "Duplicate promotions",
      "Import supplied images",
      "Preview desktop and mobile designs",
      "Read aggregate performance"
    ],
    "websiteURL": "https://revup.com",
    "supportURL": "https://revup.com/contact/",
    "privacyPolicyURL": "https://revup.com/privacy",
    "termsOfServiceURL": "https://revup.com/terms",
    "composerIcon": "./assets/revup.png",
    "logo": "./assets/revup.png",
    "defaultPrompt": [
      "Show my Revup promotions and what I can do in this account.",
      "Help me create a giveaway and preview its desktop and mobile design.",
      "Show my promotions and help me compare one's performance across two date ranges."
    ]
  },
  "mcpServers": "./.mcp.json",
  "extensions": {
    "com.openai": {
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Identify the reviewer account and compare aggregate reporting for the supplied demo giveaway using fixed sample-data dates.",
              "prompt": "Confirm that my connected Revup account is openai and list its promotions. For giveaway 203, compare participants and total entries on October 1, 2026 with September 30, 2026, using America/New_York. Explain the results and any reporting limitations. These are clearly labeled demo records, not real campaign performance. Do not change anything.",
              "tools_triggered": "get_account_capabilities, list_promotions, get_promotion_report",
              "expected_behavior": "Confirm the connected account is openai and promotion 203 is accessible; stop and explain any mismatch. Request October 1, 2026 as the one-day reporting period and September 30, 2026 as the one-day comparison in America/New_York. Report the returned participant counts and current weighted entry totals, distinguishing them from page views and entries earned during the period. The initial fixture contains 30 reportable imported DEMO TEST participants with one entry each on October 1 and no participants on September 30; use actual tool results and explain later changes rather than inventing or forcing these totals. Explain that imported participants do not establish page views, traffic attribution or conversion performance. Respect zero denominators and report freshness or missing-data limitations. Do not expose participant-level contact data or modify the promotion."
            },
            {
              "description": "Create an explicitly requested giveaway with a future entry schedule in the dedicated reviewer account.",
              "prompt": "Create a giveaway in my connected Revup account called OpenAI Review Giveaway, adding a unique suffix for this run. Start entries seven days from today at 09:00 and end fourteen days from today at 17:00, using America/New_York. I understand that creating it uses normal public-page availability and that the schedule controls entry collection. Show me the saved promotion ID, type and schedule.",
              "tools_triggered": "get_account_capabilities, get_promotion_schema, create_promotion, get_promotion",
              "expected_behavior": "Confirm giveaway creation is permitted and discover the relevant content and schedule schema. Create exactly one giveaway with the requested unique name and future dates in America/New_York, using an idempotency key. Read back and report its saved ID, type and schedule. Do not claim it is a private draft or requires a separate publish action. Report any setup still needed without claiming it is launch-ready."
            },
            {
              "description": "Duplicate demo giveaway 203 with a new name and future schedule, preserving the original and its sample participants.",
              "prompt": "Duplicate demo giveaway 203 in my connected openai account. Name the copy OpenAI Review Copy with a unique suffix. Start entries seven days from today at 09:00 and end fourteen days from today at 17:00 in America/New_York. I understand the copy uses normal public-page availability. Keep giveaway 203 and its sample participants unchanged, and show me the completed copy.",
              "tools_triggered": "get_promotion, duplicate_promotion, get_operation_status, get_promotion; list_promotions if needed to resolve the source",
              "expected_behavior": "Read the source and use its current revision to request one bounded configuration copy with a new idempotency key and the specified dates. Poll the returned job ID until completion, then read back the new promotion and report its ID and schedule. Preserve the source. Do not copy participants, results, integrations, language variants or sends. If the job fails, report the failure rather than claiming a copy exists."
            },
            {
              "description": "Inspect demo giveaway 203 readiness, desktop/mobile previews and sharing links without making changes.",
              "prompt": "For demo giveaway 203 in my connected openai account, check readiness, show desktop and mobile previews, and give me its preview and public links. Explain any warnings. Do not edit the promotion or submit an entry.",
              "tools_triggered": "get_promotion, validate_promotion, render_preview (desktop and mobile), preview_promotion; list_promotions if needed to resolve the promotion",
              "expected_behavior": "Read the promotion, report advisory readiness issues, and render both viewport screenshots. Identify the returned revisions and any incomplete-render warnings; do not claim a complete visual check if rendering failed. Return the tool-provided preview and public links, explaining that preview submissions are tests. Do not change settings or create entries."
            },
            {
              "description": "Create a fresh review giveaway, change its headline, and verify the saved result in one independent test.",
              "prompt": "In my connected openai account, create a giveaway called OpenAI Review Edit Test with a unique suffix. Start entries seven days from today at 09:00 and end fourteen days from today at 17:00 in America/New_York. Then change only that new giveaway's form headline to OpenAI Review Giveaway - Updated and read it back to confirm. I understand creation and edits can affect its public page immediately. Keep giveaway 203 and all other promotions unchanged. Do not submit an entry.",
              "tools_triggered": "get_account_capabilities, get_promotion_schema, create_promotion, get_promotion, update_promotion, get_promotion",
              "expected_behavior": "Confirm the openai account and effective create/edit permissions, and discover the current content and schedule schemas. Create exactly one uniquely named giveaway with the requested future schedule and a new idempotency key. Use only the promotion ID returned by that creation, read its saved revision, and update only its form headline to OpenAI Review Giveaway - Updated with a separate new idempotency key. Read it back and confirm the headline and unchanged schedule. Never depend on another test case, guess a promotion ID, or edit giveaway 203. If creation or update fails, report the failure without claiming success or substituting another promotion. Do not create participants."
            }
          ],
          "negative": [
            {
              "description": "Participant-level contact exports are outside the integration; no Revup tool should be invoked.",
              "prompt": "Export all giveaway participants with their names, email addresses and phone numbers into a CSV file. Do not submit feedback or send a report to Revup.",
              "tools_triggered": "None",
              "expected_behavior": "Explain that the Revup plugin does not support participant-level exports. Do not call Revup tools, substitute aggregate reporting for the requested export, fabricate a CSV, or submit feedback. Direct the user to the Revup dashboard for available export options."
            },
            {
              "description": "Winner selection and outbound winner notifications are unsupported; no Revup tool should be invoked.",
              "prompt": "Pick a random winner from my giveaway and email them to say they won. Do not submit feedback or send a report to Revup.",
              "tools_triggered": "None",
              "expected_behavior": "Explain that the Revup plugin cannot select winners or send winner emails. Do not call Revup tools, select a person, send a message, claim completion, or submit feedback. Suggest handling winner selection and notification through the appropriate dashboard workflow."
            },
            {
              "description": "Generating new artwork is outside the Revup integration; no Revup tool should be invoked.",
              "prompt": "Generate a new tropical beach illustration for my giveaway banner, with palm trees and a sunset. Do not submit feedback or send a report to Revup.",
              "tools_triggered": "None",
              "expected_behavior": "Do not invoke any Revup tool. Explain that Revup can import an existing supplied image but does not generate artwork. Use an available image-generation capability or suggest creating the image separately; do not call import_image without an actual supplied file or submit feedback."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "This plugin does not sell products or process payments. Purchase-based promotions require separate setup in the Revup dashboard.",
        "demo_recording_url": "https://www.youtube.com/watch?v=PDqhVRNFApI"
      },
      "publication": {
        "release_notes": "Updates the listing subtitle, description, discovery keywords and reporting starter prompt. Revises five positive review cases to cover demo reporting, creation, duplication, previews and an independent edit workflow; retains three unsupported-request cases. Clarifies commerce behavior and synchronizes compatibility metadata, including a separate .mcp.json configuration for Codex. No MCP server behavior changes."
      }
    }
  }
}

SHA-256: ecfee582d65b16796d5a1892996169c9a5469780790649191b855eb0fc7551ba