Skip to main content

Installable Applications

Installable applications let you publish an M2M application to the marketplace so other organizations can discover it, grant it scopes, and install it—turning a private backend integration into a product other teams can adopt.

Installable apps are built on the M2M flow

Every installable application is an

M2M application

at its core. It uses the same OAuth 2.0 Client Credentials model for backend access—installation simply controls which organizations may obtain tokens for your app and which scopes they were granted.


Roles & Actions

Two organizations interact with every installable app. Every action happens at the

organization level—any member with Developer Portal access acts on behalf of their organization; there is no separate "admin" role.

!

Owners Configure First

The owner organization must configure scopes and integrations before any consumer organization can install or use the app.

🏗️

Owner Organization

The team that creates and configures the application.

  • Create & configure applications
  • Send invitations (partner apps)
  • Approve / reject requests
  • Revoke active installations
🏢

Consumer Organization

The team that installs and uses the application.

  • Install marketplace applications
  • Submit installation requests
  • Accept / reject invitations
  • Cancel requests / Uninstall apps

Three ways an app gets installed

An app's Visibility and Mode are set when it's created—see Create application → Visibility & Mode. Those two choices decide how, or whether, other organizations install it. Each path below is documented end to end.

Private apps stay internal

A Private app is for use inside the owner organization only. It is never published and never enters the installation lifecycle—no installs, requests, invitations, approvals, or revocations. Everything below applies to Public and Partner apps.


Installation lifecycle

Every install path—auto, request, and invitation—is tracked in a single installation record. The record does not fork into separate resources; the same record transitions between statuses.

Public + Auto installOwner rejectsInvitee rejectsConsumer cancelsOwner approvesInvitee acceptsOwner revokesConsumer uninstallsNew installationInstallation record is createdRequest / invitation sentRecord moves to PENDINGPENDINGAwaiting response or actionACTIVEInstallation is activeREJECTEDRequest / invitation rejectedCANCELLEDRequest was cancelledREVOKEDAccess has been revokedUNINSTALLEDApplication removed

Status reference

StatusMeaning
ACTIVEInstalled and usable; the consumer org can obtain tokens.
PENDINGAwaiting owner approval (request) or invitee response (invite).
REJECTEDOwner rejected the request, or invitee declined the invitation.
CANCELLEDConsumer withdrew the request before the owner acted.
REVOKEDOwner ended an active installation.
UNINSTALLEDConsumer removed an active installation.

Next steps

Keep going