The Userpilot HubSpot integration exists to fix a small daily unfairness, and in 2026, it is getting harder to ignore. Two users sign up for your product on the same morning, and HubSpot already knows they are nothing alike.

One arrived through an enterprise demo request and sits in a HubSpot list tagged as a high-value opportunity, with a named owner and a renewal date. The other found a blog post and signed up for self-serve. HubSpot sends them different emails all week.

Then they log in, and both see the same onboarding checklist built for nobody in particular. Every segment your marketing team spent years building stops at the product’s front door.

I’m a product manager at Userpilot, and I think that gap is the whole problem worth solving here. HubSpot already knows who the user is, so that knowledge should be used to decide what they see inside the product, which makes CRM segments the natural targeting layer for your in-app experiences. This guide covers what the integration syncs, four in-app experiences you can build with CRM data, and the constraints that quietly break a first sync.

demo CTA

What the Userpilot HubSpot integration syncs, in both directions

The Userpilot HubSpot integration moves data both ways, and the inbound half is where most of the value sits. Selected HubSpot user and company properties sync into Userpilot and update every 5 minutes, so your in-app targeting and segmentation always reflect the latest CRM data. Once the sync is active, the imported properties appear on the Users and Companies dashboards and in Data Management under the relevant property category.

What you pull in is up to you: lifecycle stage, plan information, lead status, and any custom CRM attributes you already rely on. Those become the inputs your in-app experiences branch on.

Outbound runs on three separate clocks. Custom properties sync every 5 minutes and send only what changed, auto and measured properties sync daily for the chosen Measured period, and user activity streams in real time as events occur.

Direction What moves Cadence
HubSpot to Userpilot Selected user and company properties Every 5 minutes
Userpilot to HubSpot Custom user and company properties Every 5 minutes, changed properties only
Userpilot to HubSpot Auto and measured properties Daily, for the selected Measured period
Userpilot to HubSpot User activity (events) Real time, as events occur

On the activity side, the integration can send a full range of Userpilot events into HubSpot. The complete list is below.

Activity type Events sent
Feature tags Event has occurred
Tracked events Event has occurred
Labeled events Event has occurred
Tagged pages Page has been viewed
Checklists Seen, Completed, Dismissed
Flows Seen, Completed, Dismissed
Mobile content Seen, Completed, Dismissed
NPS Ask Later, Feedback
Surveys Seen, Submitted, Dismissed
Forms Submitted

Then there is a choice specific to HubSpot that nobody else explains, and it changes what your data is good for. Userpilot activity can land as timeline events or as custom events, depending on whether you want a human to read the account’s story or a system to run analytics and automation off it.

Timeline events Custom events
Where it lands The HubSpot activity timeline, as a chronological view of user actions Structured event data
Best for Visibility and context, so sales, marketing, and CS can see what a user did and when Reporting and automation
Use it when You want a human to read the story of the account You want deeper analytics, funnel analysis, or workflows triggered off specific product behaviours

One note on access before you plan around it. The HubSpot integration is included in the Enterprise plan and is available as an add-on on Growth plans, so confirm your tier covers what you are about to build.

Four in-app experiences you can build with HubSpot data

The best reason to run the Userpilot HubSpot integration is what it lets you build once CRM data is inside Userpilot, deciding what each user sees. All four plays below are inbound, and each one keys off a HubSpot property you already maintain.

1. Onboard each segment differently on day one: Pull lifecycle stage and plan type into Userpilot and branch the onboarding on them, so an enterprise account that came through a demo request gets a different checklist from a self-serve signup. That is exactly the tailoring behind the 10.1% median completion problem from earlier, and it is how a product-led team reproduces the account-by-account onboarding that lifts sales-led activation rates.

2. Target flows by role and account, not by “new user.”: The integration lets you segment on HubSpot Contact and Company properties, so a walkthrough can key off the job title on the record or the plan the company bought. A product marketing manager and an engineer at the same account can be walked through different features. “New user” was never a useful segment, and now you do not have to settle for it.

3. Run renewal and expansion plays inside the product: Pull renewal dates, account status, and plan type into Userpilot to trigger contextual in-app messaging across the customer lifecycle, whether that means reminding customers about upcoming renewals, promoting premium features to accounts nearing an expansion opportunity, or introducing relevant capabilities after a key adoption milestone. The product itself becomes a lifecycle channel instead of leaning on email alone.

4. Send the right survey to the right list: Use HubSpot lists to decide who sees which in-app survey, so a churn-risk list gets a different question set from a healthy enterprise account. Feedback gets sharper when you segment the sample before you ask.

Deciding what to change is its own job, and it is where Lia fits rather than another standalone workflow. Lia is built to identify friction points, summarize customer feedback, surface behavioral patterns, and recommend where onboarding and adoption could improve. And your HubSpot segments then decide exactly which users receive the updated experience. It is rolling out progressively across the platform, with availability varying by plan and capability.

Userpilot Lia surfacing insights and recommendations
Lia points at where onboarding and adoption break; HubSpot segments decide who gets the fix.
šŸ’” Read related blog posts: Product personalization for SaaS in 2026

What does your product data do once it’s inside HubSpot

Run the Userpilot HubSpot integration the other way, and your product behavior becomes a CRM signal. This half is shorter on purpose because the in-app side is where most teams get the bigger win, but the outbound value is real.

Product usage enriches your contact records, so marketing, sales, and CS can decide on real in-app behavior. A completed onboarding checklist, a feature engaged, or an activation milestone reached can each trigger a HubSpot workflow, launching an onboarding sequence, a trial nudge, a renewal reminder, or an educational drip.

It also aligns three teams on one view, combining behavioral data from Userpilot with CRM and marketing data in HubSpot to sharpen lifecycle messaging, surface expansion opportunities, and improve health scoring. Once you save, the events appear under the Activity tab for a contact or company.

šŸ’” Read related blog posts: Userpilot Salesforce integration

Setting up the Userpilot HubSpot integration in six steps

Setting up the Userpilot HubSpot integration is simple once you run the steps in order, and the order matters more than it looks. Here is the whole thing, start to finish.

1. Connect and authenticate: Open the Integrations page from the Settings icon in the navigation header, click the HubSpot tile, and sign in to the HubSpot account you want to connect. This is the OAuth handshake that links the two platforms.

Connect and authenticate
Connect and authenticate.

2. Review the connection overview: Before you point anything at production, toggle “Send and receive staging data only” to validate field mappings and test workflows without touching live users. It is genuinely worth using, and skipping it is how test data ends up on real contact records.

3. Set up mapping: Select the HubSpot objects to map Userpilot Users and Companies to, remembering that some HubSpot objects cannot receive activity data, so the object you pick here constrains what you can send later. Then choose the Userpilot property and HubSpot field used to match records, where the values must be identical in both platforms and email is the most reliable match for user-level data, because incorrect mappings are one of the most common reasons syncs fail or produce duplicates.

mapping setup
Mapping setup in Userpilot.

4. Sync HubSpot to Userpilot: Select the properties to sync inbound, and they will update every 5 minutes once live. They become available on the Users and Companies dashboards and in Data Management, ready for targeting and segmentation.

Sync HubSpot to Userpilot
Sync HubSpot to Userpilot.

5. Sync Userpilot to HubSpot: Select custom properties, auto and measured properties, and activity, then choose timeline events or custom events per the table above. Inbound has to have run first, or this step has nothing to key off.

Sync Userpilot to HubSpot
Sync Userpilot to HubSpot.

6. Review, test, then sync: Testing shows how selected users will be mapped and flags failures as a read-only preview where nothing is changed or synced, and once it validates, you enable full production sync. You can trigger a manual sync any time and turn on sync notifications for email alerts when a sync fails, after which events show up under the Activity tab on a contact or company record.

Review, test, then sync.
Review, test, then sync.

The constraints that quietly break a first sync

Most of what goes wrong with the Userpilot HubSpot integration is not a bug; it is a constraint that is documented and easy to miss. These are the ones worth knowing before you start, ordered by how much time they cost.

Outbound returns zero records until inbound has run: Before any outbound sync from Userpilot to HubSpot can do anything, you must complete an inbound sync from HubSpot to Userpilot first. The inbound sync populates the __hubspot__object_type and __hubspot__user_id / __hubspot__company_id fields that outbound depends on, and without them the outbound sync processes 0 records and looks broken when it is only out of order.

Your data is there, and HubSpot is hiding it: By default, the filters for Integrations and Custom Events on the Activity tab are switched off, so a correctly working sync looks like a dead one. Switch those filters on, and the afternoon you would have spent debugging disappears.

There is no historical backfill: The integration syncs only new events after you enable it, never past ones. If you want usage history in HubSpot, the clock starts the day you turn it on, which is a real argument for turning it on before you think you need it.

Users must already exist in both systems: Userpilot does not create new users in HubSpot, so a user who is not already in HubSpot syncs nothing at all.

Your object choice limits what you can send: Because some HubSpot objects cannot receive activity data from Userpilot, decide on your mapping objects with the events you actually want to send already in mind.

Field types have to match the data: A measured property arriving as seconds in a HubSpot text field will not behave, so match the format to the HubSpot property type.

Userpilot data Format HubSpot property type
Measured properties (e.g. time spent on application) Integer, total seconds. 9000 seconds = 150 minutes = 2.5 hours. Minutes = Ć·60, hours = Ć·3600, days = Ć·86400 Number
Date (e.g. signup_date) YYYY-MM-DD, e.g. 2024-01-15 date
DateTime (e.g. last_seen, created_at) YYYY-MM-DDTHH:mm:ssZ, e.g. 2024-01-15T10:30:00Z datetime

The good news comes last. On version 2 of the integration, you do not re-run mappings by hand, so if a mapped value changes in HubSpot, for example, a contact’s email is updated after you mapped on email, the poll strategy detects it on the next poll cycle and re-maps automatically.

Turn your CRM segments into in-app experiences

The Userpilot HubSpot integration takes the segmentation your marketing team already trusts and lets it decide what happens inside the product, which is the one place your CRM data has never reached. It is included in Enterprise and available as a Growth add-on. If you want to watch it run on your own HubSpot segments, book a demo.

demo CTA

About the author
Abrar Abutouq

Abrar Abutouq

Product Manager

Product Manager at Userpilot – Building products, product adoption, User Onboarding. I'm passionate about building products that serve user needs and solve real problems. With a strong foundation in product thinking and a willingness to constantly challenge myself, I thrive at the intersection of user experience, technology, and business impact. I’m always eager to learn, adapt, and turn ideas into meaningful solutions that create value for both users and the business.

All posts