Hubspot

HubSpot is a CRM platform with all the software, integrations, and resources you need to connect your marketing, sales, content management, and customer service.

Authentication methods

Private App

This method uses the Access Token of a private app to authenticate.

To generate an access token, go to:

  1. Settings

  2. Account Setup -> Integrations -> Private Apps

  3. Create a private app, give it any name, logo and description you like (a descriptive name like "Omnata Sync" is best practise)

  4. For the Scopes, check:

    • crm.import (required for all outbound syncs)

    • Read and/or Write for each of the objects you're syncing to/from

Inbound Syncs

Hubspot offers direct data sharing to access your data on Snowflake as part of a HubSpot platform add-on called Operations Hub.

If this doesn't suit your budget or use case, Omnata's Hubspot plugin provides inbound syncing to Snowflake via direct API integration.

Supported Sync Strategies

  • Full Refresh

  • Incremental

There are two types of incremental sync:

  1. Incremental (standard server-side, where API returns only the data updated or generated since the last sync)

  2. Client-Side Incremental (API returns all available data and connector filters out only new records)

Supported Streams

The following objects are supported:

Outbound Syncs

Supported Sync Strategies

  • Create

  • Upsert

  • Update

Supported Targets

The following objects are supported:

  • Contacts

  • Companies

  • Deals

  • Notes

  • Tickets

  • Products

  • Line Items

  • Quotes

  • Custom Objects

Associations

Hubspot Associations can be created/updated in a variety of different ways.

When linking to another object, you can use the Hubspot-generated Record ID, or any Alternate ID defined on that object. For example, when uploading Companies, you could link to Contacts via the standard email field or by a custom field which is unique (via the "Require each value for this property to be unique" checkbox).

You can also create a labelled association by providing a mapping for the label.

In each of these cases, you can choose to link to a single object via a numeric/varchar column, or to multiple objects via an array column.

In the below examples, on the association columns are shown for brevity, but they normally accompany the setting of regular field values like first name, last name, email etc.

Same-object unlabelled associations

Examples

CONTACTS source table:

Contact IDOTHER_CONTACT_IDS

1

[456,789]

2

[100,200,300]

3

[111]

Here, the contacts are being identified via a unique numeric field.

You can mix and match the way you identify them:

Contact IDOTHER_CONTACT_EMAILS

1

['john@gmail.com','susan@outlook.com']

2

null

3

['simon@gmail.com']

Same-object labelled associations

CONTACTS source table:

CONTACT_IDOTHER_CONTACT_IDOTHER_CONTACT_LABEL

39607404151

1

Friend

39607401002

7

Colleague

39609321199

30

null

Here, the associated contacts are being given a label.

If you provide multiple labels, each label will be applied to each association

Different-object unlabelled associations

COMPANIES source table:

COMPANY_DOMAINASSOCIATED_CONTACT_EMAILS

acme.com

['john@gmail.com','susan@outlook.com']

microsoft.com

null

amazon.com

['simon@gmail.com']

Different-object labelled associations

COMPANIES source table:

COMPANY_DOMAINASSOCIATED_CONTACT_EMAILSASSOCIATED_CONTACT_LABEL

acme.com

['john@gmail.com','susan@outlook.com']

Employee

microsoft.com

null

null

amazon.com

['simon@gmail.com']

Ex-Employee

Last updated