Create private apps with projects (BETA)

  • Sales Hub
    • Enterprise
  • Service Hub
    • Enterprise

Create private apps to access your HubSpot data through HubSpot's APIs. Private apps can only be installed into the account where they're defined. Serverless functions can use a private app's access token to authenticate calls to access account data similar to using an API key, but with additional security and usability benefits. You can create multiple private apps per project and per account.

When created as part of a HubSpot project, private apps are stored in a folder that contains an app.json file, and will also contain extensions and serverless function files needed by the app.

In this guide, learn how to create a private app in a project and view it in HubSpot. Then, you can create a custom card within the app to customize the CRM UI.

Create a private app within a project

To create a private app in a project, you'll first need to install the HubSpot CLI. To get started with HubSpot projects, you can also check out the quickstart guide.

Please note: you can create up to 20 private apps in a HubSpot account, and each app is subject to HubSpot's API rate limits.

To create a private app within your project:

  • Within the src folder of your project directory,  create an app folder.
  • Within the app folder, create an app.json file. This file will contain your app definitions.
  • Copy the following code into your app.json file:

name  string

A unique name for the app.

description  string

The app's description.

scopes  array

The app's allowed scopes. At least one scope is required.

public  boolean

Set to false for private apps.

extensions  object

Contains the extensions included in the app. For CRM cards, include a crm object, followed by a cards array that contains a file field that references the CRM card JSON definition file.

If you have not yet defined your extension, you can leave this object empty.

// example app.json file { "name": "Example app", "description": "", "scopes": ["", "crm.objects.contacts.write"], "public": false, "extensions": { "crm": { "cards": [ { "file": "./custom-card.json" } ] } } }
  • With your app defined and saved, you can then upload it to HubSpot using the hs project upload command.

On upload, the build will be triggered and HubSpot will validate your project files and provision any needed resources. By default, HubSpot will automatically deploy successful builds. Alternatively, you can link a GitHub repository to the project to automatically trigger a new build when you push a change to the project files in GitHub.

With your app uploaded, learn how to view it in HubSpot below.

View the app in HubSpot

If you're a super admin, you can access and manage private apps in your HubSpot account, including viewing your apps, their build history, and the access token required to make API calls

To view a private app's details in HubSpot:

  • In your HubSpot account, navigate to CRM Development.
  • In the left sidebar menu, navigate to Private apps.
  • Click the name of the private app.

You'll then be taken to the app's Details page where you can view and manage its access token, view request logs and included extensions, and delete the app.


Next, learn how to create a custom card in the app to customize CRM records with various components.

Was this article helpful?
This form is used for documentation feedback only. Learn how to get help with HubSpot.