Skip to content
Select themeSelect language

Publish a marketplace bundle

Most useful things are not one primitive. A receipt-capture surface is an app you open on your phone and a workflow that files what you send it. A dashboard is a frontend and the query behind it.

A bundle (item kind bundle) is one marketplace listing that carries several of your workspace’s primitives together. Publishing one means whoever installs it gets the whole product in a single step, instead of hunting down two listings and wiring them together from a README.

The marketplace seller dashboard with its publish tab and the listing-kind picker.The marketplace seller dashboard with its publish tab and the listing-kind picker.
  • You must be a workspace admin — the same permission every other publish path requires.
  • The primitives you want to bundle must already exist in the workspace: the apps, workflows, scripts and connector node types you plan to include.
  • Decide which resource kinds the finished product needs bound. These are the connections the installer must supply — a storage library, a database.
  1. Open the seller dashboard. Go to Marketplace → Sell, then the Publish tab.

  2. Choose Bundle. The listing-kind row offers App, Bundle, Runner offer, Workflow, Script and Connector node. Pick Bundle.

  3. Select the contents. Each kind lists the primitives in your workspace; tick everything that belongs to this product. The count in the section header tracks your selection.

    An app you select ships with its full source tree inside the listing, so the bundle installs on a bare instance with nothing to fetch from elsewhere.

  4. Name the listing. Give it a slug (lowercase, hyphenated — this is the catalog address), a display name, an optional summary and a version.

  5. Declare the required resource kinds. Comma-separated, e.g. seafile_webdav, postgresql. This is what the installer will be asked to bind before the install can proceed.

    You do not need to repeat what a selected connector already declares — those kinds are merged in automatically.

  6. Name what the buyer needs outside SupaCloud (optional). Some products only work once something has been arranged elsewhere — a flag switched on in a provider’s admin panel, a product id registered with a bank. Write that here, in English and German, instead of burying it in the readme: it is shown as its own step in the install wizard, above the resource mapping, and on the item page. Mark it must be acknowledged when ignoring it would fail silently; the install is then refused until the buyer confirms it — by the API as well as the wizard, so the confirmation cannot be clicked past.

  7. Set a price (optional). Free by default; a one-off or monthly price makes it a paid listing, exactly as for a single-primitive listing.

  8. Publish. The bundle enters the catalog as one item. Like every publish, it starts unverified and goes through the review gate before it can be installed.

The install preview lists every piece the bundle will create — each app, workflow, script and connector by name — plus every resource binding the product needs, whether you declared it on the bundle or a bundled connector declared it for itself.

Nothing installs until all required bindings are mapped. The bindings are the installer’s own: your credentials never travel with the listing, and a workflow’s resource bindings are stripped when it is published.

One install creates all of it, in one step.

Publish the same slug again with a bumped version. The catalog upserts the listing in place and existing installs see the update signal, as with any other listing kind.