Submission Guide

Submitting your extension for review

Overview

Once your extension is ready, you submit it for review from the developer portal. Submission moves the extension from draft to pending_review, runs an automated pre-review check job, and notifies the marketplace admins. After admin review your extension is either approved and published, or rejected with feedback.

Pre-Submission Checklist

Before your submission will be accepted, the developer portal verifies:

  • The extension has an icon.
  • The extension has at least 2 screenshots.
  • Paid extensions have at least one pricing plan configured.
  • If the extension declares API endpoints or webhooks, OAuth client_id and client_secret are present.
  • The extension is currently in draft status.

Submission Process

  1. Click Submit for Review in the developer portal.
  2. The system performs the pre-submission validation listed above.
  3. If a manifest_url is configured, the manifest is validated against the schema.
  4. The extension status changes to pending_review.
  5. The RunPreReviewChecks background job runs automatically.
  6. Marketplace admins are notified that a new submission is awaiting review.

Automated Pre-Review Checks

  • Manifest Schema Validation (BLOCKING) — The manifest must validate against the published schema.
  • Endpoint Health (BLOCKING) — The manifest URL must return HTTP 200 within 10 seconds.
  • SSL Verification (BLOCKING) — All declared URLs (manifest_url, api_endpoint, webhook_url, iframe_base_url, redirect_uri, support_url, documentation_url, privacy_policy_url, terms_url) must use HTTPS.
  • Compliance Hooks (BLOCKING) — The extension must declare both the tenant.data_request and tenant.data_redact webhooks.
  • Scope Justification (WARNING) — Requesting 5 or more scopes while declaring fewer than 2 capabilities (hooks, UI extensions, or webhooks) triggers a warning.
  • Response Time (WARNING) — The manifest endpoint should respond within 3 seconds.

Review Statuses

The normal happy path is:

draftpending_reviewin_reviewapprovedpublished

Alternative paths:

  • pending_review or in_reviewrejecteddraft
  • publishedsuspended

After Submission

After you submit, wait for the admin team to review your extension. Pre-review check results appear in your developer portal so you can see exactly what passed, what warned, and what blocked. Any blocking failures must be resolved before your extension can be approved.