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.
Last updated
HubSpot is a CRM platform with all the software, integrations, and resources you need to connect your marketing, sales, content management, and customer service.
Last updated
This method uses the Access Token of a private app to authenticate.
To generate an access token, go to:
Settings
Account Setup -> Integrations -> Private Apps
Create a private app, give it any name, logo and description you like (a descriptive name like "Omnata Sync" is best practise)
Add Scopes for Omnata to access objects and read/write:
Expand the CRM section > Read column, check crm.objects.custom and crm.schemas.custom
For inbound syncs; under Standard, check crm.export
For outbound syncs; under Standard, check crm.import
Read and/or Write for each of the objects you're syncing to/from
Click “Commit changes”
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.
Full Refresh
Incremental
There are two types of incremental sync:
Incremental (standard server-side, where API returns only the data updated or generated since the last sync)
Client-Side Incremental (API returns all available data and connector filters out only new records)
The following objects are supported:
Campaigns (Client-Side Incremental)
Companies (Incremental)
Contact Lists (Incremental)
Contacts (Incremental)
Deal Pipelines (Client-Side Incremental)
Deals (including Contact associations) (Incremental)
Records that have been deleted (archived) and stored in HubSpot's recycle bin will only be kept for 90 days, see response from HubSpot Team
Deals Archived (including Contact associations) (Incremental)
Email Events (Incremental)
Engagements (Incremental)
Engagements Calls (Incremental)
Engagements Emails (Incremental)
Engagements Meetings (Incremental)
Engagements Notes (Incremental)
Engagements Tasks (Incremental)
Forms (Client-Side Incremental)
Form Submissions (Client-Side Incremental)
Goals (Incremental)
Line Items (Incremental)
Owners (Client-Side Incremental)
Products (Incremental)
Property History (Incremental)
Subscription Changes (Incremental)
Tickets (Incremental)
Ticket Pipelines (Client-Side Incremental)
Workflows (Client-Side Incremental)
Create
Upsert
Update
The following objects are supported:
Contacts
Companies
Deals
Notes
Tickets
Products
Line Items
Quotes
Custom Objects
Hubspot Associations can be created/updated in a variety of different ways.
When linking to other objects, 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 hubspot object ID, if you know it via an inbound sync (This appears as "<object name> Association by Record ID(s)" in the field mapper)
The standard email field (This appears as "<object name" Association by Alternate ID(s): <field name>" in the field mapper)
A custom field which is unique (via the "Require each value for this property to be unique" checkbox). (This also appears as "<object name" Association by Alternate ID(s): <field name>" in the field mapper)
You can also choose between creating unlabelled and labelled associations.
Whenever you want to create associations, you must always use an OBJECT column. Each key and value in the object represents the target object and the label to use (or null for an unlabelled association).
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 associations exist between objects of the same type (e.g. contacts to other contacts)
CONTACTS source table:
CONTACT_NUMBER | OTHER_CONTACT_NUMBERS | Comment |
---|---|---|
1 | { 2: 'Friend', 3: 'Friend' } | Contacts with CONTACT_NUMBERs of 2 and 3 get associated with the label "Friend". |
2 | null | No associations |
3 | { 5: null } | Contact with CONTACT_NUMBER 5 gets an unlabelled association |
Here, the contacts are being identified via a unique numeric field.
You can mix and match the way you identify them:
Contact ID | OTHER_CONTACT_EMAILS | Comment | |
---|---|---|---|
1 | simon@gmail.com | { 'john@gmail.com':'Friend', 'susan@outlook.com': 'Friend' } | Contact with Email address "john@gmail.com" gets associated with the label "Friend". Contact with Email address "susan@outlook.com" gets associated with the label "Colleague" |
2 | andrew@gmail.com | null | No associations |
3 | paul@gmail.com | { 'simon@gmail.com': null } | Contact with Email address "simon@gmail.com" gets an unlabelled association |
With same-object associations, each record must have all its associated using the same label (or all be unlabelled). This requirement is for loading efficiency, so that we can perform the associations via a single import task. If you have a requirement for same-object associations to have multiple labels per record, please contact support@omnata.com
Other-object associations exist between objects of different types (e.g. contacts to companies).
These work exactly the same as same-object associations, except that each object is free to use a mix of labels when creating associations.
COMPANIES source table:
COMPANY_DOMAIN | ASSOCIATED_CONTACT_EMAILS |
---|---|
acme.com | { 'john@gmail.com': 'Employee', 'susan@outlook.com': 'Ex-Employee' } |
microsoft.com | null |
amazon.com | { 'simon@gmail.com': null } |
When Omnata creates a labelled association, Hubspot may automatically create an unlabelled association between the same two objects.
In the event that an association between two objects is later removed in the source table, Omnata will automatically remove the association in Hubspot.
When creating an outbound sync, you will see the configuration checkbox "Cleanup Default Associations after Labelled Association removal".
If this option is enabled, Omnata will remove any unlabelled or default object association, but only if all of the labelled associations have been removed.