HubSpot Integration
Sync your HubSpot CRM contacts and companies with Propstreet automatically.
Overview
| Feature | Support |
|---|---|
| Market | Global (Nordic-wide) |
| Sync Direction | Bidirectional |
| Real-time Updates | Yes (customer-managed sync) |
| Contacts | ✅ Full support |
| Companies | ✅ Full support |
Data Mapping
Contact Fields
| HubSpot | Propstreet | Notes |
|---|---|---|
| First Name | First Name | |
| Last Name | Last Name | |
| Primary email synced | ||
| Phone / Mobile | Phone | Mobile preferred |
| Job Title | Job Title | Synced to company connection |
| Company | Connection | Links contact to company |
| Lifecycle Stage | Tags | Mapped as tag (e.g., "customer") |
Note: HubSpot supports additional emails. We sync the primary email to Propstreet's email field.
Company Fields
| HubSpot | Propstreet | Notes |
|---|---|---|
| Company Name | Name | |
| Domain | External Reference | Used for matching |
| Country | Country Code | ISO 2-letter code |
| Organization Number | External Reference | Custom property setup |
How Sync Works
HubSpot → Propstreet
You control the sync through your own integration layer:
- Configure HubSpot to send webhooks to your middleware (e.g., Zapier, Make, Azure Logic Apps, or custom service)
- Your middleware transforms and pushes data to Propstreet via our API
- Records are matched using email or company domain and created/updated in Propstreet
This gives you full control over sync timing, filtering, and data transformation.
Propstreet → HubSpot
When you update a contact in Propstreet:
- Your integration layer polls the Propstreet API for changes (using
updated_since) - Changes are transformed and pushed to HubSpot via their API
- Your HubSpot records stay in sync
Duplicate Handling
We use smart matching to prevent duplicates:
- Contacts: Matched by email address first, then HubSpot record ID
- Companies: Matched by domain, then organization number (if configured)
If we detect a potential duplicate, we update the existing record rather than creating a new one.
Field Considerations
Multiple Emails
HubSpot supports additional email addresses per contact. Propstreet syncs the primary email only; additional emails remain in HubSpot but are not synced.
Phone Numbers
HubSpot has separate fields for phone and mobile phone. We prefer the mobile number for Propstreet; if mobile is empty, we use the main phone number.
Job Title and Company
HubSpot stores job title directly on the contact record. In Propstreet, job title is part of the company connection. When syncing:
- The contact's job title maps to their primary company connection in Propstreet
- If a contact is associated with multiple companies in HubSpot, the primary association is used
Lifecycle Stage
HubSpot's lifecycle stages (subscriber, lead, customer, etc.) are mapped to Propstreet tags. For example, a "Customer" lifecycle stage becomes a lifecycle-customer tag.
Organization Number (Nordic)
HubSpot doesn't have a built-in organization number field. For Nordic markets, create a custom property in HubSpot to store:
- Norway: Organisasjonsnummer
- Sweden: Organisationsnummer
- Denmark: CVR-nummer
- Finland: Y-tunnus
This enables accurate company matching via Propstreet's externalRefs field.
Setup Requirements
To build a HubSpot integration, you'll need:
- HubSpot Account - Professional or Enterprise tier recommended for webhook support
- Propstreet API Credentials - Generate in your account settings
- Integration Layer - Middleware to handle webhooks and API calls (Zapier, Make, Azure Logic Apps, n8n, or custom)
- HubSpot Custom Properties - Create any additional fields you need (e.g., organization number)
Getting Started
- Generate Propstreet API credentials in your account settings (requires login)
- Review the Propstreet API documentation for endpoints and data models
- Set up your integration layer to sync data between HubSpot and Propstreet
- Create any custom properties needed in HubSpot
- Test with a small dataset before full rollout
You're responsible for building and maintaining the integration.
Frequently Asked Questions
Which HubSpot plans support the integration?
The integration works with all HubSpot plans. However, HubSpot webhook support (for real-time sync to your middleware) requires Professional or Enterprise tier.
How often does data sync?
Sync frequency depends on how you configure your integration layer:
- Real-time: Use HubSpot webhooks (Pro/Enterprise) to trigger immediate syncs
- Scheduled: Poll both APIs on a schedule (e.g., every 15 minutes, hourly)
- Manual: Trigger syncs on-demand
What happens to data if I stop syncing?
Your data remains in both systems. No data is deleted. Use externalRefs to maintain record linkage if you resume syncing later.
Can I choose which contacts to sync?
Yes. Your integration layer controls which records to sync. Common filtering approaches:
- HubSpot lists or segments
- Contact properties (e.g., only sync contacts with certain tags)
- Company associations
How should I handle merge conflicts?
Design your integration layer to handle conflicts. Common approaches:
- Last write wins: Use timestamps to determine the most recent change
- Source of truth: Designate one system as authoritative for specific fields
- Manual review: Flag conflicts for human review