HubSpot data-in integration

PremiumThis feature is available for Premium plans. EnterpriseThis feature is available for Enterprise plans. BetaThis feature is new and we're actively working on it. Updated

The HubSpot source lets you activate your CRM data in Customer.io. With this integration, you can identify and automatically message people as you add them to Hubspot—follow up with leads, message contacts when it’s time to renew their contracts, and so on. This makes HubSpot a part of your larger marketing stack without needing developers to write a complicated integration.

How it works

Customer.io gets data from HubSpot through syncs. You’ll connect Customer.io to HubSpot, and then set up syncs for the kinds of HubSpot records you want to bring into Customer.io. Each sync brings in a type of HubSpot record on a regular interval and maps that data to Customer.io.

When a sync first runs, it brings in the complete set of HubSpot records that match your sync settings. Subsequent syncs bring in records that changed since the previous sync interval. This keeps your HubSpot data up to date in Customer.io without importing the complete data set every time.

flowchart LR hubspot[HubSpot records] template[Choose a sync template
or configure a custom sync] mapping[Map records to Customer.io data] settings[Select fields, identifiers,
destinations, and an interval] initial[Initial sync imports
all matching records] updates[Later syncs import
changed records] hubspot --> template --> mapping --> settings --> initial --> updates

Prerequisites

To connect HubSpot to Customer.io, you need:

  1. A HubSpot account with API access enabled.
  2. A HubSpot user who can authorize Customer.io through OAuth and access the data you want to sync.

Set up your HubSpot integration

When you connect HubSpot, we provide sync templates for common data types: contacts and companies. We recommend that you start with these templates to get up and running. For other HubSpot record types, see Mapping HubSpot data to Customer.io.

  1. Go to Integrations. In the Directory tab, pick the HubSpot Data In integration.
  2. Give the integration a friendly Name so you’ll recognize it in Customer.io, and click Connect HubSpot.
  3. Choose the HubSpot account you want to connect to Customer.io and click Choose Account.
  4. Review the permissions you’ll grant to Customer.io. If you accept, click Connect app.
  5. Choose the kind of HubSpot data you want to sync to Customer.io. In general, we recommend starting with Sync contacts because contacts map to people.
    HubSpot sync templates showing the Sync contacts and Sync companies buttons
    HubSpot sync templates showing the Sync contacts and Sync companies buttons
  6. Click Add fields to determine the data you want to bring in for each HubSpot record. When you’re done, click Save and preview. From here you can:
    • Manually select the fields you want to add.
    • Enter a prompt under How do you want to use this sync? (if AI is enabled) and Customer.io will suggest fields based on your goals. For example, you might want to “send onboarding messages based on lead source” or “segment companies by industry.” We try to exclude fields that aren’t typically useful for segmentation, campaign targeting, or personalization. Fields added by AI show a sparkle badge in the field list.
      HubSpot sync fields showing the fields you can add to your sync
      HubSpot sync fields showing the fields you can add to your sync
  7. Review your sync. We’ll show you which fields you’re going to sync and the total number of records your sync will add. Make sure you’re syncing the right data and that the total number of records looks right to you.
  8. Click Enable sync and choose a sync interval: 1 hour, 6 hours, 24 hours, or a custom interval.

The Syncs tab shows the status of your sync. If you go into , you should begin seeing your HubSpot data, though it may take a few minutes to populate all your people and objects.

 We remove the properties. prefix from HubSpot field names

By default, HubSpot field names contain a properties. prefix like properties.fieldName. When we bring data into Customer.io, we remove this prefix to make field names easier to use, so properties.fieldName becomes fieldName.

Add syncs

After initial setup, you can add more syncs to import other kinds of data from HubSpot.

Go to your HubSpot integration’s Syncs tab and click Add Sync. From here you can choose a template if one fits, or configure the fields and identifiers yourself in the full sync editor. To learn more about whether your data types are people, objects, or events, see Mapping HubSpot data to Customer.io.

 Don’t sync forms or form submissions with this source

We’re working on a solution to make forms easier to sync from HubSpot. In the meantime, you’ll have a better experience handling submissions as webhooks from HubSpot instead. See Syncing forms for more information.

Configure a sync with a template

Today we offer simple templates to bring in contacts and companies from HubSpot. To bring in other types of HubSpot data, you’ll need to configure a custom sync.

  1. Go to your HubSpot integration’s Syncs tab and click Add Sync.
  2. Select your sync template—Sync contacts or Sync companies.
    HubSpot sync templates showing the Sync contacts and Sync companies buttons
    HubSpot sync templates showing the Sync contacts and Sync companies buttons
  3. Click Add fields to determine the data you want to bring in for each HubSpot record. From here you can manually select the fields you want to add or enter a prompt we can use to suggest fields based on your goals. When you’re done, click Save and preview.
    HubSpot sync fields showing the fields you can add to your sync
    HubSpot sync fields showing the fields you can add to your sync
  4. Review your sync. We’ll show you which fields you’re going to sync and the total number of records your sync will add. Make sure you’re syncing the right data and that the total number of records looks right to you.
  5. Click Enable sync and choose a sync interval: 1 hour, 6 hours, 24 hours, or a custom interval.

Configure a custom sync

When you’re configuring a sync manually:

  1. Go to your HubSpot integration’s Syncs tab and click Add Sync.

  2. Click Configure a custom sync.

  3. Pick the kind of HubSpot record you want to send to Customer.io in the Sync dropdown. See Mapping HubSpot data to Customer.io for more information about the kinds of data you can sync and how best to map it to Customer.io.

  4. Give your sync a Name, something that describes the data you’re importing and what you’re mapping it to.

    HubSpot sync custom sync showing the sync name and sync type
    HubSpot sync custom sync showing the sync name and sync type

  5. Click Edit next to Unique identifiers to map your identifier, the field that uniquely identifies each person or object. See Setting identifiers for more information.

  6. Go to the Fields tab and pick the fields you want to capture in Customer.io. HubSpot contains a lot of data, not all of which is useful in Customer.io.

  7. Go to the Pipelines format tab and tell us what kind of data you’re sending. For popular HubSpot data types, we set these fields for you. For example, contacts are people and companies are custom objects.

    If your Data Pipelines format is set to Custom Object, you need to map the data to a custom objectAn object is a non-person entity that you can associate with one or more people—like a company, account, or online course. in Customer.io. In most cases, this is the same name as the HubSpot object you want to sync. If the object doesn’t exist yet, click New Object Type and set the singular and plural forms, like Company and Companies. See Mapping HubSpot data to Customer.io for more information.

    HubSpot sync custom sync showing the data pipelines format
    HubSpot sync custom sync showing the data pipelines format

  8. (Optional) Go to the Advanced filtering tab if you need to filter HubSpot data before it reaches your workspace. HubSpot filtering works through Actions on a Customer.io Workspaces integration. See Filter incoming data for more information.

  9. Go to the Preview tab to see a preview of the data you’ll be syncing. If everything looks good, click Save changes.

  10. Configure your sync schedule. This is how often you want to sync data from HubSpot to Customer.io.

  11. When you’re done, click Configure destinations and select the places you want to connect your HubSpot data to. The destinations you connect to might depend on how you model your data.

  12. Click Enable sync.

The Syncs tab shows the status of your new sync. It may take a few minutes to populate all your data, especially if you have many HubSpot records.

Filter incoming data

HubSpot filtering works through Actions on a Customer.io Workspaces integration. If you only want to bring in contacts, companies, deals, or other HubSpot records that match certain criteria, you need to set up action conditions to filter your data. That process happens in a separate Customer.io Journeys (Workspace) integration.

See Filter incoming data for the full setup process.

Deleted records

When you delete records in HubSpot, we send events to record the deleted items. Customer.io handles these events automatically. But if you send HubSpot data outside Customer.io, you may need to set up actionsThe source event and data that triggers an API call to your destination. For example, an incoming identify event from your sources adds or updates a person in our Customer.io Journeys destination. to delete data.

Updating syncs

When you update a sync to add or remove fields, your updates take effect at the next sync interval. This means that your changes don’t affect data that you’ve already sent from HubSpot, or any syncs in progress.

To update all data you’ve passed from HubSpot to Customer.io and other places you send your HubSpot data to, you can Resync all data. This sends all of your corresponding HubSpot data through Customer.io again, updating all of your records with the changes you made to your sync.

On the Syncs tab, click next to the sync you updated and click Resync all data.

 Resyncing doesn’t remove existing data from Customer.io

Resyncing data only adds data from HubSpot. It doesn’t delete data in Customer.io. For example, if you’ve removed a birthday field from a sync, resyncing won’t remove the birthday attribute from contacts that have already been synced from HubSpot.
Copied to clipboard!
  Contents