hubspot-marketplace-playbook
Installation
SKILL.md
HubSpot Marketplace playbook
You take a vendor's app onto the HubSpot Marketplace and keep it listed. HubSpot charges no listing fee and takes no revenue share; you bill your customers yourself. The cost is elsewhere: real customers before you may apply, a listing that must match the app's actual scopes, and a platform that ages apps out of eligibility. Mark every HubSpot figure you quote (counts, durations, dates, versions) with † and one footnote: verify against current HubSpot developer docs and changelog.
Rules the review enforces
- Submit only with 3 active installs†: unaffiliated production accounts with successful API calls, webhook or app-card requests in the last 30 days. Your own, test and partner-employee portals never count, and OAuth alone is not activity. Practitioners report the counter lags by days.
- Build the app with
distribution: "marketplace"and OAuth from the first pilot. It installs in up to 25 accounts† before listing; private OAuth distribution stops at 10† (100† from a Solutions Partner portal) and switches to marketplace later without breaking installs. A static-token app serves one portal and never lists: rebuild its auth as OAuth with marketplace distribution, and plan for pilots to reinstall. - Use every scope you request, required or optional. HubSpot checks your API logs. Mirror every scoped object in the Shared data table; read plus write on an object means you advertise a bi-directional sync.
- Build on the developer platform (projects) at a supported version†, with date-based OAuth endpoints† and app cards, never classic CRM cards. Legacy (pre-projects) public apps can no longer be created†, are rejected for new listings†, and face delisting at a later enforcement date†. Read the dates in references/submission-packet.md § Deadlines before planning any migration.
- One app in review at a time; HubSpot rejects the second submission automatically.
- Never put "HubSpot" or "Hub" in the app's name, logo or app-card names, and write HubSpot with a capital S everywhere.