The Userflow-HubSpot integration creates a powerful bridge between your customer data and onboarding experiences through bidirectional, near real-time syncing. This integration enables you to deliver personalized onboarding content based on HubSpot data while automatically tracking user engagement in HubSpot.
What this integration does
Sync customer data for personalization: HubSpot contact, company, deal, and custom object properties sync to Userflow, enabling you to target flows based on customer segments, subscription tiers, industry, or any other HubSpot data.
Track engagement automatically: Userflow-generated events such as Flow Started, Checklist Task Completed, and survey responses stream directly into HubSpot as Timeline Events. View these on contact profiles and trigger automated workflows, such as sending follow-up emails when users complete onboarding steps.
Maintain data consistency: Changes in either system sync within seconds, ensuring your team always works with up-to-date information across both platforms.
Ready to get started? Find setup instructions below, or visit our HubSpot marketplace listing for a complete demo video.
How it works
The integration operates through flexible object mappings between HubSpot and Userflow. You can connect HubSpot contacts to Userflow users, HubSpot companies to Userflow companies, or create custom mappings based on your data structure.
Supported HubSpot objects
Contacts: Individual users and customers
Companies: Organizations and accounts
Deals: Sales opportunities and transactions
Custom objects: Any custom data structures you've created
Matching and syncing
Objects are matched using ID fields you specify during setup. Common approaches include matching by email address or using a shared ID from your backend database. Field syncing works bidirectionally—bring HubSpot properties into Userflow for targeting, or send Userflow data such as NPS scores back to HubSpot.
Near real-time performance
Syncing happens in near real-time with minimal delay:
Userflow changes: Reflected in HubSpot in under 1 second
HubSpot changes: Typically appear in Userflow within 3-10 seconds
Objects sync immediately when created or updated in either system; no need to wait for scheduled jobs.
Smart syncing rules
The integration only syncs objects that exist in both systems, preventing the creation of unwanted data. For example, newsletter-only HubSpot contacts won't create corresponding Userflow users unless they use your product.
HubSpot properties appear on Userflow user and company profiles, clearly marked with the HubSpot sprocket icon for easy identification:
You can use them in auto-start conditions to target users based on HubSpot properties:
When enabled, Userflow tracks specific events—such as flow starts and checklist task completions—and posts them to the Activity tabs of contacts and companies in HubSpot. To view these activities, first enable Userflow tracking by clicking the Filter activity button:
Then they’ll appear like this:
You can also use these events in workflows, for example, to send an email when a user completes a checklist task:
You can even filter on event attributes, such as the name of the checklist task that was completed:
Important: HubSpot account and Userflow environment pairing
Each HubSpot-Userflow integration connects one HubSpot account to one Userflow environment. This means you'll need to complete the setup process separately for each environment you want to integrate.
Best Practice for Production vs. Staging
For your production setup, integrate your main HubSpot account with your Production Userflow environment.
⚠️ Critical for Staging Environments
If you're using a Staging Userflow environment to test the HubSpot integration, create a separate test HubSpot account for this purpose. Using your main HubSpot account with a Staging environment will cause test timeline events to appear in your production HubSpot data, which could affect your live customer records.
Setup guide
Sign in to Userflow and use the top-right company/environment menu to navigate to the environment you want to integrate with HubSpot.
Go to Settings > Integrations. Then click Add integration.
Find and click HubSpot in the list:
Click Add HubSpot (activate/upgrade your plan if you don’t yet have access):
Click Connect with HubSpot. In the popup window that opens, pick the HubSpot account you want to sync with the current Userflow environment.
Next, we need to instruct the integration on how to map HubSpot objects to Userflow objects. Click Set up a new mapping between HubSpot and Userflow objects.
In the dialog that appears, pick the HubSpot object type and the Userflow object type you want to sync. For example: HubSpot contacts and Userflow users. Then click Continue.
Choose how we should match objects from HubSpot with objects in Userflow.
If you’re syncing HubSpot contacts with Userflow users, you have two options:
Via email address, where a HubSpot contact’s email address must match a Userflow user’s email address. Pick “Email” in both dropdown fields.
Via a HubSpot ID property, which must match the user ID your Userflow.js snippet passes to
userflow.identify(userId)
. This requires your own integration between your own backend and HubSpot to store this user ID as a contact property in HubSpot.
If you’re syncing with Userflow companies:
Requires your Userflow.js installation to call
userflow.group(companyId)
, and the selected HubSpot company ID property must match this samecompanyId
.
Choose the fields you want to sync from HubSpot to Userflow. Note that you’re also able to pick fields from associations of the mapped HubSpot object. For example, when syncing HubSpot contacts, you can also select company fields in the dropdown. The integration will take the value from the contact’s company.
Choose the fields you want to sync from Userflow to HubSpot. Once you save, appropriate properties prefixed with
userflow_<object>_
will automatically be created in HubSpot under a property group named “Userflow.”If you want Userflow to post timeline events to HubSpot objects’ Activity tab when, for example, flows are started or checklist tasks are completed, you can either stream all events or select events to stream:
Use the toggle switch to turn Stream events to ON. Note that only some HubSpot objects support receiving events.
Select either Stream all events or Select events to stream and select each event you want to stream.
Finally, click Save mapping.
Userflow will now sync with HubSpot every time objects are created/updated in either system. Existing objects have not yet been synced. Click Run full sync to start an initial full sync of all objects.
The UI shows you a running progress, and a green checkmark when it’s done. If you change your mappings later, we recommend running a full sync again to make sure all existing users are in sync. We also run this full sync periodically (currently every ~24 hours), just to make sure we didn’t miss any updates from HubSpot.
You can add multiple object mappings. For example, HubSpot contacts <—> Userflow contacts and HubSpot companies <—> Userflow companies.
Stopping the integration
Find your HubSpot integration in Userflow under Settings -> Integrations.
Click the three-dot button in the top right.
Click Disconnect. Event streaming and property sync will stop immediately.
Finally, uninstall the Userflow app in your HubSpot account by following HubSpot’s instructions here.