Home / Launchpad / Documentation

Custom Components

Custom Components (bring your own components) let you publish React components built against the Launchpad SDK into a portal. Once published they can appear as Page Builder blocks, mount site-wide on chosen paths, or replace the built-in header, menu, or footer.

Where to find it

Open Admin Sidebar → Custom Components (/admin/custom-components). The page is visible to users whose role is Administrator (or another role whose name includes admin).

The screen has four tabs: Components, Upload, Configuration, and Audit log.

How a component is placed

Placement is declared on the component (in launchpad.json). Unrecognized or missing values are treated as a page block.

Placement Where it appears Listed in admin as
block (default) A section on a Page Builder page. Inserted from Add block → Custom components. Page blocks
site Mounted on visitor-facing pages that match include/exclude paths and audience. Not offered in Add block. Site-wide
slot:header Replaces the entire top navigation bar when it wins the slot. Site-wide (region badge)
slot:menu Replaces the desktop header link list (inside the header). Site-wide (region badge)
slot:footer Replaces the built-in footer. Site-wide (region badge)

One winner per slot

Only one enabled component can own each of header, menu, and footer in an environment. If more than one targets the same slot, the one with the lowest Sort order wins (name is the tie-break). The Components tab shows a warning when that happens.

Site-wide and slot components never mount on /admin/*. Built-in chrome stays in place there so editors keep the normal header, menu, and footer.

Upload

Open the Upload tab. You can also publish with centauri components publish; the Upload tab is the in-portal path.

  1. Drop or browse for the built .mjs bundle and its launchpad.json manifest (from centauri components build). Maximum bundle size is 5 MB.
  2. Choose the target Environment.
  3. Enter a Version as strict semver (x.y.z, for example 1.0.0). Versions are immutable — publishing the same version again is rejected.
  4. Click Publish.

The manifest needs a kebab-case name (letters, digits, hyphens) and a displayName. Optional fields: description, props (string, number, boolean, or select, each with a label), and placement.

Components: versions, promote, rollback

The Components tab lists every published component, grouped as Page blocks and Site-wide. Each environment shows the current version and an enable switch.

  • Enable / disable — the switch per environment. Turning a component off unmounts it without deleting versions. A disabled page-block on a published page shows “This component is unavailable”; a disabled site or slot component is simply not mounted (built-in header, menu, or footer returns).
  • Promote — copies the source environment’s current version to another environment and points that environment at it. No re-upload. Source and target must differ.
  • Expand a row for Version history. Choose Rollback to this version to point the current environment at that version immediately. The version you left stays published and can be restored the same way.

Takes effect within 30 seconds

Rollback, promote, enable/disable, and site settings are pointer flips. Portal pages pick them up within about 30 seconds. If the worker that stores versions is unreachable, the table still lists this environment, but toggles, rollback, and promote stay disabled until it is back.

Site placement: paths and audience

For a site-wide or slot component, click Configure on the Components row. Settings are per environment.

  • Props — values from the manifest, same fields as a page-block settings panel. Required props must be set before you can save. These values are served to every visitor in scope — do not put secrets here.
  • Include paths — one path per line. Empty means every visitor-facing page. A path ending in /* matches that directory and everything under it (for example /docs/internal/* also matches /docs/internal). Without /*, the path and its subpages match.
  • Exclude paths — also one per line. Exclude always wins over include when both match.
  • Audience — All visitors, Authenticated only, or Anonymous only.
  • Sort order — lower numbers win when several site components apply, and when several components target the same slot.

Click Save site settings. Changes take effect within 30 seconds.

Page Builder blocks

Only block placement components appear under Add block → Custom components. Site-wide and slot components cannot be dropped onto a page.

  1. Open a page in the Page Builder editor and click Edit content.
  2. Open Add block. If any block-placed components are published and enabled, they are listed under Custom components.
  3. Insert the component. In the editor it is a placeholder (name and “renders live on the published page”). The live bundle mounts on the published URL.
  4. Select the section and open its settings to edit manifest props. Required props must be set before Apply.

Save and Publish the page as usual. If the component is later disabled, renamed out of the registry, or fails to load, that section shows the unavailable fallback. The rest of the page stays up.

Configuration

The Configuration tab is a key/value list served to custom components as portal context config. Every visitor can receive these strings — do not store secrets. Add a key and value, edit a value by leaving the field, or delete a row.

Audit log

The Audit log tab lists component activity: when, component name, action, environment, version, and actor (upload, promote, rollback, toggle, and similar).

Ready to deploy your portal?

Book a 20-minute walkthrough and see Launchpad running with your Apigee environment.