How do I create an app in HubSpot?

In HubSpot, an app is used to identify your integration.  When you authenticate your integration using OAuth, the details for your app are shown to the user when they're authorizing the connection.

Having an app in HubSpot is also a requirement for using the Timeline and Webhooks APIs.  Timeline events and webhook subscriptions are set up for the app, and then authorizing your app with a HubSpot account allows you to use those events and subscriptions with a customer account.

To create an app, you'll first need to have a HubSpot developer account.  If you don't already have one, you can sign up here: https://app.hubspot.com/signup/developers

Once you have a Developer account and you get signed in, you'll start on the Developer Home page, where you'll have the option to create your first app or create a test account. Click Create an app to start creating an app.

Please Note: You may create up to 100 apps per developer account

dev_landing_dashYou can also create an app from the App dashboard.

app_dash_first_app

When creating an app, you'll be presented with a screen showing your the settings for your new app. The first option you'll have is to name your app. Remember, the name of your app appears to users when they're authenticating your app with HubSpot. You'll also see the other settings for your app, including the description, and options for adding support contact info. You'll also have the ability to set up the logo and a wordmark that will be displayed to HubSpot users when installing or using your app in their HubSpot account.

Auth settings

In addition to the app info, you'll also find the Auth settings for your app, including the client ID and client secret, as well as the scopes used by your app. You'll need these items when initiating an OAuth connection between your app and HubSpot.

At the bottom of the page, you'll find the scope settings for your app. Click on the dropdown to add new scopes to your app. Any scopes listed in the app settings will be treated as required scopes for your app, which will mean that they will need to be included in the scope= parameter of your authorization URL or users will receive an error when trying to authorize your app. See the OAuth docs for more details about building your authorization URL and details of the individual scopes.

app_scopes