Docs
Publishing to Marketplace
Share your scripts — with their config schemas — so other workspaces can install and customize them with one click.
What publishing means
Publishing copies your script's current body, config-field schema, metadata, and version into a MarketplaceScriptentry that's visible to every Starter+ workspace. Installers browse the catalog, click Install, and get a fresh copy of your script in their own workspace — ready for them to fill in their own config values.
It's a snapshot, not a live link. Edits to your source script after publishing don't auto-update the marketplace entry. You have to re-open the Publish modal and click Publish update to push a new version. Same pattern as npm, Chrome Web Store, and the App Store — versioned releases.
Design your script for install-by-strangers
A scripts that's fine in your workspace can fall flat in someone else's because hardcoded values leak assumptions. Before publishing, check:
- No hardcoded IDs. Facebook Pixel, GA4, GTM, client-specific location IDs — all should be config fields.
- No hardcoded URLs or images. Use an
image_urlconfig field so installers bring their own. - No hardcoded CSS selectorsunless they're GHL-stable. GHL ships the same DOM to every account, but if your script targets a one-off class from a specific template, make the selector a config field.
- Defaults where sensible. Toggles, colors, sizes — most installers won't touch these. A smart default means the script works without configuration.
Publishing a script
From the script editor, click Share in the header. The publish modal asks for:
- Title — shown on the catalog grid. Keep it under 60 characters.
- Short description — one sentence, ≤240 chars. Shown in search results.
- Long description — optional, up to ~4 paragraphs. What does it do, what does it need, any caveats?
- Category — Branding / Navigation / Widgets / Tracking / Forms / Dashboard / Utilities / Funnels.
- Tags — comma-separated keywords for search.
- Version — semver (
1.0.0). Bump on every update. - Thumbnail URL — optional square image shown on the detail page.
Click Publish to Marketplace. Your script is live immediately — no moderation queue in v1. You land on the detail page to see how it looks.
Updating a published script
The script header now shows a ✓ Marketplace indicator with Update / Unpublish buttons. Clicking Update reopens the publish modal in update mode — bump the version, tweak the description, hit submit. We re-snapshot the current body + config schema on top of the existing marketplace row.
Unpublishing
Click Unpublish in the marketplace indicator. A confirm modal warns that other workspaces will stop seeing your script in the catalog. Installed copies keep working — unpublish only affects the listing, not deployed code.
Plan gate
Publishing and installing both require Starter or higher. Free workspaces see the marketplace lock screen with an upgrade CTA. This keeps the first-install moment tied to the first paid tier.
