HubSpot Integration
The HubSpot integration provides full bidirectional sync between EventWorks and HubSpot CRM. Accounts sync as companies, contacts sync as contacts, and events sync as deals — in both directions. You can configure detailed field mappings, status-to-deal-stage mappings, and lifecycle stage filters to control exactly what data flows between the two systems.
Getting There
Go to Settings > Integrations and find the HubSpot card. Click Connect to begin setup, or click the Settings (wrench icon) button if you're already connected.
Overview
Once connected, HubSpot handles:
- Accounts ↔ Companies — Automatically synced in both directions when records are created or updated
- Contacts ↔ Contacts — Automatically synced in both directions with full field mapping
- Events ↔ Deals — Synced with status-to-deal-stage mapping, including budget, dates, and custom fields
- Associations — Deals are automatically linked to their company and contact in HubSpot
- Webhooks — Changes made in HubSpot are pushed back to EventWorks in real time
- Bulk export — Push existing data to HubSpot with date range filtering
Key Concepts
Bidirectional Sync
Unlike most EventWorks integrations, HubSpot sync works in both directions:
- Outbound: When you create or update an account, contact, or event in EventWorks, it's automatically pushed to HubSpot.
- Inbound: When someone creates or updates a company, contact, or deal in HubSpot, the change is pushed to EventWorks via webhooks.
Changes made by the integration itself are ignored to prevent infinite loops.
Property Mapping
You control exactly which fields sync between EventWorks and HubSpot. On the settings page, you map each EventWorks field to a HubSpot property. Only mapped fields are synced — unmapped fields are left untouched in both systems.
Status-to-Deal-Stage Mapping
EventWorks event statuses map to HubSpot deal pipeline stages. This mapping controls:
- Which deal stage is assigned when an event is pushed to HubSpot
- Which events are eligible for syncing (only events with a mapped status are sent)
- How inbound deal stage changes translate to EventWorks status updates
Lifecycle Stage Filtering
You can filter which contacts and accounts sync based on their HubSpot lifecycle stage. This lets you limit syncing to records at specific stages (e.g. only sync "Marketing Qualified Lead" or "Customer" contacts).
How To...
Connect to HubSpot
- Go to Settings > Integrations.
- Click the HubSpot card, then click Connect to HubSpot.
- You'll be redirected to HubSpot to authorise access.
- Grant permission and you'll be redirected back to EventWorks.
- You'll land on the HubSpot settings page to configure your field mappings.
Configure Account Mapping
- Go to the HubSpot settings page (Settings > Integrations > HubSpot).
- Find the Account property mapping section.
- For each EventWorks field, select the corresponding HubSpot Company property from the dropdown.
- Click Save.
Available account fields include: Name, Website, Type, Address, City, Region, Postcode, Country, HubSpot owner, plus any custom attributes you've defined for accounts.
Configure Contact Mapping
- On the HubSpot settings page, find the Contact property mapping section.
- For each EventWorks field, select the corresponding HubSpot Contact property.
- Click Save.
Available contact fields include: Honorific, First Name, Last Name, Email, Phone, Mobile, Pronouns, Position, Address, City, Region, Postcode, Country, LinkedIn, Birthday, HubSpot owner, Type, plus any custom attributes.
Configure Event/Deal Mapping
- On the HubSpot settings page, find the Event property mapping section.
- For each EventWorks field, select the corresponding HubSpot Deal property.
- Click Save.
Available event fields include: Name, Code, Description, Start Date, End Date, Created At, Updated At, Contracted At, Client Budget, Estimated Price, Estimated Profit, Reported Price, Reported Profit, Reported Revenue, Pipeline Profit, Guests, Type, Source, Status, Manager, HubSpot owner, HubSpot amount, Lost Reason, Lost Reason Other, plus any custom attributes.
Note: Date fields are automatically converted between EventWorks date format and HubSpot's timestamp format.
Map Event Statuses to Deal Stages
- On the HubSpot settings page, find the Status property mapping section.
- For each EventWorks event status, select the corresponding HubSpot deal pipeline stage from the dropdown.
- Click Save.
Note: Only events whose status has a mapped deal stage will be synced to HubSpot. If a status is left unmapped, events with that status won't be sent.
Set Up Lifecycle Stage Filtering
- On the HubSpot settings page, find the Lifecycle Stages section.
- Under Contacts lifecycle stages, select which lifecycle stages to include in the sync.
- Under Accounts lifecycle stages, select which lifecycle stages to include.
- Click Save.
Tip: Leave both fields empty to sync all contacts and accounts regardless of lifecycle stage.
Run a Bulk Export
If you have existing data that needs to be pushed to HubSpot:
- On the HubSpot card, click Export Accounts, Contacts and Events to HubSpot.
- In the modal, configure:
- Click Export Accounts, Contacts and Events to HubSpot.
The export runs as a background job. Large datasets are processed in batches, so it may take some time to complete.
Disable the HubSpot Integration
- Go to Settings > Integrations and find the HubSpot card.
- Click the Disable button.
Warning: Disabling HubSpot stops all automatic syncing and webhook processing. Data already in HubSpot is not affected.
What Gets Synced
Outbound (EventWorks → HubSpot)
| EventWorks Record | HubSpot Record | Trigger | Notes |
|---|---|---|---|
| Account | Company | Automatic on save | Matched by name or HubSpot ID |
| Contact | Contact | Automatic on save | Matched by email or HubSpot ID; associated to company |
| Event | Deal | Automatic on save | Only if status is mapped; associated to company and contact |
Inbound (HubSpot → EventWorks)
| HubSpot Record | EventWorks Record | Trigger | Notes |
|---|---|---|---|
| Company created/updated | Account | Webhook | Filtered by lifecycle stage |
| Contact created/updated | Contact | Webhook | Filtered by lifecycle stage |
| Deal created/updated | Event | Webhook | Only if deal stage is mapped to a status |
Settings & Configuration
All HubSpot settings are managed at Settings > Integrations > HubSpot. You need the edit settings permission.
| Setting | Description |
|---|---|
| Account property mapping | Map EventWorks account fields to HubSpot company properties |
| Contact property mapping | Map EventWorks contact fields to HubSpot contact properties |
| Event property mapping | Map EventWorks event fields to HubSpot deal properties |
| Status property mapping | Map EventWorks event statuses to HubSpot deal stages |
| Contact lifecycle stages | Only sync contacts at these HubSpot lifecycle stages |
| Account lifecycle stages | Only sync accounts at these HubSpot lifecycle stages |
Tips & Best Practices
Tip: Map your custom attributes (defined in Settings > Custom Attributes) to HubSpot custom properties for a fully tailored sync. Both standard and custom fields appear in the mapping dropdowns.
Tip: Use the Skip records already sent to HubSpot option during bulk exports to avoid duplicating records that have already been synced.
Tip: Set up your status-to-deal-stage mapping before enabling the sync. This ensures events are placed in the correct pipeline stage from the start.
Note: The HubSpot integration processes sync actions in the background. If data doesn't appear immediately in either system, allow a few moments for the background jobs to complete.
Frequently Asked Questions
Q: Will changes in HubSpot overwrite my EventWorks data?Only mapped fields are updated. If a HubSpot property changes and it's mapped to an EventWorks field, that field will be updated. Unmapped fields are never touched.
Q: Why aren't some of my events appearing in HubSpot?Only events whose status has a mapped deal stage are synced. Check your Status property mapping to ensure the relevant statuses are mapped.
Q: How are duplicates prevented?EventWorks stores the HubSpot ID on each synced record. On subsequent syncs, it updates the existing HubSpot record rather than creating a duplicate. If the HubSpot ID is missing, it falls back to matching by name (accounts), email (contacts), or event code (deals).
Q: Can I sync custom attributes?Yes. Any custom attributes defined in Settings > Custom Attributes for accounts, contacts, or events will appear in the mapping dropdowns alongside the standard fields.
Q: What happens if I delete a record in HubSpot?Deleting a record in HubSpot does not automatically delete it in EventWorks. The next time EventWorks tries to sync that record, it will detect the HubSpot ID is no longer valid and may create a new record in HubSpot.
Q: Can I filter which lifecycle stages sync?Yes. Use the Lifecycle Stages section on the settings page to select which stages to include. Records at other stages (or with no stage) are skipped during inbound sync.