From 031edbb21c20d82a9103a29301d7d627934b9c20 Mon Sep 17 00:00:00 2001 From: Yevhenii <34103125+yevhenii-ldv@users.noreply.github.com> Date: Mon, 18 Jan 2021 10:10:14 +0200 Subject: [PATCH] #1565 Issue: adopt connector best practices for Hubspot Source (#1630) Co-authored-by: Sherif Nada --- .../57eb1576-8f52-463d-beb6-2e107cdf571d.json | 2 +- .../resources/seed/source_definitions.yaml | 2 +- .../source/StandardSourceTest.java | 3 +- .../source-hubspot-singer/Dockerfile | 2 +- .../{catalog.json => configured_catalog.json} | 4310 +++++++++++++++++ .../source_hubspot_singer/source.py | 18 +- .../standardtest/standard_source_test.py | 25 +- 7 files changed, 4329 insertions(+), 33 deletions(-) rename airbyte-integrations/connectors/source-hubspot-singer/resourcesstandardtest/{catalog.json => configured_catalog.json} (51%) diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/57eb1576-8f52-463d-beb6-2e107cdf571d.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/57eb1576-8f52-463d-beb6-2e107cdf571d.json index 0228a9775b43c2..25281d48aebb44 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/57eb1576-8f52-463d-beb6-2e107cdf571d.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/57eb1576-8f52-463d-beb6-2e107cdf571d.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "57eb1576-8f52-463d-beb6-2e107cdf571d", "name": "Hubspot", "dockerRepository": "airbyte/source-hubspot-singer", - "dockerImageTag": "0.1.4", + "dockerImageTag": "0.1.5", "documentationUrl": "https://https://docs.airbyte.io/integrations/sources/hubspot" } diff --git a/airbyte-config/init/src/main/resources/seed/source_definitions.yaml b/airbyte-config/init/src/main/resources/seed/source_definitions.yaml index 7b9ff2f9ab2d25..dac7fbde39ff75 100644 --- a/airbyte-config/init/src/main/resources/seed/source_definitions.yaml +++ b/airbyte-config/init/src/main/resources/seed/source_definitions.yaml @@ -81,7 +81,7 @@ - sourceDefinitionId: 57eb1576-8f52-463d-beb6-2e107cdf571d name: Hubspot dockerRepository: airbyte/source-hubspot-singer - dockerImageTag: 0.1.4 + dockerImageTag: 0.1.5 documentationUrl: https://https://docs.airbyte.io/integrations/sources/hubspot - sourceDefinitionId: b1892b11-788d-44bd-b9ec-3a436f7b54ce name: Shopify diff --git a/airbyte-integrations/bases/standard-source-test/src/main/java/io/airbyte/integrations/standardtest/source/StandardSourceTest.java b/airbyte-integrations/bases/standard-source-test/src/main/java/io/airbyte/integrations/standardtest/source/StandardSourceTest.java index cca49f96fc4d5a..cf0ef51ea9aba7 100644 --- a/airbyte-integrations/bases/standard-source-test/src/main/java/io/airbyte/integrations/standardtest/source/StandardSourceTest.java +++ b/airbyte-integrations/bases/standard-source-test/src/main/java/io/airbyte/integrations/standardtest/source/StandardSourceTest.java @@ -104,7 +104,8 @@ public abstract class StandardSourceTest { "airbyte/source-mixpanel-singer", "airbyte/source-twilio-singer", "airbyte/source-braintree-singer", - "airbyte/source-salesforce-singer"); + "airbyte/source-salesforce-singer", + "airbyte/source-hubspot-singer"); /** * Name of the docker image that the tests will run against. diff --git a/airbyte-integrations/connectors/source-hubspot-singer/Dockerfile b/airbyte-integrations/connectors/source-hubspot-singer/Dockerfile index ab363aafef752b..1a6eedf6ef80b9 100644 --- a/airbyte-integrations/connectors/source-hubspot-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-hubspot-singer/Dockerfile @@ -8,7 +8,7 @@ ENV CODE_PATH="source_hubspot_singer" ENV AIRBYTE_IMPL_MODULE="source_hubspot_singer" ENV AIRBYTE_IMPL_PATH="SourceHubspotSinger" -LABEL io.airbyte.version=0.1.4 +LABEL io.airbyte.version=0.1.5 LABEL io.airbyte.name=airbyte/source-hubspot-singer WORKDIR /airbyte/integration_code diff --git a/airbyte-integrations/connectors/source-hubspot-singer/resourcesstandardtest/catalog.json b/airbyte-integrations/connectors/source-hubspot-singer/resourcesstandardtest/configured_catalog.json similarity index 51% rename from airbyte-integrations/connectors/source-hubspot-singer/resourcesstandardtest/catalog.json rename to airbyte-integrations/connectors/source-hubspot-singer/resourcesstandardtest/configured_catalog.json index 5f1db068f05de1..57a28099d70518 100644 --- a/airbyte-integrations/connectors/source-hubspot-singer/resourcesstandardtest/catalog.json +++ b/airbyte-integrations/connectors/source-hubspot-singer/resourcesstandardtest/configured_catalog.json @@ -4546,6 +4546,4316 @@ "additionalProperties": false } } + }, + { + "stream": { + "name": "contact_lists", + "json_schema": { + "type": "object", + "properties": { + "parentId": { + "type": ["null", "integer"] + }, + "metaData": { + "type": "object", + "properties": { + "processing": { + "type": ["null", "string"] + }, + "size": { + "type": ["null", "integer"] + }, + "error": { + "type": ["null", "string"] + }, + "lastProcessingStateChangeAt": { + "type": ["null", "string"], + "format": "date-time" + }, + "lastSizeChangeAt": { + "type": ["null", "string"], + "format": "date-time" + } + } + }, + "dynamic": { + "type": ["null", "boolean"] + }, + "name": { + "type": ["null", "string"] + }, + "filters": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "filterFamily": { + "type": ["null", "string"] + }, + "withinTimeMode": { + "type": ["null", "string"] + }, + "checkPastVersions": { + "type": ["null", "boolean"] + }, + "type": { + "type": ["null", "string"] + }, + "property": { + "type": ["null", "string"] + }, + "value": { + "type": ["null", "string"] + }, + "operator": { + "type": ["null", "string"] + } + } + } + } + }, + "portalId": { + "type": ["null", "integer"] + }, + "createdAt": { + "type": ["null", "string"], + "format": "date-time" + }, + "listId": { + "type": ["null", "integer"] + }, + "updatedAt": { + "type": ["null", "string"], + "format": "date-time" + }, + "internalListId": { + "type": ["null", "integer"] + }, + "readOnly": { + "type": ["null", "boolean"] + }, + "deleteable": { + "type": ["null", "boolean"] + }, + "listType": { + "type": ["null", "string"] + }, + "archived": { + "type": ["null", "boolean"] + } + } + }, + "supported_sync_modes": ["incremental"], + "source_defined_cursor": true, + "default_cursor_field": ["updatedAt"] + }, + "sync_mode": "incremental", + "cursor_field": ["updatedAt"] + }, + { + "stream": { + "name": "subscription_changes", + "json_schema": { + "type": "object", + "properties": { + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "portalId": { + "type": ["null", "integer"] + }, + "recipient": { + "type": ["null", "string"] + }, + "changes": { + "type": ["null", "array"], + "items": { + "type": ["null", "object"], + "properties": { + "change": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "portalId": { + "type": ["null", "integer"] + }, + "subscriptionId": { + "type": ["null", "integer"] + }, + "changeType": { + "type": ["null", "string"] + }, + "causedByEvent": { + "type": ["null", "object"], + "properties": { + "id": { + "type": ["null", "string"] + }, + "created": { + "type": ["null", "string"], + "format": "date-time" + } + } + } + } + } + } + } + }, + "supported_sync_modes": ["incremental"], + "source_defined_cursor": true, + "default_cursor_field": ["startTimestamp"] + }, + "sync_mode": "incremental", + "cursor_field": ["startTimestamp"] + }, + { + "stream": { + "name": "email_events", + "json_schema": { + "type": "object", + "properties": { + "appId": { + "type": ["null", "integer"] + }, + "appName": { + "type": ["null", "string"] + }, + "browser": { + "type": ["null", "object"], + "properties": { + "family": { + "type": ["null", "string"] + }, + "name": { + "type": ["null", "string"] + }, + "producer": { + "type": ["null", "string"] + }, + "producerUrl": { + "type": ["null", "string"] + }, + "type": { + "type": ["null", "string"] + }, + "url": { + "type": ["null", "string"] + } + } + }, + "created": { + "type": ["null", "string"], + "format": "date-time" + }, + "deviceType": { + "type": ["null", "string"] + }, + "duration": { + "type": ["null", "integer"] + }, + "emailCampaignId": { + "type": ["null", "integer"] + }, + "emailCampaignGroupId": { + "type": ["null", "integer"] + }, + "filteredEvent": { + "type": ["null", "boolean"] + }, + "from": { + "type": ["null", "string"] + }, + "hmid": { + "type": ["null", "string"] + }, + "id": { + "type": ["null", "string"] + }, + "ipAddress": { + "type": ["null", "string"] + }, + "linkId": { + "type": ["null", "integer"] + }, + "location": { + "type": ["null", "object"], + "properties": { + "city": { + "type": ["null", "string"] + }, + "country": { + "type": ["null", "string"] + }, + "state": { + "type": ["null", "string"] + } + } + }, + "portalId": { + "type": ["null", "integer"] + }, + "recipient": { + "type": ["null", "string"] + }, + "response": { + "type": ["null", "string"] + }, + "sentBy": { + "type": ["null", "object"], + "properties": { + "created": { + "type": ["null", "string"], + "format": "date-time" + }, + "id": { + "type": ["null", "string"] + } + } + }, + "smtpId": { + "type": ["null", "string"] + }, + "subject": { + "type": ["null", "string"] + }, + "type": { + "type": ["null", "string"] + }, + "url": { + "type": ["null", "string"] + }, + "userAgent": { + "type": ["null", "string"] + } + } + }, + "supported_sync_modes": ["incremental"], + "source_defined_cursor": true, + "default_cursor_field": ["startTimestamp"] + }, + "sync_mode": "incremental", + "cursor_field": ["startTimestamp"] + }, + { + "stream": { + "name": "engagements", + "json_schema": { + "type": "object", + "properties": { + "engagement_id": { + "type": "integer" + }, + "engagement": { + "type": "object", + "properties": { + "id": { + "type": "integer" + }, + "portalId": { + "type": "integer" + }, + "active": { + "type": "boolean" + }, + "createdAt": { + "type": ["null", "string"], + "format": "date-time" + }, + "lastUpdated": { + "type": ["null", "string"], + "format": "date-time" + }, + "ownerId": { + "type": "integer" + }, + "type": { + "type": "string" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + } + } + }, + "associations": { + "type": ["null", "object"], + "properties": { + "contactIds": { + "type": ["null", "array"], + "items": { + "type": "integer" + } + }, + "companyIds": { + "type": ["null", "array"], + "items": { + "type": "integer" + } + }, + "dealIds": { + "type": ["null", "array"], + "items": { + "type": "integer" + } + } + } + }, + "attachments": { + "type": ["null", "array"], + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer" + } + } + } + }, + "metadata": { + "type": ["null", "object"], + "properties": { + "body": { + "type": ["null", "string"] + }, + "from": { + "type": ["null", "object"], + "properties": { + "email": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + } + } + }, + "to": { + "type": ["null", "array"], + "items": { + "type": "object", + "properties": { + "email": { + "type": "string" + } + } + } + }, + "cc": { + "type": ["null", "array"], + "items": { + "type": "object", + "properties": { + "email": { + "type": "string" + } + } + } + }, + "bcc": { + "type": ["null", "array"], + "items": { + "type": "object", + "properties": { + "email": { + "type": "string" + } + } + } + }, + "subject": { + "type": ["null", "string"] + }, + "html": { + "type": ["null", "string"] + }, + "text": { + "type": ["null", "string"] + }, + "status": { + "type": ["null", "string"] + }, + "forObjectType": { + "type": ["null", "string"] + }, + "startTime": { + "type": ["null", "integer"] + }, + "endTime": { + "type": ["null", "integer"] + }, + "title": { + "type": ["null", "string"] + }, + "toNumber": { + "type": ["null", "string"] + }, + "fromNumber": { + "type": ["null", "string"] + }, + "externalId": { + "type": ["null", "string"] + }, + "durationMilliseconds": { + "type": ["null", "integer"] + }, + "externalAccountId": { + "type": ["null", "string"] + }, + "recordingUrl": { + "type": ["null", "string"], + "format": "uri" + }, + "disposition": { + "type": ["null", "string"] + } + } + } + } + }, + "supported_sync_modes": ["incremental"], + "source_defined_cursor": true, + "default_cursor_field": ["lastUpdated"] + }, + "sync_mode": "incremental", + "cursor_field": ["lastUpdated"] + }, + { + "stream": { + "name": "deal_pipelines", + "json_schema": { + "type": "object", + "properties": { + "pipelineId": { + "type": ["null", "string"] + }, + "stages": { + "type": ["null", "array"], + "items": { + "type": "object", + "properties": { + "stageId": { + "type": ["null", "string"] + }, + "label": { + "type": ["null", "string"] + }, + "probability": { + "type": ["null", "number"] + }, + "active": { + "type": ["null", "boolean"] + }, + "displayOrder": { + "type": ["null", "integer"] + }, + "closedWon": { + "type": ["null", "boolean"] + } + } + } + }, + "label": { + "type": ["null", "string"] + }, + "active": { + "type": ["null", "boolean"] + }, + "displayOrder": { + "type": ["null", "integer"] + }, + "staticDefault": { + "type": ["null", "boolean"] + } + } + } + } + }, + { + "stream": { + "name": "deals", + "json_schema": { + "type": "object", + "properties": { + "portalId": { + "type": ["null", "integer"] + }, + "dealId": { + "type": ["null", "integer"] + }, + "isDeleted": { + "type": ["null", "boolean"] + }, + "associations": { + "type": ["null", "object"], + "properties": { + "associatedVids": { + "type": ["null", "array"], + "items": { + "type": ["null", "integer"] + } + }, + "associatedCompanyIds": { + "type": ["null", "array"], + "items": { + "type": ["null", "integer"] + } + }, + "associatedDealIds": { + "type": ["null", "array"], + "items": { + "type": ["null", "integer"] + } + } + } + }, + "properties": { + "type": "object", + "properties": { + "amount_in_home_currency": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "days_to_close": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_acv": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_analytics_source": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_analytics_source_data_1": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_analytics_source_data_2": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_arr": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_campaign": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_closed_amount": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_closed_amount_in_home_currency": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_created_by_user_id": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_date_entered_appointmentscheduled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_date_entered_closedlost": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_date_entered_closedwon": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_date_entered_contractsent": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_date_entered_decisionmakerboughtin": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_date_entered_presentationscheduled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_date_entered_qualifiedtobuy": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_date_exited_appointmentscheduled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_date_exited_closedlost": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_date_exited_closedwon": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_date_exited_contractsent": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_date_exited_decisionmakerboughtin": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_date_exited_presentationscheduled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_date_exited_qualifiedtobuy": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_deal_amount_calculation_preference": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_deal_stage_probability": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_forecast_amount": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_forecast_probability": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_is_closed": { + "type": "object", + "properties": { + "value": { + "type": ["null", "boolean"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_lastmodifieddate": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_likelihood_to_close": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_line_item_global_term_hs_discount_percentage": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_line_item_global_term_hs_discount_percentage_enabled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "boolean"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_line_item_global_term_hs_recurring_billing_period": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_line_item_global_term_hs_recurring_billing_period_enabled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "boolean"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_line_item_global_term_hs_recurring_billing_start_date": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_line_item_global_term_hs_recurring_billing_start_date_enabled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "boolean"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_line_item_global_term_recurringbillingfrequency": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_line_item_global_term_recurringbillingfrequency_enabled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "boolean"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_manual_forecast_category": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_merged_object_ids": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_mrr": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_next_step": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_object_id": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_predicted_amount": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_predicted_amount_in_home_currency": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_projected_amount": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_projected_amount_in_home_currency": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_tcv": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_time_in_appointmentscheduled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_time_in_closedlost": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_time_in_closedwon": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_time_in_contractsent": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_time_in_decisionmakerboughtin": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_time_in_presentationscheduled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_time_in_qualifiedtobuy": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_updated_by_user_id": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_user_ids_of_all_owners": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hubspot_owner_assigneddate": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "dealname": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "amount": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "dealstage": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "pipeline": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "closedate": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "createdate": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "engagements_last_meeting_booked": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "engagements_last_meeting_booked_campaign": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "engagements_last_meeting_booked_medium": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "engagements_last_meeting_booked_source": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_latest_meeting_activity": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_sales_email_last_replied": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hubspot_owner_id": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "notes_last_contacted": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "notes_last_updated": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "notes_next_activity_date": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "num_contacted_notes": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "num_notes": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_createdate": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hubspot_team_id": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "dealtype": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_all_owner_ids": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "description": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_all_team_ids": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "hs_all_accessible_team_ids": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "num_associated_contacts": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "closed_lost_reason": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "closed_won_reason": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + } + } + }, + "property_amount_in_home_currency": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_days_to_close": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_acv": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_analytics_source": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_analytics_source_data_1": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_analytics_source_data_2": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_arr": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_campaign": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_closed_amount": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_closed_amount_in_home_currency": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_created_by_user_id": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_date_entered_appointmentscheduled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_date_entered_closedlost": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_date_entered_closedwon": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_date_entered_contractsent": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_date_entered_decisionmakerboughtin": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_date_entered_presentationscheduled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_date_entered_qualifiedtobuy": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_date_exited_appointmentscheduled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_date_exited_closedlost": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_date_exited_closedwon": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_date_exited_contractsent": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_date_exited_decisionmakerboughtin": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_date_exited_presentationscheduled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_date_exited_qualifiedtobuy": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_deal_amount_calculation_preference": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_deal_stage_probability": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_forecast_amount": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_forecast_probability": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_is_closed": { + "type": "object", + "properties": { + "value": { + "type": ["null", "boolean"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_lastmodifieddate": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_likelihood_to_close": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_line_item_global_term_hs_discount_percentage": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_line_item_global_term_hs_discount_percentage_enabled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "boolean"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_line_item_global_term_hs_recurring_billing_period": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_line_item_global_term_hs_recurring_billing_period_enabled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "boolean"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_line_item_global_term_hs_recurring_billing_start_date": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_line_item_global_term_hs_recurring_billing_start_date_enabled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "boolean"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_line_item_global_term_recurringbillingfrequency": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_line_item_global_term_recurringbillingfrequency_enabled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "boolean"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_manual_forecast_category": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_merged_object_ids": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_mrr": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_next_step": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_object_id": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_predicted_amount": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_predicted_amount_in_home_currency": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_projected_amount": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_projected_amount_in_home_currency": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_tcv": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_time_in_appointmentscheduled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_time_in_closedlost": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_time_in_closedwon": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_time_in_contractsent": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_time_in_decisionmakerboughtin": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_time_in_presentationscheduled": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_time_in_qualifiedtobuy": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_updated_by_user_id": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_user_ids_of_all_owners": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hubspot_owner_assigneddate": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_dealname": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_amount": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_dealstage": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_pipeline": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_closedate": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_createdate": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_engagements_last_meeting_booked": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_engagements_last_meeting_booked_campaign": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_engagements_last_meeting_booked_medium": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_engagements_last_meeting_booked_source": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_latest_meeting_activity": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_sales_email_last_replied": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hubspot_owner_id": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_notes_last_contacted": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_notes_last_updated": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_notes_next_activity_date": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_num_contacted_notes": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_num_notes": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_createdate": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"], + "format": "date-time" + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hubspot_team_id": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_dealtype": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_all_owner_ids": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_description": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_all_team_ids": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_hs_all_accessible_team_ids": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_num_associated_contacts": { + "type": "object", + "properties": { + "value": { + "type": ["null", "number", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_closed_lost_reason": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "property_closed_won_reason": { + "type": "object", + "properties": { + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + } + } + }, + "properties_versions": { + "type": "array", + "items": { + "type": ["null", "object"], + "properties": { + "name": { + "type": ["null", "string"] + }, + "value": { + "type": ["null", "string"] + }, + "timestamp": { + "type": ["null", "string"], + "format": "date-time" + }, + "source": { + "type": ["null", "string"] + }, + "sourceId": { + "type": ["null", "string"] + }, + "sourceVid": { + "type": ["null", "array"], + "items": { + "type": ["null", "string"] + } + } + } + } + } + } + }, + "supported_sync_modes": ["incremental"], + "source_defined_cursor": true, + "default_cursor_field": ["hs_lastmodifieddate"] + }, + "sync_mode": "incremental", + "cursor_field": ["hs_lastmodifieddate"] + }, + { + "stream": { + "name": "owners", + "json_schema": { + "type": "object", + "properties": { + "portalId": { + "type": ["null", "integer"] + }, + "ownerId": { + "type": ["null", "integer"] + }, + "type": { + "type": ["null", "string"] + }, + "firstName": { + "type": ["null", "string"] + }, + "lastName": { + "type": ["null", "string"] + }, + "email": { + "type": ["null", "string"] + }, + "createdAt": { + "type": ["null", "string"], + "format": "date-time" + }, + "signature": { + "type": ["null", "string"] + }, + "updatedAt": { + "type": ["null", "string"], + "format": "date-time" + }, + "hasContactsAccess": { + "type": ["null", "boolean"] + }, + "isActive": { + "type": ["null", "boolean"] + }, + "activeUserId": { + "type": ["null", "integer"] + }, + "userIdIncludingInactive": { + "type": ["null", "integer"] + }, + "remoteList": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": ["null", "integer"] + }, + "portalId": { + "type": ["null", "integer"] + }, + "ownerId": { + "type": ["null", "integer"] + }, + "remoteId": { + "type": ["null", "string"] + }, + "remoteType": { + "type": ["null", "string"] + }, + "active": { + "type": ["null", "boolean"] + } + } + } + } + } + }, + "supported_sync_modes": ["incremental"], + "source_defined_cursor": true, + "default_cursor_field": ["updatedAt"] + }, + "sync_mode": "incremental", + "cursor_field": ["updatedAt"] + }, + { + "stream": { + "name": "workflows", + "json_schema": { + "type": "object", + "properties": { + "name": { + "type": ["null", "string"] + }, + "id": { + "type": ["null", "integer"] + }, + "type": { + "type": ["null", "string"] + }, + "enabled": { + "type": ["null", "boolean"] + }, + "insertedAt": { + "type": ["null", "string"], + "format": "date-time" + }, + "updatedAt": { + "type": ["null", "string"], + "format": "date-time" + }, + "personaTagIds": { + "type": "array", + "items": { + "type": "integer" + } + }, + "contactListIds": { + "type": "object", + "properties": { + "enrolled": { + "type": ["null", "integer"] + }, + "active": { + "type": ["null", "integer"] + }, + "steps": { + "type": ["null", "array"], + "items": { + "type": ["null", "string"] + } + } + } + } + } + }, + "supported_sync_modes": ["incremental"], + "source_defined_cursor": true, + "default_cursor_field": ["updatedAt"] + }, + "sync_mode": "incremental", + "cursor_field": ["updatedAt"] + }, + { + "stream": { + "name": "forms", + "json_schema": { + "type": "object", + "properties": { + "deletedAt": { + "type": ["null", "integer"] + }, + "portalId": { + "type": ["null", "integer"] + }, + "guid": { + "type": ["null", "string"] + }, + "name": { + "type": ["null", "string"] + }, + "action": { + "type": ["null", "string"] + }, + "method": { + "type": ["null", "string"] + }, + "cssClass": { + "type": ["null", "string"] + }, + "redirect": { + "type": ["null", "string"] + }, + "submitText": { + "type": ["null", "string"] + }, + "followUpId": { + "type": ["null", "string"] + }, + "notifyRecipients": { + "type": ["null", "string"] + }, + "leadNurturingCampaignId": { + "type": ["null", "string"] + }, + "formFieldGroups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fields": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": ["null", "string"] + }, + "label": { + "type": ["null", "string"] + }, + "type": { + "type": ["null", "string"] + }, + "fieldType": { + "type": ["null", "string"] + }, + "description": { + "type": ["null", "string"] + }, + "groupName": { + "type": ["null", "string"] + }, + "displayOrder": { + "type": ["null", "integer"] + }, + "required": { + "type": ["null", "boolean"] + }, + "validation": { + "type": "object", + "properties": { + "name": { + "type": ["null", "string"] + }, + "message": { + "type": ["null", "string"] + }, + "data": { + "type": ["null", "string"] + }, + "useDefaultBlockList": { + "type": ["null", "boolean"] + }, + "blockedEmailAddresses": { + "type": "array", + "items": { + "type": ["null", "string"] + } + } + } + }, + "enabled": { + "type": ["null", "boolean"] + }, + "hidden": { + "type": ["null", "boolean"] + }, + "defaultValue": { + "type": ["null", "string"] + }, + "isSmartField": { + "type": ["null", "boolean"] + }, + "unselectedLabel": { + "type": ["null", "string"] + }, + "placeholder": { + "type": ["null", "string"] + }, + "labelHidden": { + "type": ["null", "boolean"] + }, + "options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "description": { + "type": ["null", "string"] + }, + "displayOrder": { + "type": ["null", "integer"] + }, + "doubleData": { + "type": ["null", "number"] + }, + "hidden": { + "type": ["null", "boolean"] + }, + "label": { + "type": ["null", "string"] + }, + "readOnly": { + "type": ["null", "boolean"] + }, + "value": { + "type": ["null", "string"] + } + } + } + }, + "selectedOptions": { + "type": "array", + "items": { + "type": ["null", "string"] + } + } + } + } + }, + "default": { + "type": ["null", "boolean"] + }, + "isSmartGroup": { + "type": ["null", "boolean"] + }, + "richText": { + "type": "object", + "properties": { + "content": { + "type": ["null", "string"] + } + } + } + } + } + }, + "createdAt": { + "type": ["null", "string"], + "format": "date-time" + }, + "updatedAt": { + "type": ["null", "string"], + "format": "date-time" + }, + "performableHtml": { + "type": ["null", "string"] + }, + "migratedFrom": { + "type": ["null", "string"] + }, + "ignoreCurrentValues": { + "type": ["null", "boolean"] + }, + "deletable": { + "type": ["null", "boolean"] + }, + "inlineMessage": { + "type": ["null", "string"] + }, + "tmsId": { + "type": ["null", "string"] + }, + "captchaEnabled": { + "type": ["null", "boolean"] + }, + "campaignGuid": { + "type": ["null", "string"] + }, + "cloneable": { + "type": ["null", "boolean"] + }, + "editable": { + "type": ["null", "boolean"] + }, + "formType": { + "type": ["null", "string"] + }, + "metaData": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": ["null", "string"] + }, + "value": { + "type": ["null", "string"] + } + } + } + } + } + }, + "supported_sync_modes": ["incremental"], + "source_defined_cursor": true, + "default_cursor_field": ["updatedAt"] + }, + "sync_mode": "incremental", + "cursor_field": ["updatedAt"] + }, + { + "stream": { + "name": "campaigns", + "json_schema": { + "type": "object", + "properties": { + "appId": { + "type": ["null", "integer"] + }, + "appName": { + "type": ["null", "string"] + }, + "contentId": { + "type": ["null", "integer"] + }, + "counters": { + "type": ["null", "object"], + "properties": { + "delievered": { + "type": ["null", "integer"] + }, + "open": { + "type": ["null", "integer"] + }, + "processed": { + "type": ["null", "integer"] + }, + "sent": { + "type": ["null", "integer"] + }, + "deferred": { + "type": ["null", "integer"] + }, + "unsubscribed": { + "type": ["null", "integer"] + }, + "statuschange": { + "type": ["null", "integer"] + }, + "bounce": { + "type": ["null", "integer"] + }, + "mta_dropped": { + "type": ["null", "integer"] + }, + "dropped": { + "type": ["null", "integer"] + }, + "suppressed": { + "type": ["null", "integer"] + }, + "click": { + "type": ["null", "integer"] + }, + "delivered": { + "type": ["null", "integer"] + }, + "forward": { + "type": ["null", "integer"] + }, + "print": { + "type": ["null", "integer"] + }, + "reply": { + "type": ["null", "integer"] + }, + "spamreport": { + "type": ["null", "integer"] + } + } + }, + "id": { + "type": ["null", "integer"] + }, + "name": { + "type": ["null", "string"] + }, + "numIncluded": { + "type": ["null", "integer"] + }, + "numQueued": { + "type": ["null", "integer"] + }, + "subType": { + "type": ["null", "string"] + }, + "subject": { + "type": ["null", "string"] + }, + "type": { + "type": ["null", "string"] + } + } + } + } } ] } diff --git a/airbyte-integrations/connectors/source-hubspot-singer/source_hubspot_singer/source.py b/airbyte-integrations/connectors/source-hubspot-singer/source_hubspot_singer/source.py index 8e0587d751e794..7120d3ab1a89fa 100644 --- a/airbyte-integrations/connectors/source-hubspot-singer/source_hubspot_singer/source.py +++ b/airbyte-integrations/connectors/source-hubspot-singer/source_hubspot_singer/source.py @@ -27,12 +27,14 @@ import requests from airbyte_protocol import AirbyteConnectionStatus, Status from base_singer import AirbyteLogger, SingerSource +from requests.status_codes import codes as status_codes class SourceHubspotSinger(SingerSource): def check_config(self, logger: AirbyteLogger, config_path: str, config: json) -> AirbyteConnectionStatus: + error_msg = "Unable to connect with the provided credentials. Error: {}" try: - api_key = config.get("hapikey", None) + api_key = config.get("hapikey") if api_key: logger.info("checking with api key") r = requests.get(f"https://api.hubapi.com/contacts/v1/lists/all/contacts/all?hapikey={api_key}") @@ -49,25 +51,27 @@ def check_config(self, logger: AirbyteLogger, config_path: str, config: json) -> } resp = requests.post("https://api.hubapi.com/oauth/v1/token", data=payload) - if resp.status_code == 403: - return AirbyteConnectionStatus(status=Status.FAILED, message=resp.content) + if resp.status_code == status_codes.FORBIDDEN: + return AirbyteConnectionStatus(status=Status.FAILED, message=error_msg.format(resp.text)) try: resp.raise_for_status() except Exception as e: - return AirbyteConnectionStatus(status=Status.FAILED, message=f"{str(e)}") + logger.error(str(e)) + return AirbyteConnectionStatus(status=Status.FAILED, message=error_msg.format(e)) auth = resp.json() headers = {"Authorization": "Bearer {}".format(auth["access_token"])} r = requests.get("https://api.hubapi.com/contacts/v1/lists/all/contacts/all", headers=headers) - if r.status_code == 200: + if r.status_code == status_codes.OK: return AirbyteConnectionStatus(status=Status.SUCCEEDED) else: - return AirbyteConnectionStatus(status=Status.FAILED, message=r.text) + return AirbyteConnectionStatus(status=Status.FAILED, message=error_msg.format(r.text)) except Exception as e: - return AirbyteConnectionStatus(status=Status.FAILED, message=f"{str(e)}") + logger.error(str(e)) + return AirbyteConnectionStatus(status=Status.FAILED, message=error_msg.format(e)) def discover_cmd(self, logger, config_path) -> str: return f"tap-hubspot --config {config_path} --discover" diff --git a/airbyte-integrations/connectors/source-hubspot-singer/standardtest/standard_source_test.py b/airbyte-integrations/connectors/source-hubspot-singer/standardtest/standard_source_test.py index 78c0a93395ac50..c4e540e1625b13 100644 --- a/airbyte-integrations/connectors/source-hubspot-singer/standardtest/standard_source_test.py +++ b/airbyte-integrations/connectors/source-hubspot-singer/standardtest/standard_source_test.py @@ -22,27 +22,8 @@ SOFTWARE. """ -import json -import pkgutil +from base_python_test import DefaultStandardSourceTest -from airbyte_protocol import ConfiguredAirbyteCatalog, ConnectorSpecification -from base_python_test import StandardSourceTestIface - -class HubspotStandardSourceTest(StandardSourceTestIface): - def get_spec(self) -> ConnectorSpecification: - raw_spec = pkgutil.get_data(self.__class__.__module__.split(".")[0], "spec.json") - return ConnectorSpecification.parse_obj(json.loads(raw_spec)) - - def get_config(self) -> object: - return json.loads(pkgutil.get_data(self.__class__.__module__.split(".")[0], "config.json")) - - def get_catalog(self) -> ConfiguredAirbyteCatalog: - raw_spec = pkgutil.get_data(self.__class__.__module__.split(".")[0], "catalog.json") - return ConfiguredAirbyteCatalog.parse_obj(json.loads(raw_spec)) - - def setup(self) -> None: - pass - - def teardown(self) -> None: - pass +class HubspotStandardSourceTest(DefaultStandardSourceTest): + pass