HubSpot Source

HubSpot is an inbound marketing software platform that helps companies attract visitors, convert leads, and close customers. Visit Website

Take your company’s analysis to the next level by adding Hubspot as a Source to Segment. We’ll automatically collect events like Form Submissions and objects such as Contacts or Email Campaigns and load them into your data warehouse.

Getting Started

  1. From your workspace’s /sources page, click add source.

  2. Choose Hubspot.

  3. Give the source a nickname and a schema name. The nickname will be used to designate the source in the Segment interface, and the schema name is the namespace you’ll be querying against in your warehouse. Both can be whatever you like, but we recommend sticking to something that reflects the source itself, like Hubspot for nickname and hubspot, hub, or hubspot_prod for the schema name.

    Note that you can add multiple instances if you have multiple Hubspot accounts. That’s why we allow you to customize the source’s nickname and schema name!

  4. Finally, connect an account with admin API permissions to access your Hubspot data. This account should be an active user on a Professional or Enterprise plan. Check out Hubspot’s docs on how to get your API Key.

Voila! We’ll begin syncing your HubSpot data into Segment momentarily, and it will be written to your warehouse at your next Warehouse run.



Hubspot has a sync component, which means we’ll make requests to their API on your behalf on a 3 hour interval to pull the latest data into Segment. In the initial sync, we’ll grab all the Hubspot objects (and their corresponding properties) according to the collections table below. The objects will be written into a designated schema corresponding to the source instance’s schema name you designated upon creation. For example, if you went with hubspot_prod, the contacts collection will be accessible at hubspot_prod.contacts in SQL.

Our sync component uses an upsert API, so the data in your warehouse loaded via sync will reflect the latest state of the corresponding resource in Hubspot. For example, if lead_status from active to inactive between syncs, on its next sync that tickets status will be inactive.

The source syncs and warehouse syncs are independent processes. Source runs pull your data into the Segment Hub, and warehouse runs flush that data to your warehouse. Sources will sync with Segment every 3 hours. Depending on your Warehouses plan, we will push the Source data to your warehouse on the interval associated with your billing plan.

At the moment, we don’t support filtering which objects or properties get synced. If you’re interested in this feature, please let us know!


Collections are the groupings of resources we pull from your source. In your warehouse, each collection gets its own table.

Event History

Due to HubSpot’s API Rate Limits, by default, the HubSpot source only syncs the past month of data for email_events and email_subscription_event_changes.

contactsObjectContacts represent people in an Organization’s address book. For more info, check out HubSpot’s API docs
contact_identity_profilesObjectContact identity profiles represent identities of a contact.
contact_identitiesObjectContact identities represent communication methods for a contact’s profile (email, lead, etc.).
form_submissionsEventForm submissions represent input from contacts in forms created via HubSpot
dealsObjectDeals for HubSpot CRM.
contact_listsObjectContact lists are lists of contacts in an Organization’s address book. For more info, check out HubSpot’s API docs about the resource
companiesObjectCompanies visible to the portal in the HubSpot CRM. For more info, check out HubSpot’s API docs about the resource
email_campaignsObjectEmail campaigns for marketing automation. For more info, check out HubSpot’s API docs about the resource
email_eventsEventEmail events based on user actions. For more info, check out HubSpot’s API docs about the resource
email_subscriptionsObjectEmail subscriptions of campaign contacts.
email_subscription_event_changesEventEmail subscription event changes represent changes to a recipient’s subscription that came about as a result of an email event

If you have any questions or see anywhere we can improve our documentation, please let us know or kick off a conversation in the Segment Community!