HubSpot snapshot

A high-level look at Stitch's HubSpot (v01-03-2017) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release Status

Released

Supported By

Stitch

Stitch Plan

Paid

Singer GitHub Repository

HubSpot Repository

DATA SELECTION
Table Selection

Unsupported

Column Selection

Unsupported

REPLICATION SETTINGS
Anchor Scheduling

Unsupported

Table-level Reset

Unsupported

Configurable Replication Methods

Unsupported

TRANSPARENCY
Extraction Logs

Unsupported

Loading Reports

Supported

Connecting HubSpot

HubSpot setup requirements

To set up HubSpot in Stitch, you need:

  • A paid Stitch plan. While those currently in the Free Trial will also be able to set up HubSpot, replication will be paused until a paid plan is selected after the trial ends.

Initial and historical replication jobs

After you finish setting up HubSpot, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


HubSpot table schemas

Replication Method :

Full Table

Primary Key :

id

API endpoint :

getCampaignForParticularCampaign

The campaigns table contains info about the campaigns in your HubSpot account.

id
INTEGER

The ID of the campaign.

appId
INTEGER

The Application ID for the given email.

appName
STRING

The Application Name for the given email.

contentId
INTEGER

The ID associated with the content.

counters
OBJECT

Event count summaries for the given email.

delivered
INTEGER

The count of delivered events for the given email.

open
INTEGER

The count of open events for the given email.

processed
INTEGER

The count of processed events for the given email.

sent
INTEGER

The count of sent events for the given email.

campaigns (table), counters (attribute)

name
STRING

The name of the email.

numIncluded
INTEGER

The number of included emails.

numQueued
INTEGER

The number of queued emails.

subType
STRING

The subtype of the email. For example: VariantB

subject
STRING

The subject of the email.

type
STRING

The type of the email. For example: AB


Replication Method :

Full Table

Primary Key :

companyId

API endpoint :

getACompany

The companies table contains info about the companies your HubSpot contacts belong to.

companyId
INTEGER

The ID of the company.

portalId
INTEGER

The ID of the portal the company is associated with.

isDeleted
BOOLEAN

Indicates if the company has been deleted in HubSpot.


Replication Method :

Key-based Incremental

Replication Key :

updatedAt

Primary Key :

listId

API endpoint :

getContactLists

The contact_lists table contains info about the contacts lists in your HubSpot account. Contact lists are used to segment contacts into groups, and there are two types: dynamic (smart lists) and static.

listId
INTEGER

The unique ID of the list.

updatedAt
DATE-TIME

The time that the list was last updated.

internalListId
INTEGER

The list’s internal list ID. This field has been deprecated by HubSpot - use listId in its place.

parentId
INTEGER

The ID of the folder that the list belongs to.

metaData
OBJECT

Metadata about the contact list.

processing
STRING

Indicates the processing status of the contact list.

size
INTEGER

The number of contacts in the list.

error
STRING

Any errors that occurred the last time the list was processed.

lastProcessingStateChangeAt
DATE-TIME

The last time that the processing status changed.

lastSizeChangeAt
DATE-TIME

The last time that the size of the list changed.

contact_lists (table), metaData (attribute)

dynamic
BOOLEAN

Indicates if the contact list is a dynamic list.

name
STRING

The name of the contact list.

filters
ARRAY

A list of filters used to define list membership. For example: adding only contacts who have submitted a particular form.

value
ARRAY

Details about the filters used to define list membership.

filterFamily
STRING

The name of the filter family.

withinTimeMode
STRING

checkPastVersions
BOOLEAN

Indicates if past versions are checked.

type
STRING

The type of the filter. For example: string

property
STRING

The property included in the filter. For example: email

value
STRING

The value of the filter.

operator
STRING

The filter operator.

contact_lists (table), value (attribute)
contact_lists (table), filters (attribute)

portalId
INTEGER

The ID of the portal the contact list belongs to.

createdAt
DATE-TIME

The time that the list was created.

archived
BOOLEAN

Indicates if the contact list has been archived.

deleteable
BOOLEAN

Indicates if the list can be deleted. If false, the list is a system list and cannot be deleted.

listType
STRING

The type of list. For example: static or dynamic.


Replication Method :

Full Table

Primary Key :

canonical-vid

API endpoint :

getContacts

The contacts table contains info about individual contacts in HubSpot.

canonical-vid
INTEGER

The canonical ID of the contact. In HubSpot, contacts may have multiple vids, but the canonical-vid will be the primary ID for a contact.

vid
INTEGER

The internal ID of the contact.

merged-vids
ARRAY

A list of vids that have been merged into this contact record.

type
INTEGER

The vid that was merged into the contact record.

contacts (table), merged-vids (attribute)

portal-id
INTEGER

The ID of the portal the contact is associated with.

is-contact
BOOLEAN

Indicates if the contact is a valid contact.

profile-token
STRING

A unique token that can be used to view the contact without logging into HubSpot.

profile-url
STRING

A unique token that can be used to view the contact without logging into HubSpot. Anyone with this URL can view (not edit) the contact’s record.

identity-profiles
ARRAY

A list of the identities of the contact.

deleted-changed-timestamp
DATE-TIME

The timestamp of the last delete or change event associated with a contact’s identity profile.

saved-at-timestamp
DATE-TIME

A Unix timestamp in milliseconds of when the identity was last updated.

vid
INTEGER

The original vid for the identity.

identities
ARRAY

A list of individual identities for the contact.

timestamp
DATE-TIME

A Unix timestamp in milliseconds for when the identity was created.

type
STRING

The type of identity. According to HubSpot’s documentation, this will be either email or lead_guid.

value
STRING

The value of the identity. For example: stitch-hubspot@stitchdata.com

contacts (table), identities (attribute)
contacts (table), identity-profiles (attribute)

list-memberships
ARRAY

A list of the contact’s memberships in contact lists.

internal-list-id
INTEGER

The internal list ID.

is-member
BOOLEAN

Indicates if the contact is a member of the list.

static-list-id
INTEGER

The ID of the contact list.

timestamp
DATE-TIME

A Unix timestamp in milliseconds for when the contact joined the list.

vid
INTEGER

The vid of the contact record.

contacts (table), list-memberships (attribute)

form-submissions
ARRAY

A list of form submissions for the contact.

conversion-id
STRING

A unique ID for the specific form conversion.

timestamp
DATE-TIME

A Unix timestamp in milliseconds of the time the submission occurred.

form-id
STRING

The GUID of the form the submission belongs to.

portal-id
INTEGER

The ID of the portal the submission belongs to.

page-url
STRING

The URL that the form was submitted on.

title
STRING

The title of the page that the form was submitted on.

contacts (table), form-submissions (attribute)

merge-audits
ARRAY

Details about any merges that have happened for the record.

canonical-vid
INTEGER

The vid of the primary contact, or the record that was merged into.

vid-to-merge
INTEGER

The vid of the secondary contact, or the record that the data was merged from.

timestamp
DATE-TIME

A Unix timestamp in milliseconds of when the merge occurred.

user-id
INTEGER

The internal ID of the user who performed the merge.

num-properties-moved
INTEGER

The number of properties that were updated as a result of the merge.

merged-from-email
OBJECT

Data from the secondary contact, or the record that the data was merged from.

value
STRING

The email address of the secondary contact at the time of the merge.

source-type
STRING

The method by which the email property was last updated. For example: contacts_web

source-id
STRING

Additional data related to the source-type.

source-label
STRING

Additional data related to the source-type.

timestamp
INTEGER

A Unix timestamp in milliseconds for when the last email address was last updated.

selected
BOOLEAN

Deprecated by HubSpot.

source-vids
ARRAY

A list of secondary contact vids.

items
INTEGER

The secondary contact’s vid.

contacts (table), source-vids (attribute)
contacts (table), merged-from-email (attribute)

merged-to-email
OBJECT

Data for the primary contact, or the record the data was merged into.

value
STRING

The email address of the primary contact at the time of the merge.

source-type
STRING

The method by which the last email property was updated. For example: contacts_web

source-id
STRING

Additional data related to the source-type.

source-label
STRING

Additional data related to the source-type.

timestamp
INTEGER

A Unix timestamp in milliseconds for when the last email address was last updated.

selected
BOOLEAN

Deprecated by HubSpot.

contacts (table), merged-to-email (attribute)
contacts (table), merge-audits (attribute)

Replication Method :

Full Table

Primary Key :

dealId : portalId

API endpoint :

getRecentlyModifiedDeals

The deals table contains info about the deals in a HubSpot portal.

dealId
INTEGER

The ID of the deal.

portalId
INTEGER

The ID of the portal the deal is associated with.

isDeleted
BOOLEAN

Indicates if the deal has been deleted in HubSpot.

associations
OBJECT

IDs of the Vids, Companies, and Deals associated with the deal.

associatedVids
ARRAY

IDs of the Vids associated with the deal.

value
INTEGER

The ID of the Vid associated with the deal.

deals (table), associatedVids (attribute)

associatedCompanyIds
ARRAY

IDs of the companies associated with the deal.

value
INTEGER

The ID of the company associated with the deal.

deals (table), associatedCompanyIds (attribute)

associatedDealIds
ARRAY

IDs of the deals associated with the deal.

value
INTEGER

The ID of the deal associated with the deal. (How meta!)

deals (table), associatedDealIds (attribute)
deals (table), associations (attribute)

Replication Method :

Key-based Incremental

Replication Key :

id

Primary Key :

id

API endpoint :

getEventsForCampaignOrRecipient

The email_events table contains info about email events and how recipients interact with content.

id
STRING

The ID of the event.

appId
INTEGER

The ID of the HubSpot application that sent the email message.

appName
STRING

The name of the HubSpot application that sent the email message.

browser
OBJECT

Details about the browser that serviced the event.

family
STRING

The family of the browser that serviced the event.

name
STRING

The name of the browser that serviced the event.

producer
STRING

The producer of the browser that serviced the event.

producerUrl
STRING

The producer URL of the browser that serviced the event.

type
STRING

The type of browser that serviced the event.

url
STRING

The URL of the browser that serviced the event.

email_events (table), browser (attribute)

created
DATE-TIME

The time the event was created.

deviceType
STRING

The type of device used to service the event.

duration
INTEGER

The approximate number of milliseconds the user had opened the email message.

emailCampaignId
INTEGER

The ID of the email campaign that the email message is a part of.

emailCampaignGroupId
INTEGER

The ID of the email campaign group associated with the email message.

filteredEvent
BOOLEAN

Indicates if the event was filtered.

from
STRING

The from field of the email message.

hmid
STRING

An auto-generated ID that corresponds to the header X-HubSpot-MID in the email message.

ipAddress
STRING

The IP address where the event originated.

linkId
INTEGER

The ID of the link the recipient clicked in the email message.

location
OBJECT

Details about where the event occurred, including the city, state, and country.

city
STRING

The city where the event occurred.

country
STRING

The country where the event occurred.

state
STRING

The state where the event occurred.

email_events (table), location (attribute)

portalId
INTEGER

The ID of the HubSpot portal that sent the email message.

recipient
STRING

The email address of the recipient of the email message.

response
STRING

The full response from the recipient’s email server.

sentBy
OBJECT

Details about the email message’s SENT event.

created
DATE-TIME

The time the email message’s SENT event occurred.

id
STRING

The ID of the email message’s SENT event.

email_events (table), sentBy (attribute)

smtpId
STRING

The ID that HubSpot attaches to the email message.

subject
STRING

The subject line of the email message.

type
STRING

The type of event. Click the link in attribute’s name for more details about email event types.

url
STRING

The URL in the email message that the recipient clicked.

userAgent
STRING

The user agent responsible for the event.


Replication Method :

Key-based Incremental

Replication Key :

lastUpdated

Primary Key :

id

API endpoint :

getAllEngagements

The engagements table contains info about all the engagements in a HubSpot portal.

id
INTEGER

The ID for the engagement.

lastUpdated
DATE-TIME

The time the engagement was last updated.

portalId
INTEGER

The ID of the portal the engagement belongs to.

active
BOOLEAN

Indicates if the engagement is active.

createdAt
DATE-TIME

The time the engagement was created.

ownerId
INTEGER

The ID of the owner associated with the engagement.

type
STRING

The type of engagement. For example: NOTE OR TASK

timestamp
DATE-TIME

The time the engagement should appear in the timeline.

associations
ARRAY

IDs of the objects associated with the engagement. For example: contacts, deals.

contactIds
ARRAY

IDs of the contacts associated with the engagement.

value
INTEGER

The ID of the contact associated with the campaign.

engagements (table), contactIds (attribute)

companyIds
ARRAY

IDs of the companies associated with the engagement.

value
INTEGER

The ID of the company associated with the campaign.

engagements (table), companyIds (attribute)

dealIds
ARRAY

IDs of the deals associated with the engagement.

value
INTEGER

The ID of the deal associated with the campaign.

engagements (table), dealIds (attribute)
engagements (table), associations (attribute)

attachments
ARRAY

For NOTE engagements only. IDs of the files from the file manager that should display in the attachments list when viewing the engagement in HubSpot.

id
INTEGER

The ID of the attachment.

engagements (table), attachments (attribute)

metadata
OBJECT

Metadata about the engagement.

body
STRING

For NOTE engagements, this will be the body of the note.

For TASK engagements, this will be the body or details of the task.

For MEETING engagements, this will be the body or details of the meeting.

For CALL engagements, this will be the details or notes of the call.

from
OBJECT

For EMAIL engagements only. Details about the sender of the email engagement.

email
STRING

The email address of the sender.

firstName
STRING

The first name of the sender.

lastName
STRING

The last name of the sender.

engagements (table), from (attribute)

to
OBJECT

For EMAIL engagements only. Details about the recipient of the email engagement.

email
SRING

The email address of the recipient.

engagements (table), to (attribute)

cc
OBJECT

For EMAIL engagements only. Details about anyone CC’d on the email engagement.

email
STRING

The email of the CC’d recipient.

engagements (table), cc (attribute)

bcc
OBJECT

For EMAIL engagements only. Details about anyone BCC’D on the email engagement.

email
STRING

The email of the BCC’d recipient.

engagements (table), bcc (attribute)

subject
STRING

For EMAIL engagements, this will be the subject of the email.

For TASK engagements, this will be the subject or title of the task.

html
STRING

For EMAIL engagements only. The body of the HTML email.

text
STRING

For EMAIL engagements only. The body of the text-only email.

status
STRING

For TASK engagements only. The status of the task. For example: COMPLETED

forObjectType
STRING

For TASK engagements only. The object type the task is for. For example: CONTACT

startTime
INTEGER

For MEETING engagements only. The start time of the meeting.

endTime
INTEGER

For MEETING engagements only. The ending time of the meeting.

title
STRING

For MEETING engagements only. The title or subject of the meeting.

toNumber
STRING

For CALL engagements only. The phone number that was called.

fromNumber
STRING

For CALL engagements only. The phone number that placed the call.

externalId
STRING

For CALL engagements only. For calls made in HubSpot, this will be the internal ID of the call.

durationMilliseconds
INTEGER

For CALL engagements only. The length of the call in milliseconds.

externalAccountId
STRING

For CALL engagements only. For calls made in HubSpot, this will be the internal ID of the account used to place the call.

recordingUrl
STRING

For CALL engagements only. The URL of the recording file.

engagements (table), metadata (attribute)

Replication Method :

Key-based Incremental

Replication Key :

updatedAt

Primary Key :

guid

API endpoint :

getAllFormsFromAPortal

The forms table contains info about your HubSpot website forms.

guid
STRING

The GUID of the form.

updatedAt
DATE-TIME

The time the form was last updated.

deletedAt
INTEGER

If the form was deleted, the time that the deletion took place.

portalId
INTEGER

The ID of the portal the form belongs to.

name
STRING

The name of the form.

action
STRING

Deprecated by HubSpot.

method
STRING

The API method used to send the form submission. For example: POST

cssClass
STRING

The CSS class associated with the form.

redirect
STRING

The URL that the visitor will be redirect to after filling out the form.

submitText
STRING

The text that displays to the end-user to submit the form. For example: Submit or Send Form

followUpId
STRING

Deprecated by HubSpot.

notifyRecipients
STRING

A list of email addresses that should receive submission notifications.

leadNurturingCampaignId
STRING

The ID of the lead nurturing campaign the form is associated with.

formFieldGroups
ARRAY

Details about the fields in the form.

default
BOOLEAN

Indicates if the form group is a default group.

isSmartGroup
BOOLEAN

Indicates if the form field group is a smart group.

richText
OBJECT

Details about the rich text separators used between form field groups.

content
STRING

The content of the rich text separator.

forms (table), richText (attribute)

fields
ARRAY

Details about the form field in the form.

name
STRING

The name of the form field. This is the internal name for the form field. For example: customerlastname

label
STRING

The label of the form field. This is the external name for the form field. For example: Last Name

type
STRING

The data type of the form field. For example: string

fieldType
STRING

The type of form field. For example: text or radio select

description
STRING

A description of the form field.

groupName
STRING

The name of the group the form field belongs to. For example: contact information

displayOrder
INTEGER

The display order of the form field in the form.

required
BOOLEAN

Indicates if the form field is required in the form.

enabled
BOOLEAN

Indicates if the form field is enabled.

hidden
BOOLEAN

Indicates if the form field is hidden.

defaultValue
STRING

The default value of the form field.

isSmartField
BOOLEAN

Indicates if the form field is a smart field.

unselectedLabel
STRING

Deprecated by HubSpot.

placeholder
STRING

The value of the placeholder text for the form field.

labelHidden
BOOLEAN

Indicates if the label for the form field is hidden.

options
ARRAY

For enumerated fields, this will be the options available for a field.

description
STRING

The description of the field option.

displayOrder
INTEGER

The display order of the field option.

doubleData
NUMBER

Deprecated by HubSpot.

hidden
BOOLEAN

Indicates if the field option is hidden.

label
STRING

The label of the field option.

readOnly
BOOLEAN

Indicates if the field option is read-only.

value
STRING

The value of the field option.

forms (table), options (attribute)

validation
OBJECT

Details about the validation options applied to form fields.

name
STRING

The name of validation option.

message
STRING

The validation message.

data
STRING

The method used to validate the data. For example: entering a minimum and maximum number of characters to validate phone number length. If you entered a minimum of 7 and maximum of 11, the value for this field would show as 7:11

useDefaultBlockList
BOOLEAN

Indicates if the Block free email providers setting is enabled for email fields.

blockedEmailAddresses
ARRAY

For email fields, the domains that are blocked. For example: yahoo.com

value
STRING

The blocked email domain.

forms (table), blockedEmailAddresses (attribute)
forms (table), validation (attribute)
forms (table), fields (attribute)
forms (table), formFieldGroups (attribute)

createdAt
DATE-TIME

The time the form was created.

performableHtml
STRING

Deprecated by HubSpot.

migratedFrom
STRING

Deprecated by HubSpot.

ignoreCurrentValues
BOOLEAN

Indicates if the form will pre-populate fields with known values for known contacts.

deleteable
BOOLEAN

Indicates if the form is deleteable.

inlineMessage
STRING

The ‘thank you’ message that displays on the page after the form is submitted.

tmsId
STRING

Deprecated by HubSpot.

captchaEnabled
BOOLEAN

Indicates if a Captcha is enabled on the form.

campaignGuid
STRING

The GUID of the campaign the form is associated with.

cloneable
BOOLEAN

Indicates if the form is cloneable.

editable
BOOLEAN

Indicates if the form is editable.

formType
STRING

The type of form. For example: HUBSPOT

metaData
ARRAY

Metadata about the form.

name
STRING

Deprecated by HubSpot.

value
STRING

Deprecated by HubSpot.

forms (table), metaData (attribute)

Replication Method :

Key-based Incremental

Replication Key :

created_at

Primary Key :

keyword_guid

API endpoint :

getAKeyword

The keywords table contains info about your HubSpot portal keywords.

keyword_guid
STRING

The GUID of the keyword.

created_at
DATE-TIME

The time the keyword was created.

keyword
STRING

The text value of the keyword.

country
STRING

If the keyword is localized, this column will contain the selected country’s ID.

visits
INTEGER

The number of visits attributed to the keyword.

contacts
INTEGER

The number of contacts attributed to the keyword.

leads
INTEGER

The number of leads attributed to the keyword.


Replication Method :

Key-based Incremental

Replication Key :

updatedAt

Primary Key :

ownerId : portalId

API endpoint :

getOwners

The owners table contains info about the owners that exist in your HubSpot portal. Owners are created and updated in HubSpot when new users are added or when owners are synced from Salesforce to HubSpot.

ownerId
INTEGER

The ID of the owner.

portalId
INTEGER

The ID of the portal the owner is associated with.

updatedAt
DATE-TIME

The time that the owner was last updated in HubSpot.

type
STRING

The type of owner. For example: person

firstName
STRING

The first name of the owner.

lastName
STRING

The last name of the owner.

email
STRING

The email address associated with the owner.

createdAt
DATE-TIME

The time that the owner was created in HubSpot.

remoteList
ARRAY

Details about the remote list associated with the owner.

portalId
INTEGER

The ID of the portal the owner is associated with.

ownerId
INTEGER

The ID of the owner.

remoteId
STRING

The ID of the remote list.

remoteType
STRING

The remote list type.

active
BOOLEAN

Indicates if the owner is active.

owners (table), remoteList (attribute)

subscription_changes

Replication Method :

Key-based Incremental

Replication Key :

timestamp

Primary Key :

recipient : portalId : timestamp

API endpoint :

getSubscriptionsTimeline

The subscription_changes table contains info about changes made subscriptions.

recipient
STRING

The contact associated with the subscription change event.

portalId
INTEGER

The ID of the portal associated with the subscription change event.

timestamp
DATE-TIME

The time that the subscription change event occurred.

changes
ARRAY

Details about the subscription change event.

change
STRING

The action associated with the change. Ex: SUBSCRIBED

timestamp
DATE-TIME

The time that this particular event occurred.

source
STRING

The source of the change. Ex: SOURCE_RECIPIENT

portalId
INTEGER

The ID of the portal associated with the change event.

subscriptionId
INTEGER

If applicable, the ID of the subscription involved in the change event.

changeType
STRING

The type of change. Ex: SUBSCRIPTION_STATUS

causedByEvent
OBJECT

Details about the event that caused the change.

id
STRING

The ID of the event that caused the change.

created
DATE-TIME

The time that the event that caused the change occurred.

subscription_changes (table), causedByEvent (attribute)
subscription_changes (table), changes (attribute)

Replication Method :

Key-based Incremental

Replication Key :

updatedAt

Primary Key :

id

API endpoint :

getWorkflows

The workflows table contains info about the workflows in your HubSpot portal.

id
INTEGER

The ID of the workflow.

updatedAt
DATE-TIME

The time that the workflow was last updated.

name
STRING

The name of the workflow.

type
STRING

The type of workflow. For example: DRIP_DELAY

enabled
BOOLEAN

Indicates if the workflow is enabled in your HubSpot portal.

inserted-at
DATE-TIME

The time that the workflow was inserted.

personaTagIds
ARRAY

Info about the personas tied to the workflow.

value
INTEGER

The ID of the persona tied to the workflow.

workflows (table), personaTagIds (attribute)

contactListIds
OBJECT

Summary info for the contact lists associated with the workflow.

enrolled
INTEGER

The number of contacts currently enrolled in the workflow.

active
INTEGER

The number of active contacts for the workflow.

steps
ARRAY

Details about the steps in the workflow for the contact list.

type
STRING

The type of step in the workflow.

workflows (table), steps (attribute)
workflows (table), contactListIds (attribute)


Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.