User-level vs. account-level access
Account-level access provides a uniform level of access for all users in your HubSpot account, while user-level access links your app’s features and API access to the associated per-user permissions in your account. When user-level access is set up, each user that meets your app’s configured scopes that correspond to their in-app permissions can install the app. If your app should behave differently based on who is using it, then you should opt for user-level access. Otherwise, account-level access remains the right choice for other use-cases such as account-wide automation, or syncing data across many tools in your account.Set up user-level access for your app
Before proceeding, make sure you’re on the latest version of the HubSpot CLI (8.15.0), and that the platformVersion field is set to 2026.09 in your project’s top-level hsproject.json file.
hsproject.json
isUserLevel: true to the config property in your app’s top-level app-hsmeta.json file:
isUserLevel is set to false or left unspecified, your app will use account-level access.
Once you finish updating your app’s configuration and upload your project, any user who installs your app will have their actions annotated with [User] via [app name] in HubSpot’s app audit logs.
Supported platform features
The sections below outline the platform feature support for user-level access.Platform features
- Both app distribution options are supported.
- Only OAuth authentication allows user-level access. Apps with static auth do not support user-level access.
UI extension point support
For app pages and app settings, you’ll need to set up and manage a separate backend service yourself to provide user-specific functionality and ensure you’re not sharing data between individual user installs.API support
The following REST APIs are currently supported with user-level apps, unless otherwise noted:Automation
Automation
Sequences:
- The following endpoints are supported: create enrollments and manage sequence definitions.
- The read, unenroll, and pause endpoints do not yet support user-level access.
CRM
CRM
- Contacts
- Companies
- Deals
- Tickets
- Leads
- Tasks
- Notes
- Calls
- Emails
- Meetings
- Goal Targets
- Feedback Submissions
- Services
- Courses
- Listings
- Partner clients
- Partner services
- Projects
- Contracts
- Orders
- Carts
- Invoices
- Quotes
- Line items
- Products
- Discounts
- Fees
- Taxes
- Commerce payments
- Commerce subscriptions
- Price Books:
- The following endpoints are supported: list, get, and batch read.
- The search and write endpoints do not yet support user-level access.
- Price Book items:
- The following endpoints are supported: list, get, and batch read.
- The search and write endpoints do not yet support user-level access.
- Forecasts:
- The following endpoints are supported: list, get, and search
- The configuration and write endpoints aren’t yet supported for user-level access.
- Custom Objects
- Associations:
- The following endpoints are supported: create a single labeled or unlabeled association, read associations on a record.
- All bulk operations, label management, limits management, and usage reporting endpoints do not yet support user-level access.
- Pipelines & pipeline stages:
- Only read endpoints are currently supported.
- Create, replace, and delete endpoints aren’t yet supported for user-level access.
Sales
Sales
All scopes associated with the supported endpoints above are supported for user-level access, with the exception of the scopes listed below:
cpq.quote_templates.readcpq.quotes.readcpq.quotes.writemarketing.lead_scoring.readmarketing.lead_scoring.writecrm.schemas.custom.write