Skip to main content

Hubspot User and Account Integration

Connect your HubSpot CRM to Enterpret to enrich your customer feedback with CRM context: identity, firmographics, lifecycle, and custom properties on your Contacts and Companies.

Written by Team Enterpret
Updated yesterday

What the HubSpot integration does

The HubSpot integration brings CRM data from your HubSpot portal into Enterpret as:

  • Users (typically mapped from your HubSpot Contacts object)

  • Accounts (typically mapped from your HubSpot Companies object)

If your team uses a Custom Object instead of the standard Contacts or Companies objects for your user or account data (common for customers with bespoke CRM schemas), you can point Enterpret at that Custom Object at setup time. Enterpret will ingest it the same way.

Once connected, every feedback record that can be linked to a HubSpot user (via email) or account (via domain) gets automatically enriched with the corresponding CRM context. This means you can now slice, filter, and analyze feedback by things like lifecycle stage, plan type, ARR, job title, industry, lead status, or any custom property you track in HubSpot.

This integration is read-only. Enterpret only pulls data from HubSpot. It never writes, modifies, or deletes anything in your CRM.

A few things to note:

  • It's a separate integration from HubSpot Feedback sources (tickets, conversations), which are covered by other Enterpret integrations.

  • User data and Account data are set up as two separate integrations, even when they share the same HubSpot portal. This lets you sync just one or both depending on what you need.

  • Enterpret syncs all properties on your chosen object, both standard HubSpot properties and custom properties your team has defined. But you can hide properties you don't need after setup.


Before you begin

You'll need the following:

  • A HubSpot user account with permission to install third-party apps on your portal. In most HubSpot accounts, this is restricted to users with the Super Admin role or those who have been explicitly granted App Marketplace access. If you're not sure, check with your HubSpot admin. If you can't install the Enterpret app during setup, you'll need someone with the right permissions to do it on your behalf. The person installing doesn't need to be the same person who uses Enterpret afterwards. Once installed, the integration works for your whole Enterpret workspace.

  • Admin access to your Enterpret workspace.

  • The HubSpot integration enabled on your Enterpret account. If you don't see HubSpot as an option on the Integrations page, reach out to your CSM. It's a quick flip on our side.

If you want to connect multiple HubSpot portals, you'll need to repeat the setup for each one as separate integrations.


What permissions does Enterpret request, and why?

When you install the Enterpret app on HubSpot, you'll see a consent screen listing the permissions Enterpret is requesting. Here's exactly what we ask for and what each one is used for.

View contacts and their properties

  • What it lets Enterpret do: read Contact records and all their property values from your portal.

  • Why we need it: so Enterpret can ingest Contacts as Users when that's the object your team uses for user data.

View contact property definitions

  • What it lets Enterpret do: read the list of all Contact properties you have defined, both standard and custom.

  • Why we need it: so Enterpret knows about every property your team tracks, including the custom ones, and can sync them. Without this, we would only get HubSpot's 6 default fields per contact.

View companies and their properties

  • What it lets Enterpret do: read Company records and all their property values.

  • Why we need it: so Enterpret can ingest Companies as Accounts when that's the object your team uses for account data.

View company property definitions

  • What it lets Enterpret do: read the list of all Company properties you have defined, both standard and custom.

  • Why we need it: same reason as contacts. So we sync every property, not just the default 5.

View Custom Objects and their schemas

  • What it lets Enterpret do: read the list of Custom Objects on your portal and the records and properties within them.

  • Why we need it: so you can point Enterpret at a Custom Object instead of Contacts or Companies if your team uses one for user or account data. Enterpret lists your Custom Objects in the object selector at setup so you can pick the right one.

View owners

  • What it lets Enterpret do: read the list of users in your HubSpot portal who can be assigned as owners.

  • Why we need it: so owner information can be displayed correctly against feedback records and users.

What Enterpret will never do

  • Enterpret will never write, modify, or delete anything in HubSpot. The integration is strictly read-only. We don't request any write scopes, so even if we wanted to, we couldn't.

  • Enterpret will never access records we don't need. Feedback, tickets, deals, email content, and timeline events aren't touched by this integration.

  • Enterpret will never share your data outside your workspace. Your HubSpot data is stored within your Enterpret instance with the same security controls as all your other Enterpret data.

About tokens and storage

  • Enterpret stores your HubSpot access token and refresh token encrypted at rest.

  • Access tokens are automatically refreshed in the background. You don't need to re-authorize manually unless you actively revoke the app or HubSpot invalidates the connection.

  • You can revoke Enterpret's access at any time from your HubSpot portal settings (HubSpot → Settings → Integrations → Connected Apps), or by deleting the integration in Enterpret.


Setting up the integration

Step 1: Start the connection

  1. In Enterpret, go to Settings → Integrations.

  2. Click on New Integrations and search for Hubspot

  3. Choose between User or Account Integration.

  4. Click Connect.

Tip: if you want to sync both user and account data from HubSpot, you'll set them up as two separate integrations. Start with one, then repeat the flow for the other.

Step 2: Authorize Enterpret on HubSpot

  1. You'll be redirected to HubSpot's authorization screen.

  2. If you're logged into multiple HubSpot portals, pick the one you want to connect.

  3. Review the permissions Enterpret is requesting (see the permissions section above for details on each).

  4. Click Install.

Enterpret will redirect you back to your Enterpret dashboard.

Step 3: Pick which HubSpot object to sync

After authorization completes, a configuration drawer will open automatically. Here you select which HubSpot object Enterpret should sync.

The selector is grouped into two sections:

  • Standard. Contacts and Companies.

  • Custom. Any Custom Objects defined on your HubSpot portal.

Enterpret pre-selects a sensible default:

  • For a User integration, Contacts is selected by default.

  • For an Account integration, Companies is selected by default.

If your team uses the standard Contacts and Companies objects for user and account data, just accept the defaults and click Save.

If your team has modeled user or account data on a Custom Object instead (for example, a Subscription object, or a Member object that holds your user records), open the Custom section of the dropdown and pick the object that represents your users or accounts. Enterpret will ingest that object's records and properties the same way it would with Contacts or Companies.

Click Save when you're done.

Step 4: Syncing begins

Once you save, Enterpret immediately kicks off the first sync in the background. You'll see a confirmation message: "HubSpot integration active. Syncing will begin shortly."

What happens next:

  • Enterpret pulls 3 years of historical records from your chosen object on the first sync.

  • After that, Enterpret checks HubSpot every 4 hours for new or modified records.

  • Records flow into Enterpret gradually. You'll see the metadata list on the integration page fill in over a few minutes as data arrives, and the record count tick up.

  • A full 3-year backfill typically completes within a few hours to a day depending on portal size. There's no single burst of load on HubSpot during this. It's spread out evenly.


What data gets synced

Enterpret syncs every non-archived property on whichever HubSpot object you selected at setup (Contacts, Companies, or a Custom Object). This includes:

  • Native HubSpot properties (everything HubSpot ships out of the box on that object)

  • Calculated properties

  • Hidden properties

  • Any custom properties your team has added to that object

If you track it on your chosen object in HubSpot, Enterpret will ingest it.

Examples of what comes through on Contacts

  • Basic identity: email, first name, last name, job title, country, company

  • Marketing and lifecycle: lifecycle stage, lead status, marketing status, HubSpot score

  • Engagement: last contacted date, email open dates, number of contacted notes

  • Ownership: HubSpot owner ID, team ID

  • Any custom properties your team uses: plan types, user roles, internal flags, and so on

Examples of what comes through on Companies

  • Firmographics: domain, industry, country, employee count, annual revenue

  • Lifecycle and sales: lifecycle stage, lead status, deal stage

  • Ownership: account owner, team

  • Any custom properties: contract dates, segment tags, account health, and so on

Examples of what comes through on a Custom Object

  • All properties you've defined on that Custom Object, both those that came with HubSpot's object template and any you've added yourself.

  • HubSpot's standard record fields: object ID, created at, last modified at.

What doesn't come through

  • Archived properties. HubSpot keeps historical values but flags these as deprecated. Enterpret skips them.

  • Properties with no values across any records. If no record in your portal has a value for a specific property, Enterpret doesn't create a column for it.

  • Associated records. This integration only syncs the object you selected. Records linked to it (for example Deals or Tickets linked to a Contact) are not traversed.

  • Timeline events, private notes, or email content. These live on separate HubSpot APIs not covered by this integration.

A few things to be aware of

  • Enum values come through as HubSpot's internal keys, not the labels you see in the HubSpot UI. For example, industry might arrive as HOSPITAL_HEALTH_CARE rather than "Hospital / Health Care."

  • Owner fields come through as numeric IDs (for example hubspot_owner_id = 198086582), not emails or names.

  • Numbers and booleans sometimes arrive as strings. This is a HubSpot API behavior. Enterpret's downstream systems handle this correctly during analysis.


How your HubSpot data connects to feedback

Once your HubSpot integration is live, your feedback records automatically get enriched in two ways:

Users. If a feedback record contains an email that matches a user record synced from HubSpot, Enterpret links them. You can now filter feedback by any property on that user: lifecycle stage, job title, company, custom fields, and so on.

Accounts. If a feedback record contains a domain (or a user whose email domain matches an account synced from HubSpot), Enterpret links them. You can now filter feedback by any property on that account: ARR, industry, plan type, account owner, and so on.

Common use cases

  • Prioritize by revenue. Filter feedback to only customers above a certain ARR threshold.

  • Segment by lifecycle. Compare feedback themes between trial users, paid users, and churned accounts.

  • Focus on specific industries or personas. See how feedback differs between healthcare customers and retail customers, or between engineers and marketers.

  • Track specific account cohorts. Build a cohort of your top 20 accounts by ARR and see their feedback in one view.

  • Attribute feedback to owners. See which accounts and their feedback are owned by which CSM or AE.

For a detailed guide on how to link user and account data to feedback across all your integrations, see Syncing Users and Accounts


Managing your integration

Viewing your integration

On the Integrations page, you'll see your HubSpot integration listed under either User Data or Account Data depending on what you connected. Click into it to see:

  • The connected HubSpot portal name

  • The HubSpot object being synced (Contacts, Companies, or the Custom Object you selected)

  • Record count and last sync timestamp

  • The metadata fields that are actively being ingested. You can choose what to hide by following the steps mentioned here Managing Metadata.

  • Connection status

Disabling an integration

If you want to temporarily pause syncing without losing your setup:

  1. Open the integration detail page.

  2. Toggle the integration to Disabled.

What happens: syncing stops, but your credentials, sync history, and configuration are all preserved. You can re-enable at any time and syncing resumes from where it left off.


Re-authorizing or disconnecting

When you'll need to re-authorize

HubSpot may invalidate Enterpret's access in a few situations:

  • You uninstall the Enterpret app on HubSpot's side.

  • A HubSpot admin revokes the Enterpret app's permissions.

  • A security event on your HubSpot account rotates credentials.

When this happens, your next Enterpret sync will fail, and you'll see a banner on the integration tile:

Connection expired. Click to re-authorize.

How to re-authorize

  1. Click the banner on the integration tile (or the Reconnect button on the integration page).

  2. You'll be redirected to HubSpot's authorization screen. Same flow as the initial setup.

  3. Click Install to re-grant access.

Your sync history, watermark, and configured object selection are all preserved. Syncing resumes from where it left off. No re-backfill needed.


FAQs

How fresh is the data in Enterpret?

  • Enterpret syncs HubSpot every 4 hours. Changes in HubSpot typically appear in Enterpret within that window.

Will this impact my HubSpot API usage?

  • Enterpret is conservative with HubSpot's API. We use HubSpot's search endpoint with pagination and respect all rate limits. For a typical portal, the integration uses a small fraction of your daily HubSpot API quota.

Can I connect multiple HubSpot portals?

  • Yes. Each portal is set up as a separate integration. Just repeat the setup flow with the second portal's credentials.

Can a non-admin in HubSpot set this up?

  • Only if they have been explicitly granted App Marketplace access in your HubSpot account. In most HubSpot accounts, installing third-party apps is restricted to Super Admins. If the person setting up Enterpret doesn't have this permission, they'll need to ask a HubSpot admin to install the app, or have the admin grant them the right permission first.

Does Enterpret sync only standard HubSpot properties, or also custom ones?

  • Both. Enterpret syncs every non-archived property on your chosen object. This includes HubSpot's native properties, calculated properties, hidden properties, and every custom property your team has created. You don't need to do anything special to get custom properties; they're picked up automatically.

Can I use a HubSpot Custom Object for my users or accounts instead of Contacts or Companies?

  • Yes. At setup, Enterpret's object selector shows all Custom Objects defined on your HubSpot portal alongside the standard Contacts and Companies options. If your team models user or account data on a Custom Object, pick that object at setup and Enterpret will ingest it the same way. All standard and custom properties on the Custom Object will be synced.

Can I sync only specific properties?

  • Not today. Enterpret syncs all non-archived properties on your chosen object. Properties with no values across any records don't show up in Enterpret.

Why don't I see all my HubSpot properties in Enterpret?

  • This is usually expected. Enterpret only materializes properties that have at least one non-null value in your records. If a property is genuinely empty across your entire object base, it won't appear. Most portals see about 50% of their HubSpot property catalog end up in Enterpret.

What happens to properties I add in HubSpot after I've connected?

  • Enterpret refreshes its property list every 4 hours. Any new properties you create in HubSpot (including new custom properties on your chosen object) will start getting ingested automatically within that window.

Is my data secure?

  • Yes. OAuth tokens are encrypted at rest in Enterpret's secure credential store. The integration is scoped to read-only permissions, so Enterpret can never modify your HubSpot data. Standard Enterpret security, privacy, and SOC 2 controls apply.


Did this answer your question?