HubSpot integration summary

Stitch’s HubSpot integration replicates data using the HubSpot REST API. Refer to the Schema section for a list of objects available for replication.

HubSpot feature snapshot

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

STITCH
Release Status Released Supported By

Stitch

Stitch Plan

Standard

Singer GitHub Repository

HubSpot Repository

DATA SELECTION
Table Selection

Supported

Column Selection

Supported

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Unsupported

Table-level Reset

Unsupported

Configurable Replication Methods

Unsupported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting HubSpot

HubSpot setup requirements

To set up HubSpot in Stitch, you need:

  • A Standard or higher Stitch plan. While those currently in the Free Trial will also be able to set up HubSpot, replication will be paused until a Standard plan or higher is selected after the trial ends.
  • For HubSpot CRM or Marketing products: Administrator permissions in HubSpot. Note: To replicate email events, you’ll need to have Super Admin permissions in HubSpot.

  • For the HubSpot Sales product: Sales Administrator permissions in HubSpot.

More information about HubSpot user roles and permissions can be found in HubSpot’s documentation.

Step 1: Add HubSpot as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the HubSpot icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch HubSpot” would create a schema called stitch_hubspot in the destination. Note: Schema names cannot be changed after you save the integration.

Step 2: Define the historical sync

The Sync Historical Data setting will define the starting date for your HubSpot integration. This means that:

  • For tables using Incremental Replication, data equal to or newer than this date will be replicated to your data warehouse.
  • For tables using Full Table Replication, all data - including records that are older, equal to, or newer than this date - will be replicated to your data warehouse.

Change this setting if you want to replicate data beyond HubSpot’s default setting of 30 days. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 3: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

HubSpot integrations support the following replication scheduling methods:

To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Step 4: Authorize Stitch to access HubSpot

  1. Next, you’ll be prompted to sign into your HubSpot account.
  2. After you log into HubSpot, a screen with a list of your HubSpot accounts will display. Click the account you want to connect to Stitch.

    Note that Stitch will only ever read your data. Stitch will never modify or delete any data in your HubSpot account.

  3. After the authorization process is successfully completed, you’ll be directed back to Stitch.
  4. Click All Done.

Step 5: Set tables and columns to replicate

To complete the setup, you’ll need to select the tables and columns you want to replicate to your data warehouse.

Check out the Schema section to learn more about the available tables in HubSpot and how they replicate.

  1. In the list of tables that displays - or in the Tables to Replicate tab, if you skipped this step during setup - locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A green checkmark means the table is set to replicate.

  3. To track a column, click the checkbox next to the column’s name. A green checkmark means the column is set to replicate.

  4. Repeat this process for all the tables and columns you want to replicate.
  5. When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.

Note: If you change these settings while a replication job is still in progress, they will not be used until the next job starts.

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

Custom HubSpot field replication

Custom object properties, or fields, are supported by Stitch’s HubSpot integration. Stitch will query the properties list for each object and, if custom fields are available through HubSpot’s API, replicate them to your destination.

The data types of these fields will be the same as the data type in HubSpot. For example: A custom field containing date data will be a date field in your destination.

This is applicable to any object that supports custom fields in HubSpot.

HubSpot date/date-time values & UNIX timestamps

HubSpot uses UNIX-formatted timestamps in milliseconds to store date and datetime data. Stitch doesn’t perform any transformation during the replication process, meaning these values won’t be converted to timestamps before they’re loaded into your destination.

To account for this, consider creating a user-defined function to perform the conversion or building views on top of the raw data.


Replication Method :

Full Table

Primary Key :

id

API endpoint :

Get campaign for particular campaign

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

id
INTEGER

The ID of the campaign.

Reference:

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.

bounce
INTEGER

The count of bounce events for the given email. A bounce event occurs when the recipient’s email server could not or would not accept the message. No further attempts to deliver the message are made.

deferred
INTEGER

The count of deferred events for the given email. A deferred event occurs when the recipient’s email server temporarily rejects the message. Additional attempts to deliver the message are made.

dropped
INTEGER

The count of dropped events for the given email. A dropped event occurs when the message is rejected, either by HubSpot or their delivery provider. No further attempts to deliver the message are made.

delivered
INTEGER

The count of delivered events for the given email. A delivered event occurs when the recipient’s email server accepts the message and successfully delivers it to the recipient.

mta_dropped
INTEGER

The count of drop events (by delivery provider) for the given email.

open
INTEGER

The count of open events for the given email. An open event occurs when the recipient opens the message.

processed
INTEGER

The count of processed events for the given email. A processed event occurs when the message is received by HubSpot’s delivery provider.

sent
INTEGER

The count of sent events for the given email. A sent event occurs when the message was sent to and received by HubSpot’s delivery provider, and is queued for further handling.

statuschange
INTEGER

The count of status change events for the given email. A statuschange event occurs when the recipient changes their email subscription in some way.

suppressed
INTEGER

The count of suppression events for the given email.

unsubscribed
INTEGER

The count of unsubscribe 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 :

Key-based Incremental

Replication Key :

hs_lastmodifieddate

Primary Key :

companyId

API endpoint :

Get a company

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

companyId
INTEGER

The ID of the company.

Reference:

portalId
INTEGER

The ID of the portal the company is associated with.

Reference:

isDeleted
BOOLEAN

If true, the company has been deleted.

properties
OBJECT

Details about the company.

description
STRING

The description of the company.

name
STRING

The name of the company.

createdate
DATE-TIME

The time the company was created.

companies (table), properties (attribute)

Replication Method :

Key-based Incremental

Replication Key :

updatedAt

Primary Key :

listId

API endpoint :

Get contact lists

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.

Reference:

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.

Reference:

createdAt
DATE-TIME

The time that the list was created.

readOnly
BOOLEAN

Indicates if the contact list is read-only.

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 :

Key-based Incremental

Replication Key :
Primary Key :

canonical-vid

API endpoint :

Get contacts

The contacts table contains info about individual contacts in HubSpot.

Contact properties

If properties have been set for the contact, additional fields beginning with properties__ will be included in the table. Note: Contacts will only have an entry for a property if that property has been set for the contact’s record.

HubSpot always types the value of properties fields as STRING despite the property type. Refer to HubSpot’s documentation for more info.

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.

Note: When a contact is merged into another contact, the parent contact is updated with the child contact’s vid added to its merged-vids list. The child contact is not updated, however, so to fully account for merged contacts, canonical-vids that appear in the merged-vids list should be filtered out.

Reference:

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.

Reference:

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.

Reference:

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.

Reference:

portal-id
INTEGER

The ID of the portal the submission belongs to.

Reference:

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)

contacts_by_company

Replication Method :

Full Table

Primary Key :

contact-id : company-id

The contacts_by_company table contains contact and company ID pairs, allowing you to join contacts to relevant company data.

contact-id
INTEGER

The ID of the contact.

Reference:

company-id
INTEGER

The ID of the company the contact is a part of.

Reference:


Replication Method :

Key-based Incremental

Replication Key :

hs_lastmodifieddate

Primary Key :

dealId : portalId

API endpoint :

Get all deals

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

dealId
INTEGER

The ID of the deal.

Reference:

portalId
INTEGER

The ID of the portal the deal is associated with.

Reference:

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.

Reference:

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!)

Reference:

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

properties
OBJECT

Details about the properties set for the deal.

amount
OBJECT

Details about amounts set for the deal.

value
INTEGER

The amount of the deal.

timestamp
DATE-TIME

The time the amount was set.

source
STRING

The method used to set the amount.

deals (table), amount (attribute)

dealname
OBJECT

Details about the name of the property.

value
STRING

The current value of the property.

timestamp
DATE-TIME

The time the current value was set.

source
STRING

The method used to set the value.

sourceId
STRING

Additional details about the source.

deals (table), dealname (attribute)
deals (table), properties (attribute)

Replication Method :

Key-based Incremental

Replication Key :

id

Primary Key :

id

API endpoint :

Get events for campaign or recipient

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

Email events and HubSpot permissions

Replicating this table requires Super Admin permissions in HubSpot. The Super Admin role is different than the Admin role, which you can read more about in HubSpot’s documentation.

If this table is selected and you don’t have Super Admin permissions in HubSpot, an error similar to the following will surface in the integration’s Extraction Logs:

tap - ERROR b'{"status":"error","message":"This oauth-token (**********) does not have proper permissions! (requires any of [email-access])", [...]

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.

Reference:

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.

Reference:

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 :

Get all engagements

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.

Reference:

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.

Reference:

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.

Reference:

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.

Reference:

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.

Reference:

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 :

Get all forms from a portal

The forms table contains info about your HubSpot website forms.

guid
STRING

The GUID of the form.

Reference:

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.

Reference:

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.

Reference:

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 :

updatedAt

Primary Key :

ownerId : portalId

API endpoint :

Get owners

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.

Reference:

portalId
INTEGER

The ID of the portal the owner is associated with.

Reference:

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.

signature
STRING

The owner’s signature.

hasContactsAccess
BOOLEAN

Indicates if the owner has access to the contacts in the HubSpot portal.

remoteList
ARRAY

Details about the remote list associated with the owner.

portalId
INTEGER

The ID of the portal the owner is associated with.

Reference:

ownerId
INTEGER

The ID of the owner.

Reference:

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 :

Get subscriptions timeline

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.

Reference:

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.

Reference:

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 :

Get workflows

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.