contacts, deals and accounts) using Sequin’s Record Mutation API. Sequin simultaneously applies changes to HubSpot and the event stream. Giving you a unified interface to HubSpot.
Here is how our HubSpot sync works:
Sync process
Authentication
You can authenticate with HubSpot in the Sequin Console. You’ll click to Connect Sequin to HubSpot and Sequin will redirect you to HubSpot to authenticate.
Backfill
When you first start a HubSpot sync, Sequin will extract all the data from the HubSpot collections you want to sync. This is called backfilling. To backfill HubSpot, Sequin will first paginate through all the records in the collection you want to sync. This ensures that you get all the data from the HubSpot account in your stream. We’re able to pull 100 records per request, which means about 400 records per second. Depending on the size of the HubSpot instance, the backfill can take a few minutes to a few hours.Real-time
For standard and custom collections, we’ll continuously poll the HubSpot search API for new and updated records. We’re able to make 4 request per second to the search API. Each request is scoped to one collection. So if you sync 12 collections, we’ll cycle through each collection every 3 seconds - meaning it will take at most 3 seconds for a change in HubSpot to appear in your stream. HubSpot associations, however, are not available through the search API. Associations require polling the associations list endpoint from beginning to end to detect changes. We’re able to make 100 requests every 10 seconds to the associations API. So sync times vary depending on the number of associations in the HubSpot account.Pacing
HubSpot OAuth Apps like Sequin have dedicated rate limits:
Because these limits are scoped to the OAuth application, Sequin won’t impact your existing API quota usage (whether from other OAuth apps or your own HubSpot Private app).
Schema
Standard objects
Sequin can sync all HubSpot standard objects and fields. We refer to these as standard collections. Here are the standard collections we support. If there is a standard object you need that isn’t listed, just send us a message and we’ll add it for you in a day or two.- Call
- Communication
- Company
- Contact
- Deal
- Line item
- Meeting
- Note
- Owner
- Pipeline
- Postal Mail
- Product
- Quote
- Stage
- Task
- Ticket
Custom objects and properties
Sequin also supports HubSpot custom objects and properties. We refer to these as custom collections. Any custom object or property you create in HubSpot will be available to sync with Sequin. When you want to sync a custom property within a standard object, you’ll choose to sync the custom version of that object. For instance, if you want to sync a custom propertyhealth_score within the contact object, setup your sync to include the contact custom collection. Unlike the contact standard collection, the custom one contains all your custom properties.
Because custom collections are unique to a specific HubSpot instance and credential, you’ll need to setup your custom collections on a sync-by-sync basis. You can do this in the Sequin Console or via the Management API using the list custom collections endpoint.
Associations
HubSpot associations allow you to relate two CRM objects to eachother. For example, you can associate acontact with a company to indicate that the contact works at the company.
When you associate two objects in HubSpot, the association is undirected. When Contact A is associated with Company X, Company X is reciprocally associated with Contact A.
You can use association labels to indicate the kind of association between two objects. For example, Contact A can be a Manager at Company X and also a Former Employee at Company Y; you would associate Contact A with both companies but label the associations differently.
For any pair of object types, Sequin syncs all associations between objects of those types to a collection named after the two object types. For example, all associations between contact and company objects sync to the associations_company_contact collection.
If either object in the association is a custom object, the association collection will also be a custom collection.
Streams
Your HubSpot sync will populate data into the record and event streams. Here’s how Sequin structures HubSpot objects in the stream:Record stream
The record stream contains the current state of an object in HubSpot. For instance, you’ll see the current state of acontact as it exists in HubSpot:
Event stream
The event stream contains the changes to an object in HubSpot. As an example, if thefirstname and lastname of a contact object is updated, the event stream will contain the following event:
Consumers
You can build directly on Sequin’s stream using the stream APIs. Or forward data to your database, Kafka or any other system you use to store and process data. HubSpot syncs work with all the consumers Sequin supports.Mutations
When you need tocreate, update, or delete a HubSpot object, you can use Sequin’s Record Mutation API. For instance, if you want to create a contact in HubSpot, you’ll use the create mutation:
200 OK.
Development
Sequin works with HubSpot’s development tools so you can easily test your integration before moving it to production. HubSpot provides two types of development environments:- Developer test accounts: These are free HubSpot accounts that you can use to build and test your integration. You’ll need to manually replicate your production data model in your test account.
- Sandboxes: These are full copies of your production HubSpot account purpose built for replicating your production data for testing and development. However, only HubSpot enterprise accounts have access to sandboxes, and they require super admin permissions.

