← SkillSafe
Slack Submit

For vendors shipping a commercial Slack app

Slack SubmitWill your Slack app pass Slack Marketplace review - and what do you fix when it comes back?

Paste your Slack app manifest and what the app does, and get the scope table checked against the Slack Marketplace review rules, then the per-scope justifications with the submission plan, or the fixes for a returned submission. Your browser parses the manifest and flags the install gate, ineligible, admin and enhanced-review scopes, user-token scopes, scopes with no feature behind them, test slash commands, tunnel and localhost URLs, a coded workflow, reviewer install access and any implied endorsement, screens the app against Slack's unsuitable list, ranks the install-gate menu and plans the review timeline backward from your launch.

Try a sample:

The app free

The interview - each answer moves a check, the gate or the timeline free

The checks free

What the page flags

The manifest as read

The scope table

Every check, rule by rule

Slack's unsuitable list

The install-gate menu

The review timeline

Your stage's plan

Environments as code and the exports free

One manifest template, three apps: only the display name, the slash commands and the redirect, request and event URLs change. Derived from your manifest; every host is a [placeholder].

The environment split


    

The fixed manifest

Your manifest with every scope the page fails removed and test slash commands taken out - nothing added, every other field kept, in the format you pasted. After a plan runs, the plan's own download also moves its optional scopes.

    The submission plan

    Pricing as soon as the session is ready...

    NOT RUN YET

    The page's check of this reply

      Saved apps

      How it works - and what is sourced

      The checks follow the skill's five review rules. The manifest is read by a small YAML subset parser written for manifests (nested maps, lists, quoted strings, block scalars, comments) or by JSON.parse, and every parse error names its line. Each scope is classed from a fixed set: ineligible (identity.*, search:read, read, post, client, workflow.steps:execute, triggers:*), partner program only (admin.*), enhanced review (*:history, files:read, canvases:read, search:read.*, conversations.connect:write, user-token groups:write, groups:write.invites, mpim:write) or standard. A scope with no feature note needs a feature; a user-token scope passes only when its note says the app acts as that user; an enhanced scope with no feature fails while building or piloting. The unsuitable-app screen reads what the app does and the manifest's descriptions against a fixed set of kinds - export or backup, bulk delete, sign-in only, a Slack client, training LLMs on Slack data, sentiment of individuals, money or crypto, scripts or terminal commands, a shared account, circumventing admin controls - and a denial is not a hit; any hit, or a coded workflow, refuses the plan.

      The install-gate menu follows the skill's ranking: existing customers already asking for Slack, as an unlisted pilot, then design partners, then staff or partner teams on their own paid workspaces; a launch inside three months promotes design partners to start this week, and sandboxes never count. The timeline counts from today by your browser's clock: preliminary review, functional review and one returned round, counted as another preliminary cycle. The page cannot see your running app, your pages or your Security & Compliance answers; those checks say so. Slack Submit never implies that Slack certifies, endorses or approves an app, and flags any text that does.

      The fixed manifest removes what the page fails - ineligible and admin.* scopes, scopes with no feature while building, test slash commands - and, with a plan, the scopes the plan drops, and moves its optional scopes to bot_optional or user_optional; it never adds anything and keeps every other field. A saved app keeps a snapshot of its checks, so reopening it shows what changed since you saved it; mark it resubmitted and the next fixes run carries the previous round's fixes with the plan.

      Every Slack figure the skill quotes carries a dagger: 10 active workspaces† used in the last 28 days†, 10 weekly active users†, 1 request/minute† and 15 objects† for new unlisted installs, preliminary review up to 10 business days†, functional review up to 10 weeks† for a new app and 6 weeks† for an update, a configuration token and token rotation refresh of 12 hours†, 10 days' written notice† to discontinue, support within 2 business days†, and the April 2026 AgentExchange merge†, which changed no part of the Slack review. † verify against current Slack Marketplace docs, because Slack changed its install gate twice in a year.