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.


Before you start
Section titled “Before you start”- 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.
Publish the bundle
Section titled “Publish the bundle”-
Open the seller dashboard. Go to Marketplace → Sell, then the Publish tab.
-
Choose Bundle. The listing-kind row offers App, Bundle, Runner offer, Workflow, Script and Connector node. Pick Bundle.
-
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.
-
Name the listing. Give it a slug (lowercase, hyphenated — this is the catalog address), a display name, an optional summary and a version.
-
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.
-
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.
-
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.
-
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.
What the buyer sees
Section titled “What the buyer sees”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.
Keeping a bundle up to date
Section titled “Keeping a bundle up to date”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.