Skip to main content
Select Actions to adjust the guide
Some actions may require additional configuration in the provider to be accessible. Choose the actions you need and the guide will be updated.
Action
Scope(s)
Loading actions…
Dynamic Guide URL
Scopes Selected
Separator

Create a HubSpot Private App

Generate a private app access token from your HubSpot account. Private apps are now managed under Development > Legacy Apps; the older Settings > Integrations > Private Apps path now redirects there.

1

Navigate to Legacy Apps

Open your HubSpot account and click Development in the left sidebar (it appears as its own top-level item in the main navigation, near the bottom).

  • Within the Development section, click Legacy Apps. The list shows existing Public and Private legacy apps; only the Private ones expose an Access Token (PAT).
  • Click Create legacy app in the upper right of the Legacy Apps page.
2

Pick Private and confirm the legacy path

HubSpot now shows two confirmation modals before letting you create a legacy private app — it actively recommends the modern Service Keys path instead.

  • In the first modal (“What kind of legacy app do you want to create?”), click Private (For one account). The Public option is for OAuth apps, not PATs.
  • HubSpot then shows a “Service Keys are the better path” screen. Service Keys are not yet supported by the StackOne connector, so to continue with the PAT flow tick “I understand that legacy private apps have limited functionality and won’t receive future platform updates.” and click Continue with legacy private app.
3

Fill in Basic info

The app creation page has three tabs across the top — Basic info, Scopes, Webhooks. Start on Basic info.

  • Enter a Name (e.g., “StackOne Integration”). The name must be unique within the portal.
  • Optionally upload a square logo and add a description — both are cosmetic.
4

Add scopes

Switch to the Scopes tab and click + Add new scope to add each scope you need. The scope picker is search-based — type a keyword like companies or contacts to filter, then tick the scopes from the search results.

  • Only add the scopes required by the StackOne actions you plan to call — the connector enforces scope requirements per action at runtime, so a PAT missing a scope causes the affected action to fail with 403 Forbidden.
  • For Companies coverage: add crm.objects.companies.read and crm.objects.companies.write. For association support: also add crm.objects.contacts.read (and crm.objects.contacts.write if you’ll create contacts in the same flow).
  • For property discovery (used by get_object_properties and to manage custom properties on standard objects), HubSpot exposes crm.schemas.companies.read/.write, crm.schemas.contacts.read/.write, etc. These are HubSpot-side scopes only — they don’t appear in this connector’s scopeDefinitions.
  • The Webhooks tab on this app is optional and can be configured later — leave it for now unless you plan to deliver events through this PAT.
  • See HubSpot scopes documentation for the full list of available scopes (including ones not modeled by this connector).
5

Scopes used by this connector

Enables actions: Add Asset To Campaign, Batch Create Associations, Batch Create Companies, Batch Create Contacts, Batch Create Deals, Batch Read Associations, Batch Update Companies, Batch Update Contacts, Batch Update Deals, Clone Marketing Email, Create Association, Create CRM Object, Create Campaign, Create Company, Create Contact, Create Custom Object Association, Create Custom Object Schema, Create Deal, Create Deal Pipeline, Create Deal Pipeline Stage, Create Marketing Email, Create Ticket, Delete Association, Delete CRM Object, Delete Campaign, Delete Company, Delete Contact, Delete Custom Object Association, Delete Custom Object Schema, Delete Deal, Delete Marketing Email, Delete Ticket, Get CRM Object, Get Campaign, Get Company, Get Contact, Get Custom Object Schema, Get Deal, Get Deal Pipeline, Get Deal Pipeline Stage, Get Form, Get Marketing Email, Get Object Properties, Get Owner, Get Ticket, Get Ticket Pipeline, Get Ticket Pipeline Stage, List Associations, List CRM Objects, List Campaign Assets, List Campaigns, List Companies, List Contacts, List Custom Object Schemas, List Deal Pipeline Stages, List Deal Pipelines, List Deals, List Form Submissions, List Forms, List Marketing Emails, List Owners, List Ticket Pipeline Stages, List Ticket Pipelines, List Tickets, Publish Marketing Email, Remove Asset From Campaign, Search Companies, Search Contacts, Search Deals, Search Tickets, Update CRM Object, Update Campaign, Update Company, Update Contact, Update Custom Object Schema, Update Deal, Update Deal Pipeline, Update Deal Pipeline Stage, Update Marketing Email, Update Ticket

Below is the full set of HubSpot scopes that the StackOne HubSpot connector actions reference. Add the subset that matches the actions you intend to call — there is no “request only what you need” runtime behavior for PATs like there is for OAuth optional scopes; whatever you tick here becomes the static permission boundary of the token.

6

Create the app and copy the access token

Click Create app in the top right of the editor and confirm in the dialog.

  • After creation you land on the app detail page. Click the Auth tab.
  • In the Access token section, click Show token then Copy. This is the value to paste into the StackOne “Private App Access Token” field below.
  • The token begins with pat-na1- (US) or pat-eu1- (EU) depending on your portal region.
  • The Auth tab also shows a Client secret — StackOne uses bearer-token auth only and does not use the client secret, so you can ignore it.
  • The token can be re-revealed from this Auth tab anytime, or rotated via the Rotate button next to the token (rotating immediately invalidates the previous token).

Linking the Account from the Hub

1

Navigate to the Hub

Use one of the three Linking Account Methods to access the Hub.
2

Fill out the fields

Fill out the following fields using details from your provider:
  • Private App Access Token
3

Connect

  • Click Connect
  • If applicable, the provider will redirect you to a sign-in or authorization page. Complete the provider’s authorization flow.
  • Once authorization is successful, you will see a confirmation popup

If the account linking is successful, you will see the newly linked account in your Accounts page.