Overview
Once your app is built and tested locally, you have two paths for distributing it:- Publish to npm — list your app in the Twenty marketplace for any workspace to discover and install.
- Push a tarball — deploy your app to a specific Twenty server for internal use without making it publicly available.
Publishing to npm
Publishing to npm makes your app discoverable in the Twenty marketplace. Any Twenty workspace can browse, install, and upgrade marketplace apps directly from the UI.Requirements
- An npm account
- Your package name must use the
twenty-app-prefix (e.g.,twenty-app-postcard-sender)
Steps
- Build your app — the CLI compiles your TypeScript sources and generates the application manifest:
- Publish to npm — push the built package to the npm registry:
Auto-discovery
Packages with thetwenty-app- prefix are automatically discovered by the Twenty marketplace catalog. Once published, your app appears in the marketplace within a few minutes — no manual registration or approval required.
CI publishing
The scaffolded project includes a GitHub Actions workflow that publishes on every release. It runsapp:build, then npm publish --provenance from the build output:
yarn install, npx twenty app:build, then npm publish from .twenty/output.
Internal distribution
For apps you don’t want publicly available — proprietary tools, enterprise-only integrations, or experimental builds — you can push a tarball directly to a Twenty server.Push a tarball
Build your app and deploy it to a specific server in one step:Version management
To release an update:- Bump the
versionfield in yourpackage.json - Push a new tarball with
npx twenty app:publish --server <server-url> - Workspaces on that server will see the upgrade available in their settings
Internal apps are scoped to the server they’re pushed to. They won’t appear in the public marketplace and can’t be installed by workspaces on other servers.
App categories
Twenty organizes apps into three categories based on how they’re distributed:| Category | How it works | Visible in marketplace? |
|---|---|---|
| Development | Local dev mode apps running via yarn twenty app:dev. Used for building and testing. | No |
| Published | Apps published to npm with the twenty-app- prefix. Listed in the marketplace for any workspace to install. | Yes |
| Internal | Apps deployed via tarball to a specific server. Available only to workspaces on that server. | No |