Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
507 changes: 507 additions & 0 deletions _data/taps/schemas/hubspot/v4/hubspot-v4-foreign-keys.yml

Large diffs are not rendered by default.

239 changes: 239 additions & 0 deletions _data/taps/schemas/hubspot/v4/hubspot-v4-tables.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,239 @@
tap: hubspot
version: '4'
tap-repo-schemas: true
tables:
- name: campaigns
description: 'The `{{ table.name }}` table contains info about the campaigns in
your {{ integration.display_name }} account.

'
links:
doc-link: http://developers.hubspot.com/docs/methods/email/get_campaign_data
singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/campaigns.json
api-method: https://developers.hubspot.com/docs/methods/email/get_campaign_data
table-details:
replication-method: Full Table
primary-key: id
- name: companies
description: 'The `{{ table.name }}` table contains info about the companies your
{{ integration.display_name }} contacts belong to.

'
links:
doc-link: http://developers.hubspot.com/docs/methods/companies/get_company
singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/companies.json
api-method: https://developers.hubspot.com/docs/methods/companies/get_company
table-details:
replication-method: Key-based Incremental
primary-key: companyId
- name: contact_lists
description: 'The `{{ table.name }}` table contains info about the contacts lists
in your {{ integration.display_name }} account. Contact lists are used to segment
contacts into groups, and there are two types: dynamic (smart lists) and static.

'
links:
doc-link: https://developers.hubspot.com/docs/methods/lists/contact-lists-overview
singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/contact_lists.json
api-method: https://developers.hubspot.com/docs/methods/lists/get_lists
table-details:
replication-method: Key-based Incremental
primary-key: listId
replication-key: updatedAt
- name: contacts
description: 'The `{{ table.name }}` table contains info about individual contacts
in {{ integration.display_name }}.


### 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.


{{ integration.display_name }} always types the value of `properties` fields as
`STRING` despite the property type. [Refer to HubSpot''s documentation for more
info](https://developers.hubspot.com/docs/methods/contacts/contacts-overview){:target="new"}.

'
links:
doc-link: https://developers.hubspot.com/docs/methods/contacts/contacts-overview
singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/contacts.json
api-method: https://developers.hubspot.com/docs/methods/contacts/get_contacts
table-details:
replication-method: Key-based Incremental
primary-key: id
replication-key: updatedAt
- name: contacts_by_company
description: 'The `{{ table.name }}` table contains contact and company ID pairs,
allowing you to join contacts to relevant company data.


To replicate data from this table, you must also select the parent `companies`
table.

'
links:
doc-link: http://developers.hubspot.com/docs/methods/companies/get_company
singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/contacts_by_company.json
table-details:
replication-method: Full Table
primary-keys:
- contact-id
- company-id
- name: custom_objects
description: 'Tables for custom CRM objects in your {{ integration.display_name
}} account will have the same name as the object. For example, if you have a custom
object named `cars`, the table will be named `cars`.


The fields listed below are standard fields; they are included in every custom
object table. A field will be added for each property you select when configuring
the table. The property names will be prefixed with `property_`. For example,
if you have a property named `model`, it will appear as `property_model`.

'
links:
doc-link: https://developers.hubspot.com/docs/api/crm/crm-custom-objects
singer-schema: https://github.com/singer-io/tap-hubspot/tree/master/tap_hubspot/schemas/shared/custom_objects.json
table-details:
replication-method: Key-based Incremental
primary-key: id
replication-key: updatedAt
- name: deal_pipelines
description: 'The `{{ table.name }}` table contains info about the `deal stage`
and `pipeline` properties.

'
links:
doc-link: https://developers.hubspot.com/docs/methods/deal-pipelines/overview
singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/deal_pipelines.json
api-method: https://developers.hubspot.com/docs/methods/deal-pipelines/get-all-deal-pipelines
table-details:
replication-method: Full Table
primary-key: pipelineId
- name: deals
description: 'The `{{ table.name }}` table contains info about the deals in a {{
integration.display_name }} portal.

'
links:
doc-link: https://developers.hubspot.com/docs/methods/deals/deals_overview
singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/deals.json
api-method: https://developers.hubspot.com/docs/methods/deals/get-all-deals
table-details:
replication-method: Key-based Incremental
primary-key: dealId
- name: forms
description: 'The `{{ table.name }}` table contains info about your {{ integration.display_name
}} website forms.

'
links:
doc-link: https://developers.hubspot.com/docs/methods/forms/forms_overview
singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/forms.json
api-method: https://developers.hubspot.com/docs/methods/forms/v2/get_forms
table-details:
replication-method: Key-based Incremental
primary-key: guid
replication-key: updatedAt
- name: email_events
description: 'The `email_events` table contains info about email events and how
recipients interact with content.


#### Email events and {{ integration.display_name }} permissions


Replicating this table requires **Super Admin** permissions in {{ integration.display_name
}}. The Super Admin role is different than the Admin role, which you can read
more about in [{{ integration.display_name }}''s documentation](https://knowledge.hubspot.com/articles/kcs_article/settings/hubspot-user-roles-guide#admin).


If this table is selected and you don''t have Super Admin permissions in {{ integration.display_name
}}, an error similar to the following will surface in the integration''s [Extraction
Logs]({{ link.replication.extraction-logs | prepend: site.baseurl }}):


```

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

```

'
links:
doc-link: https://developers.hubspot.com/docs/methods/email/email_events_overview
singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/email_events.json
api-method: https://developers.hubspot.com/docs/methods/email/get_events
table-details:
replication-method: Key-based Incremental
primary-key: id
- name: engagements
description: 'The `{{ table.name }}` table contains info about all the engagements
in a {{ integration.display_name }} portal.

'
links:
doc-link: https://developers.hubspot.com/docs/methods/engagements/engagements-overview
singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/engagements.json
api-method: https://developers.hubspot.com/docs/methods/engagements/get-all-engagements
table-details:
replication-method: Key-based Incremental
primary-key: engagement_id
replication-key: lastUpdated
- name: owners
description: 'The `{{ table.name }}` table contains info about the owners that exist
in your {{ integration.display_name }} portal. Owners are created and updated
in {{ integration.display_name }} when new users are added or when owners are
synced from Salesforce to {{ integration.display_name }}.

'
links:
doc-link: https://developers.hubspot.com/docs/methods/owners/owners_overview
singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/owners.json
api-method: https://developers.hubspot.com/docs/api/crm/owners
table-details:
replication-method: Key-based Incremental
primary-key: Id
replication-key: updatedAt
- name: subscription_changes
description: 'The `{{ table.name }}` table contains info about changes made subscriptions.'
links:
doc-link: https://developers.hubspot.com/docs/methods/timeline/timeline-overview
singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/subscription_changes.json
api-method: https://developers.hubspot.com/docs/methods/email/get_subscriptions_timeline
table-details:
replication-method: Key-based Incremental
primary-key:
- recipient
- portalId
- timestamp
- name: tickets
description: 'In HubSpot, tickets represents customer requests for help.'
links:
singer-schema: https://github.com/singer-io/tap-hubspot/tree/master/tap_hubspot/schemas/tickets.json
api-method: https://developers.hubspot.com/docs/api/crm/tickets
table-details:
replication-method: Key-based Incremental
primary-key: id
replication-key: updatedAt
- name: workflows
description: 'The `workflows` table contains info about the workflows in your {{
integration.display_name }} portal.


**Note**: The `workflows` stream only supports contact-based workflows.

'
links:
doc-link: https://developers.hubspot.com/docs/methods/workflows/workflows_overview
singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/workflows.json
api-method: https://developers.hubspot.com/docs/methods/workflows/v3/get_workflows
table-details:
replication-method: Key-based Incremental
primary-key: id
replication-key: updatedAt
Loading