March 24, 2025 | 8 min read

Overview

HubSpot logo

The Eventact HubSpot Interface automatically updates HubSpot with your latest event registrations. For each registrant, it creates or updates a HubSpot contact and can generate a deal for every ticket sold. This allows you to track attendee engagement and event revenue directly in HubSpot.

Synchronization can run:

Set up the interface once per company under Settings > Integrations > HubSpot. The configuration applies to all company events.

Contacts

Eventact searches for each registrant in HubSpot using the synchronization key, which defaults to email. The next steps depend on whether a match is found:

In addition to your field mapping, Eventact always updates these contact properties (group Eventact):

HubSpot propertyValue
Last Event NameEvent name
Last Event DateEvent date
Last Event Reg StatusRegistration status
Last Event AttendanceTrue if the participant checked in, False if not

Deals

When Create deal for each order is enabled, Eventact creates a HubSpot deal for each ticket purchased. Each deal is linked to the contact holding the ticket. If tickets are purchased for others, Eventact assigns each deal to the ticket holder's contact. If no contact exists for the holder, Eventact assigns the deal to the buyer.

Deals are created only once. Eventact uses the Event Order ID to identify existing deals, preventing duplicates or unwanted updates during future synchronizations.

HubSpot deal propertyValue
Deal NameInternal ticket name
AmountSale amount
Close DateOrder date (event time zone)
PipelineThe pipeline you selected, or the default pipeline
Deal StageThe stage you selected; Closed Won by default
Deal TypeNew Business if the contact was just created, Existing Business if it was already in HubSpot

Eventact also populates these custom properties (group Eventact Deal):

HubSpot deal propertyValue
Ticket TypeInternal ticket name
Event NameInternal event name
Event Registration DateRegistration date
Event Payment StatusPayment status
Event Reg IDRegistration number
Event Order IDEventact order reference (unique, used to prevent duplicates)

Setup

Setup involves two steps: create a Private App in HubSpot to obtain an Access Token, then enter the token and your synchronization options in Eventact.

1. Create a HubSpot Private App

You must be a HubSpot super admin to do this.

  1. In HubSpot, click Settings, then go to Integrations > Private Apps.
  2. Click Create private app and name it Eventact.
  3. On the Scopes tab, grant read and write access to contacts and deals, plus permission to create properties. The recommended scopes are:
    • crm.objects.contacts.read and crm.objects.contacts.write
    • crm.objects.deals.read and crm.objects.deals.write
    • crm.schemas.contacts.read and crm.schemas.contacts.write
    • crm.schemas.deals.read and crm.schemas.deals.write
  4. Create the app and copy its Access Token.

Eventact uses HubSpot's Private App Access Token; HubSpot no longer supports older API keys.

HubSpot Private App Access Token

2. Connect Eventact

  1. In the Eventact back office, go to Settings > Integrations > HubSpot.
  2. Paste the token into the Access Token field and click Save. Synchronization options and field mapping will appear after you enter the token.
  3. Set the synchronization options:
OptionWhat it does
Synchronize with HubSpot after registrationSends each registration to HubSpot as soon as it is submitted
Synchronization keyHow registrants are matched to HubSpot contacts. Email (the default) is an exact match and is recommended
Create new contacts asContact creates registrants missing from HubSpot; Do not create new contacts only updates existing ones
Registrations to synchronizeWhich registrations are sent: Submitted (includes approved), Submitted and Potential, or Arrived
Create deal for each orderCreates a deal per ticket (see Deals)
Deal pipeline / Deal stageWhere new deals go. Leave the default pipeline, or pick a custom pipeline and a stage (a stage is required for custom pipelines)
ResyncManual - On request, or Daily for an automatic daily sync
  1. Review the field mapping (see Field mapping) and click Save. When you save, Eventact creates its property groups and properties in HubSpot.

To run a manual sync, open the event's Registrants page and select CRM Sync from the menu. The page displays the number of registrations created, updated, failed, or skipped.

Field Mapping

Field mapping determines which Eventact fields synchronize with which HubSpot contact properties, and in which direction. A new setup begins with this default mapping:

Eventact fieldHubSpot property
First Namefirstname
Last Namelastname
Emailemail
Titlesalutation
Job Titlejobtitle
Organizationcompany
Mobile Phonemobilephone
Websitewebsite

To add a mapping, select an Eventact field (including custom registration fields), choose a HubSpot property from the searchable list, and click Add. If the HubSpot list is empty, click Get Fields.

Each mapping has an action:

ActionEffect
Read and WriteSyncs both ways, filling gaps only: a HubSpot value fills an empty Eventact field, and an Eventact value fills an empty HubSpot property. Existing values are never overwritten
Read from HubSpotHubSpot updates Eventact only, overwriting the Eventact value
Write to HubSpotEventact updates HubSpot only, overwriting the HubSpot value
View data onlyShown for comparison, never changed

Empty values are never synced in either direction: an empty HubSpot value never clears a field in Eventact, and an empty Eventact value never clears a property in HubSpot. Use Read from HubSpot only for fields where HubSpot is the single source of truth, and Read and Write for shared data such as company name and job title.

The Eventact (contact) and Eventact Deal property groups are created in HubSpot automatically when you save the settings. These properties can then be used in HubSpot lists, reports, and workflows like any other property.

Eventact HubSpot field mapping

Sync with CRM During Registration

Page Behavior options in the form editor with Sync with CRM on Next selected

A registration form page can synchronize with HubSpot when the guest clicks Next, allowing data from HubSpot to guide the rest of the form. A common use is to complete participant details from HubSpot, such as membership or customer status.

  1. On the first page, the guest enters identifying details, such as their email.
  2. On Next, Eventact finds the contact in HubSpot and pulls in the mapped fields.
  3. The next page loads with updated data, letting form logic use it. For example, you can show or skip pages based on participant status.

To set it up:

  1. In the HubSpot field mapping, map the HubSpot property you need (for example, a status property) to an Eventact registration field, with the action Read from HubSpot or Read and Write.
  2. In the registration form editor, open the page where the guest enters their details and turn on Sync with CRM on Next in the page options.
  3. On later pages, add page rules or field logic based on the field filled from HubSpot.

This synchronization runs regardless of the Synchronize with HubSpot after registration setting or the Registrations to synchronize option, because the form page itself triggers it. The page must collect the synchronization key (email by default), or it cannot find the contact.

Sync a Single Registrant from the Back Office

Organizers can review and resynchronize individual registrants from the registrant's overview page. Open the registrant, go to the About tab, and locate the CRM card. The card appears when the event's company has a connected CRM.

For each connected CRM, the card shows:

Two actions are available:

ActionWhat it does
Sync with CRMSyncs this registrant now, using the same matching and field mapping as a full sync
View CRM DataShows each mapped field side by side: the Eventact value and the HubSpot value. Read-only; it changes nothing. Shown only when a HubSpot contact is linked

Use View CRM Data to identify why a value differs between Eventact and HubSpot, then click Sync with CRM to update the information.

This is the primary troubleshooting tool when a sync fails or a value is not updated. HubSpot may reject values that do not match the property's definition. For example, dropdown, radio, or checkbox properties accept only specific values. If the Eventact answer is not among these, HubSpot rejects the entire update and no fields change. The registration's change log records the sync failure but does not specify the field. Compare the two columns in View CRM Data to identify differing values. Look for answers that HubSpot would not accept, such as those missing from the property's options. Resolve the issue by aligning Eventact answer options with the allowed HubSpot values, then sync again.

The CRM card on the registrant's About tab with View CRM Data open, showing Eventact and CRM values side by side
The CRM card with View CRM Data open. Salesforce is shown; the HubSpot card looks the same.

Notes and Troubleshooting

The most common cause of a failed sync is a value HubSpot rejects, often because a mapped property allows only specific values. Use View CRM Data on the registrant (see above) to identify the field.

Looking for a quick answer? See the Registration FAQ: Reports, Exports, and Integrations.

Read more