|
| 1 | +tap: hubspot |
| 2 | +version: '4' |
| 3 | +tap-repo-schemas: true |
| 4 | +tables: |
| 5 | +- name: campaigns |
| 6 | + description: 'The `{{ table.name }}` table contains info about the campaigns in |
| 7 | + your {{ integration.display_name }} account. |
| 8 | +
|
| 9 | + ' |
| 10 | + links: |
| 11 | + doc-link: http://developers.hubspot.com/docs/methods/email/get_campaign_data |
| 12 | + singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/campaigns.json |
| 13 | + api-method: https://developers.hubspot.com/docs/methods/email/get_campaign_data |
| 14 | + table-details: |
| 15 | + replication-method: Full Table |
| 16 | + primary-key: id |
| 17 | +- name: companies |
| 18 | + description: 'The `{{ table.name }}` table contains info about the companies your |
| 19 | + {{ integration.display_name }} contacts belong to. |
| 20 | +
|
| 21 | + ' |
| 22 | + links: |
| 23 | + doc-link: http://developers.hubspot.com/docs/methods/companies/get_company |
| 24 | + singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/companies.json |
| 25 | + api-method: https://developers.hubspot.com/docs/methods/companies/get_company |
| 26 | + table-details: |
| 27 | + replication-method: Key-based Incremental |
| 28 | + primary-key: companyId |
| 29 | +- name: contact_lists |
| 30 | + description: 'The `{{ table.name }}` table contains info about the contacts lists |
| 31 | + in your {{ integration.display_name }} account. Contact lists are used to segment |
| 32 | + contacts into groups, and there are two types: dynamic (smart lists) and static. |
| 33 | +
|
| 34 | + ' |
| 35 | + links: |
| 36 | + doc-link: https://developers.hubspot.com/docs/methods/lists/contact-lists-overview |
| 37 | + singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/contact_lists.json |
| 38 | + api-method: https://developers.hubspot.com/docs/methods/lists/get_lists |
| 39 | + table-details: |
| 40 | + replication-method: Key-based Incremental |
| 41 | + primary-key: listId |
| 42 | + replication-key: updatedAt |
| 43 | +- name: contacts |
| 44 | + description: 'The `{{ table.name }}` table contains info about individual contacts |
| 45 | + in {{ integration.display_name }}. |
| 46 | +
|
| 47 | +
|
| 48 | + ### Contact properties |
| 49 | +
|
| 50 | +
|
| 51 | + If properties have been set for the contact, additional fields beginning with |
| 52 | + `properties__` will be included in the table. **Note**: Contacts will only have |
| 53 | + an entry for a property if that property has been set for the contact''s record. |
| 54 | +
|
| 55 | +
|
| 56 | + {{ integration.display_name }} always types the value of `properties` fields as |
| 57 | + `STRING` despite the property type. [Refer to HubSpot''s documentation for more |
| 58 | + info](https://developers.hubspot.com/docs/methods/contacts/contacts-overview){:target="new"}. |
| 59 | +
|
| 60 | + ' |
| 61 | + links: |
| 62 | + doc-link: https://developers.hubspot.com/docs/methods/contacts/contacts-overview |
| 63 | + singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/contacts.json |
| 64 | + api-method: https://developers.hubspot.com/docs/methods/contacts/get_contacts |
| 65 | + table-details: |
| 66 | + replication-method: Key-based Incremental |
| 67 | + primary-key: id |
| 68 | + replication-key: updatedAt |
| 69 | +- name: contacts_by_company |
| 70 | + description: 'The `{{ table.name }}` table contains contact and company ID pairs, |
| 71 | + allowing you to join contacts to relevant company data. |
| 72 | +
|
| 73 | +
|
| 74 | + To replicate data from this table, you must also select the parent `companies` |
| 75 | + table. |
| 76 | +
|
| 77 | + ' |
| 78 | + links: |
| 79 | + doc-link: http://developers.hubspot.com/docs/methods/companies/get_company |
| 80 | + singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/contacts_by_company.json |
| 81 | + table-details: |
| 82 | + replication-method: Full Table |
| 83 | + primary-keys: |
| 84 | + - contact-id |
| 85 | + - company-id |
| 86 | +- name: custom_objects |
| 87 | + description: 'Tables for custom CRM objects in your {{ integration.display_name |
| 88 | + }} account will have the same name as the object. For example, if you have a custom |
| 89 | + object named `cars`, the table will be named `cars`. |
| 90 | +
|
| 91 | +
|
| 92 | + The fields listed below are standard fields; they are included in every custom |
| 93 | + object table. A field will be added for each property you select when configuring |
| 94 | + the table. The property names will be prefixed with `property_`. For example, |
| 95 | + if you have a property named `model`, it will appear as `property_model`. |
| 96 | +
|
| 97 | + ' |
| 98 | + links: |
| 99 | + doc-link: https://developers.hubspot.com/docs/api/crm/crm-custom-objects |
| 100 | + singer-schema: https://github.com/singer-io/tap-hubspot/tree/master/tap_hubspot/schemas/shared/custom_objects.json |
| 101 | + table-details: |
| 102 | + replication-method: Key-based Incremental |
| 103 | + primary-key: id |
| 104 | + replication-key: updatedAt |
| 105 | +- name: deal_pipelines |
| 106 | + description: 'The `{{ table.name }}` table contains info about the `deal stage` |
| 107 | + and `pipeline` properties. |
| 108 | +
|
| 109 | + ' |
| 110 | + links: |
| 111 | + doc-link: https://developers.hubspot.com/docs/methods/deal-pipelines/overview |
| 112 | + singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/deal_pipelines.json |
| 113 | + api-method: https://developers.hubspot.com/docs/methods/deal-pipelines/get-all-deal-pipelines |
| 114 | + table-details: |
| 115 | + replication-method: Full Table |
| 116 | + primary-key: pipelineId |
| 117 | +- name: deals |
| 118 | + description: 'The `{{ table.name }}` table contains info about the deals in a {{ |
| 119 | + integration.display_name }} portal. |
| 120 | +
|
| 121 | + ' |
| 122 | + links: |
| 123 | + doc-link: https://developers.hubspot.com/docs/methods/deals/deals_overview |
| 124 | + singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/deals.json |
| 125 | + api-method: https://developers.hubspot.com/docs/methods/deals/get-all-deals |
| 126 | + table-details: |
| 127 | + replication-method: Key-based Incremental |
| 128 | + primary-key: dealId |
| 129 | +- name: forms |
| 130 | + description: 'The `{{ table.name }}` table contains info about your {{ integration.display_name |
| 131 | + }} website forms. |
| 132 | +
|
| 133 | + ' |
| 134 | + links: |
| 135 | + doc-link: https://developers.hubspot.com/docs/methods/forms/forms_overview |
| 136 | + singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/forms.json |
| 137 | + api-method: https://developers.hubspot.com/docs/methods/forms/v2/get_forms |
| 138 | + table-details: |
| 139 | + replication-method: Key-based Incremental |
| 140 | + primary-key: guid |
| 141 | + replication-key: updatedAt |
| 142 | +- name: email_events |
| 143 | + description: 'The `email_events` table contains info about email events and how |
| 144 | + recipients interact with content. |
| 145 | +
|
| 146 | +
|
| 147 | + #### Email events and {{ integration.display_name }} permissions |
| 148 | +
|
| 149 | +
|
| 150 | + Replicating this table requires **Super Admin** permissions in {{ integration.display_name |
| 151 | + }}. The Super Admin role is different than the Admin role, which you can read |
| 152 | + more about in [{{ integration.display_name }}''s documentation](https://knowledge.hubspot.com/articles/kcs_article/settings/hubspot-user-roles-guide#admin). |
| 153 | +
|
| 154 | +
|
| 155 | + If this table is selected and you don''t have Super Admin permissions in {{ integration.display_name |
| 156 | + }}, an error similar to the following will surface in the integration''s [Extraction |
| 157 | + Logs]({{ link.replication.extraction-logs | prepend: site.baseurl }}): |
| 158 | +
|
| 159 | +
|
| 160 | + ``` |
| 161 | +
|
| 162 | + tap - ERROR b''{"status":"error","message":"This oauth-token (**********) does |
| 163 | + not have proper permissions! (requires any of [email-access])", [...] |
| 164 | +
|
| 165 | + ``` |
| 166 | +
|
| 167 | + ' |
| 168 | + links: |
| 169 | + doc-link: https://developers.hubspot.com/docs/methods/email/email_events_overview |
| 170 | + singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/email_events.json |
| 171 | + api-method: https://developers.hubspot.com/docs/methods/email/get_events |
| 172 | + table-details: |
| 173 | + replication-method: Key-based Incremental |
| 174 | + primary-key: id |
| 175 | +- name: engagements |
| 176 | + description: 'The `{{ table.name }}` table contains info about all the engagements |
| 177 | + in a {{ integration.display_name }} portal. |
| 178 | +
|
| 179 | + ' |
| 180 | + links: |
| 181 | + doc-link: https://developers.hubspot.com/docs/methods/engagements/engagements-overview |
| 182 | + singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/engagements.json |
| 183 | + api-method: https://developers.hubspot.com/docs/methods/engagements/get-all-engagements |
| 184 | + table-details: |
| 185 | + replication-method: Key-based Incremental |
| 186 | + primary-key: engagement_id |
| 187 | + replication-key: lastUpdated |
| 188 | +- name: owners |
| 189 | + description: 'The `{{ table.name }}` table contains info about the owners that exist |
| 190 | + in your {{ integration.display_name }} portal. Owners are created and updated |
| 191 | + in {{ integration.display_name }} when new users are added or when owners are |
| 192 | + synced from Salesforce to {{ integration.display_name }}. |
| 193 | +
|
| 194 | + ' |
| 195 | + links: |
| 196 | + doc-link: https://developers.hubspot.com/docs/methods/owners/owners_overview |
| 197 | + singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/owners.json |
| 198 | + api-method: https://developers.hubspot.com/docs/api/crm/owners |
| 199 | + table-details: |
| 200 | + replication-method: Key-based Incremental |
| 201 | + primary-key: Id |
| 202 | + replication-key: updatedAt |
| 203 | +- name: subscription_changes |
| 204 | + description: 'The `{{ table.name }}` table contains info about changes made subscriptions.' |
| 205 | + links: |
| 206 | + doc-link: https://developers.hubspot.com/docs/methods/timeline/timeline-overview |
| 207 | + singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/subscription_changes.json |
| 208 | + api-method: https://developers.hubspot.com/docs/methods/email/get_subscriptions_timeline |
| 209 | + table-details: |
| 210 | + replication-method: Key-based Incremental |
| 211 | + primary-key: |
| 212 | + - recipient |
| 213 | + - portalId |
| 214 | + - timestamp |
| 215 | +- name: tickets |
| 216 | + description: 'In HubSpot, tickets represents customer requests for help.' |
| 217 | + links: |
| 218 | + singer-schema: https://github.com/singer-io/tap-hubspot/tree/master/tap_hubspot/schemas/tickets.json |
| 219 | + api-method: https://developers.hubspot.com/docs/api/crm/tickets |
| 220 | + table-details: |
| 221 | + replication-method: Key-based Incremental |
| 222 | + primary-key: id |
| 223 | + replication-key: updatedAt |
| 224 | +- name: workflows |
| 225 | + description: 'The `workflows` table contains info about the workflows in your {{ |
| 226 | + integration.display_name }} portal. |
| 227 | +
|
| 228 | +
|
| 229 | + **Note**: The `workflows` stream only supports contact-based workflows. |
| 230 | +
|
| 231 | + ' |
| 232 | + links: |
| 233 | + doc-link: https://developers.hubspot.com/docs/methods/workflows/workflows_overview |
| 234 | + singer-schema: https://github.com/singer-io/tap-hubspot/blob/master/tap_hubspot/schemas/workflows.json |
| 235 | + api-method: https://developers.hubspot.com/docs/methods/workflows/v3/get_workflows |
| 236 | + table-details: |
| 237 | + replication-method: Key-based Incremental |
| 238 | + primary-key: id |
| 239 | + replication-key: updatedAt |
0 commit comments