From 217a651663196ee81a10c1b596f4690716737458 Mon Sep 17 00:00:00 2001 From: Denys Davydov Date: Tue, 15 Nov 2022 13:40:27 +0200 Subject: [PATCH] Source Salesforce: add more unsupported bulk entities, fix fallback to rest (#19286) * #985 source salesforce: add more unsupported bulk entities, fix fallback to rest * #985 source salesforce: upd changelog * #985 source salesforce - add docstring for a test * #985 source Salesforce: bump version * #985 source salesforce: move SATs to high level strictness * auto-bump connector version Co-authored-by: Octavia Squidington III --- .../resources/seed/source_definitions.yaml | 2 +- .../src/main/resources/seed/source_specs.yaml | 2 +- .../connectors/source-salesforce/Dockerfile | 2 +- .../acceptance-test-config.yml | 50 ++++++--- .../integration_tests/configured_catalog.json | 16 +-- .../integration_tests/expected_records.txt | 93 ++++++++++++++++ .../incremental_catalog.json | 100 +++++++++++++++++ .../source_salesforce/api.py | 24 ++++ .../source_salesforce/streams.py | 2 +- .../source-salesforce/unit_tests/api_test.py | 27 +++++ docs/integrations/sources/salesforce.md | 103 +++++++++--------- 11 files changed, 342 insertions(+), 79 deletions(-) create mode 100644 airbyte-integrations/connectors/source-salesforce/integration_tests/expected_records.txt create mode 100644 airbyte-integrations/connectors/source-salesforce/integration_tests/incremental_catalog.json 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 90965a272b90f..7f48a86ce8cc7 100644 --- a/airbyte-config/init/src/main/resources/seed/source_definitions.yaml +++ b/airbyte-config/init/src/main/resources/seed/source_definitions.yaml @@ -1328,7 +1328,7 @@ - name: Salesforce sourceDefinitionId: b117307c-14b6-41aa-9422-947e34922962 dockerRepository: airbyte/source-salesforce - dockerImageTag: 1.0.25 + dockerImageTag: 1.0.26 documentationUrl: https://docs.airbyte.com/integrations/sources/salesforce icon: salesforce.svg sourceType: api diff --git a/airbyte-config/init/src/main/resources/seed/source_specs.yaml b/airbyte-config/init/src/main/resources/seed/source_specs.yaml index 615c08ccf32a8..648f1a1afadf1 100644 --- a/airbyte-config/init/src/main/resources/seed/source_specs.yaml +++ b/airbyte-config/init/src/main/resources/seed/source_specs.yaml @@ -12297,7 +12297,7 @@ supportsNormalization: false supportsDBT: false supported_destination_sync_modes: [] -- dockerImage: "airbyte/source-salesforce:1.0.25" +- dockerImage: "airbyte/source-salesforce:1.0.26" spec: documentationUrl: "https://docs.airbyte.com/integrations/sources/salesforce" connectionSpecification: diff --git a/airbyte-integrations/connectors/source-salesforce/Dockerfile b/airbyte-integrations/connectors/source-salesforce/Dockerfile index ceadb879d36db..4d2d34725d201 100644 --- a/airbyte-integrations/connectors/source-salesforce/Dockerfile +++ b/airbyte-integrations/connectors/source-salesforce/Dockerfile @@ -13,5 +13,5 @@ RUN pip install . ENTRYPOINT ["python", "/airbyte/integration_code/main.py"] -LABEL io.airbyte.version=1.0.25 +LABEL io.airbyte.version=1.0.26 LABEL io.airbyte.name=airbyte/source-salesforce diff --git a/airbyte-integrations/connectors/source-salesforce/acceptance-test-config.yml b/airbyte-integrations/connectors/source-salesforce/acceptance-test-config.yml index 3ad8172e6d61a..9494904b2b767 100644 --- a/airbyte-integrations/connectors/source-salesforce/acceptance-test-config.yml +++ b/airbyte-integrations/connectors/source-salesforce/acceptance-test-config.yml @@ -1,25 +1,43 @@ # See [Source Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/source-acceptance-tests-reference) # for more information about how to configure these tests connector_image: airbyte/source-salesforce:dev -tests: +test_strictness_level: high +acceptance_tests: spec: - - spec_path: "source_salesforce/spec.yaml" + tests: + - spec_path: "source_salesforce/spec.yaml" connection: - - config_path: "secrets/config.json" - status: "succeed" - - config_path: "secrets/config_sandbox.json" - status: "succeed" - - config_path: "integration_tests/invalid_config.json" - status: "failed" + tests: + - config_path: "secrets/config.json" + status: "succeed" + - config_path: "secrets/config_sandbox.json" + status: "succeed" + - config_path: "integration_tests/invalid_config.json" + status: "failed" discovery: - - config_path: "secrets/config.json" + tests: + - config_path: "secrets/config.json" basic_read: - - config_path: "secrets/config.json" - configured_catalog_path: "integration_tests/configured_catalog.json" + tests: + - config_path: "secrets/config.json" + expect_records: + path: "integration_tests/expected_records.txt" + empty_streams: + - name: "ActiveScratchOrg" + bypass_reason: "impossible to fill the stream with data because it is an organic traffic" + - name: "ActiveScratchOrgFeed" + bypass_reason: "impossible to fill the stream with data because it is an organic traffic" + - name: "ActiveScratchOrgHistory" + bypass_reason: "impossible to fill the stream with data because it is an organic traffic" + - name: "ActiveScratchOrgShare" + bypass_reason: "impossible to fill the stream with data because it is an organic traffic" incremental: - - config_path: "secrets/config.json" - configured_catalog_path: "integration_tests/configured_catalog.json" - future_state_path: "integration_tests/future_state.json" + tests: + - config_path: "secrets/config.json" + configured_catalog_path: "integration_tests/incremental_catalog.json" + future_state: + future_state_path: "integration_tests/future_state.json" full_refresh: - - config_path: "secrets/config.json" - configured_catalog_path: "integration_tests/configured_catalog.json" + tests: + - config_path: "secrets/config.json" + configured_catalog_path: "integration_tests/configured_catalog.json" diff --git a/airbyte-integrations/connectors/source-salesforce/integration_tests/configured_catalog.json b/airbyte-integrations/connectors/source-salesforce/integration_tests/configured_catalog.json index c5f317729aa59..1d82d43b11a17 100644 --- a/airbyte-integrations/connectors/source-salesforce/integration_tests/configured_catalog.json +++ b/airbyte-integrations/connectors/source-salesforce/integration_tests/configured_catalog.json @@ -9,7 +9,7 @@ "default_cursor_field": ["SystemModstamp"], "source_defined_primary_key": [["Id"]] }, - "sync_mode": "incremental", + "sync_mode": "full_refresh", "destination_sync_mode": "append" }, { @@ -21,7 +21,7 @@ "default_cursor_field": ["SystemModstamp"], "source_defined_primary_key": [["Id"]] }, - "sync_mode": "incremental", + "sync_mode": "full_refresh", "destination_sync_mode": "append" }, { @@ -33,7 +33,7 @@ "default_cursor_field": ["SystemModstamp"], "source_defined_primary_key": [["Id"]] }, - "sync_mode": "incremental", + "sync_mode": "full_refresh", "destination_sync_mode": "append" }, { @@ -45,7 +45,7 @@ "default_cursor_field": ["SystemModstamp"], "source_defined_primary_key": [["Id"]] }, - "sync_mode": "incremental", + "sync_mode": "full_refresh", "destination_sync_mode": "append" }, { @@ -67,7 +67,7 @@ "default_cursor_field": ["SystemModstamp"], "source_defined_primary_key": [["Id"]] }, - "sync_mode": "incremental", + "sync_mode": "full_refresh", "destination_sync_mode": "append" }, { @@ -89,7 +89,7 @@ "default_cursor_field": ["SystemModstamp"], "source_defined_primary_key": [["Id"]] }, - "sync_mode": "incremental", + "sync_mode": "full_refresh", "destination_sync_mode": "append" }, { @@ -101,7 +101,7 @@ "default_cursor_field": ["SystemModstamp"], "source_defined_primary_key": [["Id"]] }, - "sync_mode": "incremental", + "sync_mode": "full_refresh", "destination_sync_mode": "append" }, { @@ -113,7 +113,7 @@ "default_cursor_field": ["CreatedDate"], "source_defined_primary_key": [["Id"]] }, - "sync_mode": "incremental", + "sync_mode": "full_refresh", "destination_sync_mode": "append" } ] diff --git a/airbyte-integrations/connectors/source-salesforce/integration_tests/expected_records.txt b/airbyte-integrations/connectors/source-salesforce/integration_tests/expected_records.txt new file mode 100644 index 0000000000000..55bba40946023 --- /dev/null +++ b/airbyte-integrations/connectors/source-salesforce/integration_tests/expected_records.txt @@ -0,0 +1,93 @@ +{"stream":"Account","data":{"attributes":{"type":"Account","url":"/services/data/v52.0/sobjects/Account/0014W000027f6UwQAI"},"Id":"0014W000027f6UwQAI","IsDeleted":false,"MasterRecordId":null,"Name":"Edge Communications","Type":"Customer - Direct","ParentId":null,"BillingStreet":"312 Constitution Place\nAustin, TX 78767\nUSA","BillingCity":"Austin","BillingState":"TX","BillingPostalCode":null,"BillingCountry":null,"BillingLatitude":null,"BillingLongitude":null,"BillingGeocodeAccuracy":null,"BillingAddress":{"city":"Austin","country":null,"geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":null,"state":"TX","street":"312 Constitution Place\nAustin, TX 78767\nUSA"},"ShippingStreet":"312 Constitution Place\nAustin, TX 78767\nUSA","ShippingCity":null,"ShippingState":null,"ShippingPostalCode":null,"ShippingCountry":null,"ShippingLatitude":null,"ShippingLongitude":null,"ShippingGeocodeAccuracy":null,"ShippingAddress":{"city":null,"country":null,"geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":null,"state":null,"street":"312 Constitution Place\nAustin, TX 78767\nUSA"},"Phone":"(512) 757-6000","Fax":"(512) 757-9000","AccountNumber":"CD451796","Website":"http://edgecomm.com","PhotoUrl":"/services/images/photo/0014W000027f6UwQAI","Sic":"6576","Industry":"Electronics","AnnualRevenue":139000000,"NumberOfEmployees":1000,"Ownership":"Public","TickerSymbol":"EDGE","Description":"Edge, founded in 1998, is a start-up based in Austin, TX. The company designs and manufactures a device to convert music from one digital format to another. Edge sells its product through retailers and its own website.","Rating":"Hot","Site":null,"OwnerId":"0054W00000BZkk0QAD","CreatedDate":"2020-10-22T21:03:23.000+0000","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2020-10-22T21:03:23.000+0000","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2020-10-22T21:03:23.000+0000","LastActivityDate":null,"LastViewedDate":"2022-09-29T18:51:04.000+0000","LastReferencedDate":"2022-09-29T18:51:04.000+0000","Jigsaw":null,"JigsawCompanyId":null,"CleanStatus":"Pending","AccountSource":null,"DunsNumber":null,"Tradestyle":null,"NaicsCode":null,"NaicsDesc":null,"YearStarted":null,"SicDesc":null,"DandbCompanyId":null,"OperatingHoursId":null,"CustomerPriority__c":"Medium","SLA__c":"Silver","Active__c":"Yes","NumberofLocations__c":2,"UpsellOpportunity__c":"Maybe","SLASerialNumber__c":"2657","SLAExpirationDate__c":"2020-11-16"},"emitted_at":1668502796058} +{"stream":"Account","data":{"attributes":{"type":"Account","url":"/services/data/v52.0/sobjects/Account/0014W000027f6UxQAI"},"Id":"0014W000027f6UxQAI","IsDeleted":false,"MasterRecordId":null,"Name":"Burlington Textiles Corp of America","Type":"Customer - Direct","ParentId":null,"BillingStreet":"525 S. Lexington Ave","BillingCity":"Burlington","BillingState":"NC","BillingPostalCode":"27215","BillingCountry":"USA","BillingLatitude":null,"BillingLongitude":null,"BillingGeocodeAccuracy":null,"BillingAddress":{"city":"Burlington","country":"USA","geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":"27215","state":"NC","street":"525 S. Lexington Ave"},"ShippingStreet":null,"ShippingCity":null,"ShippingState":null,"ShippingPostalCode":null,"ShippingCountry":null,"ShippingLatitude":null,"ShippingLongitude":null,"ShippingGeocodeAccuracy":null,"ShippingAddress":null,"Phone":"(336) 222-7000","Fax":"(336) 222-8000","AccountNumber":"CD656092","Website":"www.burlington.com","PhotoUrl":"/services/images/photo/0014W000027f6UxQAI","Sic":"546732","Industry":"Apparel","AnnualRevenue":350000000,"NumberOfEmployees":9000,"Ownership":"Public","TickerSymbol":"BTXT","Description":null,"Rating":"Warm","Site":null,"OwnerId":"0054W00000BZkk0QAD","CreatedDate":"2020-10-22T21:03:23.000+0000","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2020-10-22T21:03:23.000+0000","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2020-10-22T21:03:23.000+0000","LastActivityDate":null,"LastViewedDate":null,"LastReferencedDate":null,"Jigsaw":null,"JigsawCompanyId":null,"CleanStatus":"Pending","AccountSource":null,"DunsNumber":null,"Tradestyle":null,"NaicsCode":null,"NaicsDesc":null,"YearStarted":null,"SicDesc":null,"DandbCompanyId":null,"OperatingHoursId":null,"CustomerPriority__c":null,"SLA__c":"Silver","Active__c":null,"NumberofLocations__c":6,"UpsellOpportunity__c":"Maybe","SLASerialNumber__c":"5367","SLAExpirationDate__c":"2020-11-16"},"emitted_at":1668502796063} +{"stream":"Account","data":{"attributes":{"type":"Account","url":"/services/data/v52.0/sobjects/Account/0014W000027f6UyQAI"},"Id":"0014W000027f6UyQAI","IsDeleted":false,"MasterRecordId":null,"Name":"Pyramid Construction Inc.","Type":"Customer - Channel","ParentId":null,"BillingStreet":"2 Place Jussieu","BillingCity":"Paris","BillingState":null,"BillingPostalCode":"75251","BillingCountry":"France","BillingLatitude":null,"BillingLongitude":null,"BillingGeocodeAccuracy":null,"BillingAddress":{"city":"Paris","country":"France","geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":"75251","state":null,"street":"2 Place Jussieu"},"ShippingStreet":"2 Place Jussieu","ShippingCity":"Paris","ShippingState":null,"ShippingPostalCode":"75251","ShippingCountry":"France","ShippingLatitude":null,"ShippingLongitude":null,"ShippingGeocodeAccuracy":null,"ShippingAddress":{"city":"Paris","country":"France","geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":"75251","state":null,"street":"2 Place Jussieu"},"Phone":"(014) 427-4427","Fax":"(014) 427-4428","AccountNumber":"CC213425","Website":"www.pyramid.com","PhotoUrl":"/services/images/photo/0014W000027f6UyQAI","Sic":"4253","Industry":"Construction","AnnualRevenue":950000000,"NumberOfEmployees":2680,"Ownership":"Public","TickerSymbol":"PYR","Description":null,"Rating":null,"Site":null,"OwnerId":"0054W00000BZkk0QAD","CreatedDate":"2020-10-22T21:03:23.000+0000","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2020-10-22T21:03:23.000+0000","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2020-10-22T21:03:23.000+0000","LastActivityDate":null,"LastViewedDate":null,"LastReferencedDate":null,"Jigsaw":null,"JigsawCompanyId":null,"CleanStatus":"Pending","AccountSource":null,"DunsNumber":null,"Tradestyle":null,"NaicsCode":null,"NaicsDesc":null,"YearStarted":null,"SicDesc":null,"DandbCompanyId":null,"OperatingHoursId":null,"CustomerPriority__c":null,"SLA__c":"Silver","Active__c":"Yes","NumberofLocations__c":17,"UpsellOpportunity__c":"Maybe","SLASerialNumber__c":"9840","SLAExpirationDate__c":"2021-05-19"},"emitted_at":1668502796067} +{"stream":"Account","data":{"attributes":{"type":"Account","url":"/services/data/v52.0/sobjects/Account/0014W000027f6UzQAI"},"Id":"0014W000027f6UzQAI","IsDeleted":false,"MasterRecordId":null,"Name":"Dickenson plc","Type":"Customer - Channel","ParentId":null,"BillingStreet":"1301 Hoch Drive","BillingCity":"Lawrence","BillingState":"KS","BillingPostalCode":"66045","BillingCountry":"USA","BillingLatitude":null,"BillingLongitude":null,"BillingGeocodeAccuracy":null,"BillingAddress":{"city":"Lawrence","country":"USA","geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":"66045","state":"KS","street":"1301 Hoch Drive"},"ShippingStreet":"1301 Hoch Drive","ShippingCity":"Lawrence","ShippingState":"KS","ShippingPostalCode":"66045","ShippingCountry":"USA","ShippingLatitude":null,"ShippingLongitude":null,"ShippingGeocodeAccuracy":null,"ShippingAddress":{"city":"Lawrence","country":"USA","geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":"66045","state":"KS","street":"1301 Hoch Drive"},"Phone":"(785) 241-6200","Fax":"(785) 241-6201","AccountNumber":"CC634267","Website":"dickenson-consulting.com","PhotoUrl":"/services/images/photo/0014W000027f6UzQAI","Sic":"6752","Industry":"Consulting","AnnualRevenue":50000000,"NumberOfEmployees":120,"Ownership":"Private","TickerSymbol":null,"Description":null,"Rating":null,"Site":null,"OwnerId":"0054W00000BZkk0QAD","CreatedDate":"2020-10-22T21:03:23.000+0000","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2020-10-22T21:03:23.000+0000","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2020-10-22T21:03:23.000+0000","LastActivityDate":null,"LastViewedDate":null,"LastReferencedDate":null,"Jigsaw":null,"JigsawCompanyId":null,"CleanStatus":"Pending","AccountSource":null,"DunsNumber":null,"Tradestyle":null,"NaicsCode":null,"NaicsDesc":null,"YearStarted":null,"SicDesc":null,"DandbCompanyId":null,"OperatingHoursId":null,"CustomerPriority__c":"Low","SLA__c":"Bronze","Active__c":"Yes","NumberofLocations__c":2,"UpsellOpportunity__c":"No","SLASerialNumber__c":"7425","SLAExpirationDate__c":"2021-05-19"},"emitted_at":1668502796071} +{"stream":"Account","data":{"attributes":{"type":"Account","url":"/services/data/v52.0/sobjects/Account/0014W000027f6V0QAI"},"Id":"0014W000027f6V0QAI","IsDeleted":false,"MasterRecordId":null,"Name":"Grand Hotels & Resorts Ltd","Type":"Customer - Direct","ParentId":null,"BillingStreet":"2334 N. Michigan Avenue, Suite 1500\nChicago, IL 60601, USA","BillingCity":"Chicago","BillingState":"IL","BillingPostalCode":null,"BillingCountry":null,"BillingLatitude":null,"BillingLongitude":null,"BillingGeocodeAccuracy":null,"BillingAddress":{"city":"Chicago","country":null,"geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":null,"state":"IL","street":"2334 N. Michigan Avenue, Suite 1500\nChicago, IL 60601, USA"},"ShippingStreet":"2334 N. Michigan Avenue, Suite 1500\nChicago, IL 60601, USA","ShippingCity":null,"ShippingState":null,"ShippingPostalCode":null,"ShippingCountry":null,"ShippingLatitude":null,"ShippingLongitude":null,"ShippingGeocodeAccuracy":null,"ShippingAddress":{"city":null,"country":null,"geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":null,"state":null,"street":"2334 N. Michigan Avenue, Suite 1500\nChicago, IL 60601, USA"},"Phone":"(312) 596-1000","Fax":"(312) 596-1500","AccountNumber":"CD439877","Website":"www.grandhotels.com","PhotoUrl":"/services/images/photo/0014W000027f6V0QAI","Sic":"2268","Industry":"Hospitality","AnnualRevenue":500000000,"NumberOfEmployees":5600,"Ownership":"Public","TickerSymbol":"GHTL","Description":"Chain of hotels and resorts across the US, UK, Eastern Europe, Japan, and SE Asia.","Rating":"Warm","Site":null,"OwnerId":"0054W00000BZkk0QAD","CreatedDate":"2020-10-22T21:03:23.000+0000","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2020-10-22T21:03:23.000+0000","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2020-10-22T21:03:23.000+0000","LastActivityDate":null,"LastViewedDate":null,"LastReferencedDate":null,"Jigsaw":null,"JigsawCompanyId":null,"CleanStatus":"Pending","AccountSource":null,"DunsNumber":null,"Tradestyle":null,"NaicsCode":null,"NaicsDesc":null,"YearStarted":null,"SicDesc":null,"DandbCompanyId":null,"OperatingHoursId":null,"CustomerPriority__c":"High","SLA__c":"Gold","Active__c":"Yes","NumberofLocations__c":57,"UpsellOpportunity__c":"Yes","SLASerialNumber__c":"5572","SLAExpirationDate__c":"2021-05-19"},"emitted_at":1668502796074} +{"stream":"Account","data":{"attributes":{"type":"Account","url":"/services/data/v52.0/sobjects/Account/0014W000027f6V1QAI"},"Id":"0014W000027f6V1QAI","IsDeleted":false,"MasterRecordId":null,"Name":"United Oil & Gas Corp.","Type":"Customer - Direct","ParentId":null,"BillingStreet":"1301 Avenue of the Americas \r\nNew York, NY 10019\r\nUSA","BillingCity":"New York","BillingState":"NY","BillingPostalCode":null,"BillingCountry":null,"BillingLatitude":null,"BillingLongitude":null,"BillingGeocodeAccuracy":null,"BillingAddress":{"city":"New York","country":null,"geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":null,"state":"NY","street":"1301 Avenue of the Americas \r\nNew York, NY 10019\r\nUSA"},"ShippingStreet":"1301 Avenue of the Americas \r\nNew York, NY 10019\r\nUSA","ShippingCity":null,"ShippingState":null,"ShippingPostalCode":null,"ShippingCountry":null,"ShippingLatitude":null,"ShippingLongitude":null,"ShippingGeocodeAccuracy":null,"ShippingAddress":{"city":null,"country":null,"geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":null,"state":null,"street":"1301 Avenue of the Americas \r\nNew York, NY 10019\r\nUSA"},"Phone":"(212) 842-5500","Fax":"(212) 842-5501","AccountNumber":"CD355118","Website":"http://www.uos.com","PhotoUrl":"/services/images/photo/0014W000027f6V1QAI","Sic":"4437","Industry":"Energy","AnnualRevenue":5600000000,"NumberOfEmployees":145000,"Ownership":"Public","TickerSymbol":"UOS","Description":"World's third largest oil and gas company.","Rating":"Hot","Site":null,"OwnerId":"0054W00000BZkk0QAD","CreatedDate":"2020-10-22T21:03:23.000+0000","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2020-10-22T21:03:23.000+0000","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2020-10-22T21:03:23.000+0000","LastActivityDate":null,"LastViewedDate":null,"LastReferencedDate":null,"Jigsaw":null,"JigsawCompanyId":null,"CleanStatus":"Pending","AccountSource":null,"DunsNumber":null,"Tradestyle":null,"NaicsCode":null,"NaicsDesc":null,"YearStarted":null,"SicDesc":null,"DandbCompanyId":null,"OperatingHoursId":null,"CustomerPriority__c":"High","SLA__c":"Platinum","Active__c":"Yes","NumberofLocations__c":955,"UpsellOpportunity__c":"Yes","SLASerialNumber__c":"6654","SLAExpirationDate__c":"2021-05-19"},"emitted_at":1668502796078} +{"stream":"Account","data":{"attributes":{"type":"Account","url":"/services/data/v52.0/sobjects/Account/0014W000027f6V2QAI"},"Id":"0014W000027f6V2QAI","IsDeleted":false,"MasterRecordId":null,"Name":"Express Logistics and Transport","Type":"Customer - Channel","ParentId":null,"BillingStreet":"620 SW 5th Avenue Suite 400\nPortland, Oregon 97204\nUnited States","BillingCity":"Portland","BillingState":"OR","BillingPostalCode":null,"BillingCountry":null,"BillingLatitude":null,"BillingLongitude":null,"BillingGeocodeAccuracy":null,"BillingAddress":{"city":"Portland","country":null,"geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":null,"state":"OR","street":"620 SW 5th Avenue Suite 400\nPortland, Oregon 97204\nUnited States"},"ShippingStreet":"620 SW 5th Avenue Suite 400\nPortland, Oregon 97204\nUnited States","ShippingCity":null,"ShippingState":null,"ShippingPostalCode":null,"ShippingCountry":null,"ShippingLatitude":null,"ShippingLongitude":null,"ShippingGeocodeAccuracy":null,"ShippingAddress":{"city":null,"country":null,"geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":null,"state":null,"street":"620 SW 5th Avenue Suite 400\nPortland, Oregon 97204\nUnited States"},"Phone":"(503) 421-7800","Fax":"(503) 421-7801","AccountNumber":"CC947211","Website":"www.expressl&t.net","PhotoUrl":"/services/images/photo/0014W000027f6V2QAI","Sic":"8742","Industry":"Transportation","AnnualRevenue":950000000,"NumberOfEmployees":12300,"Ownership":"Public","TickerSymbol":"EXLT","Description":"Commerical logistics and transportation company.","Rating":"Cold","Site":null,"OwnerId":"0054W00000BZkk0QAD","CreatedDate":"2020-10-22T21:03:23.000+0000","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2020-10-22T21:03:23.000+0000","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2020-10-22T21:03:23.000+0000","LastActivityDate":null,"LastViewedDate":null,"LastReferencedDate":null,"Jigsaw":null,"JigsawCompanyId":null,"CleanStatus":"Pending","AccountSource":null,"DunsNumber":null,"Tradestyle":null,"NaicsCode":null,"NaicsDesc":null,"YearStarted":null,"SicDesc":null,"DandbCompanyId":null,"OperatingHoursId":null,"CustomerPriority__c":"Medium","SLA__c":"Platinum","Active__c":"Yes","NumberofLocations__c":150,"UpsellOpportunity__c":"Maybe","SLASerialNumber__c":"4724","SLAExpirationDate__c":"2021-05-19"},"emitted_at":1668502796080} +{"stream":"Account","data":{"attributes":{"type":"Account","url":"/services/data/v52.0/sobjects/Account/0014W000027f6V3QAI"},"Id":"0014W000027f6V3QAI","IsDeleted":false,"MasterRecordId":null,"Name":"University of Arizona","Type":"Customer - Direct","ParentId":null,"BillingStreet":"888 N Euclid \nHallis Center, Room 501\nTucson, AZ 85721\nUnited States","BillingCity":"Tucson","BillingState":"AZ","BillingPostalCode":null,"BillingCountry":null,"BillingLatitude":null,"BillingLongitude":null,"BillingGeocodeAccuracy":null,"BillingAddress":{"city":"Tucson","country":null,"geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":null,"state":"AZ","street":"888 N Euclid \nHallis Center, Room 501\nTucson, AZ 85721\nUnited States"},"ShippingStreet":"888 N Euclid \nHallis Center, Room 501\nTucson, AZ 85721\nUnited States","ShippingCity":null,"ShippingState":null,"ShippingPostalCode":null,"ShippingCountry":null,"ShippingLatitude":null,"ShippingLongitude":null,"ShippingGeocodeAccuracy":null,"ShippingAddress":{"city":null,"country":null,"geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":null,"state":null,"street":"888 N Euclid \nHallis Center, Room 501\nTucson, AZ 85721\nUnited States"},"Phone":"(520) 773-9050","Fax":"(520) 773-9060","AccountNumber":"CD736025","Website":"www.universityofarizona.com","PhotoUrl":"/services/images/photo/0014W000027f6V3QAI","Sic":"7321","Industry":"Education","AnnualRevenue":null,"NumberOfEmployees":39000,"Ownership":"Other","TickerSymbol":null,"Description":"Leading university in AZ offering undergraduate and graduate programs in arts and humanities, pure sciences, engineering, business, and medicine.","Rating":"Warm","Site":null,"OwnerId":"0054W00000BZkk0QAD","CreatedDate":"2020-10-22T21:03:23.000+0000","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2020-10-22T21:03:23.000+0000","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2020-10-22T21:03:23.000+0000","LastActivityDate":null,"LastViewedDate":null,"LastReferencedDate":null,"Jigsaw":null,"JigsawCompanyId":null,"CleanStatus":"Pending","AccountSource":null,"DunsNumber":null,"Tradestyle":null,"NaicsCode":null,"NaicsDesc":null,"YearStarted":null,"SicDesc":null,"DandbCompanyId":null,"OperatingHoursId":null,"CustomerPriority__c":"Medium","SLA__c":"Gold","Active__c":"Yes","NumberofLocations__c":3,"UpsellOpportunity__c":"Yes","SLASerialNumber__c":"8350","SLAExpirationDate__c":"2020-11-16"},"emitted_at":1668502796083} +{"stream":"Account","data":{"attributes":{"type":"Account","url":"/services/data/v52.0/sobjects/Account/0014W000027f6V4QAI"},"Id":"0014W000027f6V4QAI","IsDeleted":false,"MasterRecordId":null,"Name":"United Oil & Gas, UK","Type":"Customer - Direct","ParentId":null,"BillingStreet":"Kings Park, 17th Avenue, Team Valley Trading Estate,\nGateshead, Tyne and Wear NE26 3HS\nUnited Kingdom","BillingCity":null,"BillingState":"UK","BillingPostalCode":null,"BillingCountry":null,"BillingLatitude":null,"BillingLongitude":null,"BillingGeocodeAccuracy":null,"BillingAddress":{"city":null,"country":null,"geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":null,"state":"UK","street":"Kings Park, 17th Avenue, Team Valley Trading Estate,\nGateshead, Tyne and Wear NE26 3HS\nUnited Kingdom"},"ShippingStreet":"Kings Park, 17th Avenue, Team Valley Trading Estate,\nGateshead, Tyne and Wear NE26 3HS\nUnited Kingdom","ShippingCity":null,"ShippingState":null,"ShippingPostalCode":null,"ShippingCountry":null,"ShippingLatitude":null,"ShippingLongitude":null,"ShippingGeocodeAccuracy":null,"ShippingAddress":{"city":null,"country":null,"geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":null,"state":null,"street":"Kings Park, 17th Avenue, Team Valley Trading Estate,\nGateshead, Tyne and Wear NE26 3HS\nUnited Kingdom"},"Phone":"+44 191 4956203","Fax":"+44 191 4956620","AccountNumber":"CD355119-A","Website":"http://www.uos.com","PhotoUrl":"/services/images/photo/0014W000027f6V4QAI","Sic":"4437","Industry":"Energy","AnnualRevenue":null,"NumberOfEmployees":24000,"Ownership":"Public","TickerSymbol":"UOS","Description":null,"Rating":null,"Site":null,"OwnerId":"0054W00000BZkk0QAD","CreatedDate":"2020-10-22T21:03:23.000+0000","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2020-10-22T21:03:23.000+0000","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2020-10-22T21:03:23.000+0000","LastActivityDate":null,"LastViewedDate":null,"LastReferencedDate":null,"Jigsaw":null,"JigsawCompanyId":null,"CleanStatus":"Pending","AccountSource":null,"DunsNumber":null,"Tradestyle":null,"NaicsCode":null,"NaicsDesc":null,"YearStarted":null,"SicDesc":null,"DandbCompanyId":null,"OperatingHoursId":null,"CustomerPriority__c":"High","SLA__c":"Platinum","Active__c":"Yes","NumberofLocations__c":34,"UpsellOpportunity__c":"No","SLASerialNumber__c":"3479","SLAExpirationDate__c":"2020-11-16"},"emitted_at":1668502796085} +{"stream":"Account","data":{"attributes":{"type":"Account","url":"/services/data/v52.0/sobjects/Account/0014W000027f6V5QAI"},"Id":"0014W000027f6V5QAI","IsDeleted":false,"MasterRecordId":null,"Name":"United Oil & Gas, Singapore","Type":"Customer - Direct","ParentId":null,"BillingStreet":"9 Tagore Lane\nSingapore, Singapore 787472\nSingapore","BillingCity":"Singapore","BillingState":"Singapore","BillingPostalCode":null,"BillingCountry":null,"BillingLatitude":null,"BillingLongitude":null,"BillingGeocodeAccuracy":null,"BillingAddress":{"city":"Singapore","country":null,"geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":null,"state":"Singapore","street":"9 Tagore Lane\nSingapore, Singapore 787472\nSingapore"},"ShippingStreet":"9 Tagore Lane\nSingapore, Singapore 787472\nSingapore","ShippingCity":null,"ShippingState":null,"ShippingPostalCode":null,"ShippingCountry":null,"ShippingLatitude":null,"ShippingLongitude":null,"ShippingGeocodeAccuracy":null,"ShippingAddress":{"city":null,"country":null,"geocodeAccuracy":null,"latitude":null,"longitude":null,"postalCode":null,"state":null,"street":"9 Tagore Lane\nSingapore, Singapore 787472\nSingapore"},"Phone":"(650) 450-8810","Fax":"(650) 450-8820","AccountNumber":"CD355120-B","Website":"http://www.uos.com","PhotoUrl":"/services/images/photo/0014W000027f6V5QAI","Sic":"4437","Industry":"Energy","AnnualRevenue":null,"NumberOfEmployees":3000,"Ownership":"Public","TickerSymbol":"UOS","Description":null,"Rating":null,"Site":null,"OwnerId":"0054W00000BZkk0QAD","CreatedDate":"2020-10-22T21:03:23.000+0000","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2020-10-22T21:03:23.000+0000","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2020-10-22T21:03:23.000+0000","LastActivityDate":null,"LastViewedDate":null,"LastReferencedDate":null,"Jigsaw":null,"JigsawCompanyId":null,"CleanStatus":"Pending","AccountSource":null,"DunsNumber":null,"Tradestyle":null,"NaicsCode":null,"NaicsDesc":null,"YearStarted":null,"SicDesc":null,"DandbCompanyId":null,"OperatingHoursId":null,"CustomerPriority__c":"High","SLA__c":"Platinum","Active__c":"Yes","NumberofLocations__c":6,"UpsellOpportunity__c":"Maybe","SLASerialNumber__c":"2457","SLAExpirationDate__c":"2021-05-19"},"emitted_at":1668502796087} +{"stream":"ActiveFeatureLicenseMetric","data":{"Id":"5H24W000000DA8jSAG","MetricsDate":"2021-06-06","FeatureType":"MarketingUser","SystemModstamp":"2021-06-06T05:04:12.000Z","AssignedUserCount":1,"ActiveUserCount":1,"TotalLicenseCount":2},"emitted_at":1668502799319} +{"stream":"ActiveFeatureLicenseMetric","data":{"Id":"5H24W000000DA8pSAG","MetricsDate":"2021-06-06","FeatureType":"OfflineUser","SystemModstamp":"2021-06-06T05:04:12.000Z","AssignedUserCount":1,"ActiveUserCount":1,"TotalLicenseCount":2},"emitted_at":1668502799319} +{"stream":"ActiveFeatureLicenseMetric","data":{"Id":"5H24W000000DA8qSAG","MetricsDate":"2021-06-06","FeatureType":"MobileUser","SystemModstamp":"2021-06-06T05:04:12.000Z","AssignedUserCount":1,"ActiveUserCount":1,"TotalLicenseCount":3},"emitted_at":1668502799320} +{"stream":"ActiveFeatureLicenseMetric","data":{"Id":"5H24W000000DA8rSAG","MetricsDate":"2021-06-06","FeatureType":"SFContentUser","SystemModstamp":"2021-06-06T05:04:12.000Z","AssignedUserCount":1,"ActiveUserCount":1,"TotalLicenseCount":5},"emitted_at":1668502799320} +{"stream":"ActiveFeatureLicenseMetric","data":{"Id":"5H24W000000DA8sSAG","MetricsDate":"2021-06-06","FeatureType":"KnowledgeUser","SystemModstamp":"2021-06-06T05:04:12.000Z","AssignedUserCount":0,"ActiveUserCount":0,"TotalLicenseCount":2},"emitted_at":1668502799320} +{"stream":"ActiveFeatureLicenseMetric","data":{"Id":"5H24W000000DA8tSAG","MetricsDate":"2021-06-06","FeatureType":"InteractionUser","SystemModstamp":"2021-06-06T05:04:12.000Z","AssignedUserCount":0,"ActiveUserCount":0,"TotalLicenseCount":3},"emitted_at":1668502799321} +{"stream":"ActiveFeatureLicenseMetric","data":{"Id":"5H24W000000DA8uSAG","MetricsDate":"2021-06-06","FeatureType":"SupportUser","SystemModstamp":"2021-06-06T05:04:12.000Z","AssignedUserCount":1,"ActiveUserCount":1,"TotalLicenseCount":2},"emitted_at":1668502799321} +{"stream":"ActiveFeatureLicenseMetric","data":{"Id":"5H24W000000DA8vSAG","MetricsDate":"2021-06-06","FeatureType":"JigsawProspectingUser","SystemModstamp":"2021-06-06T05:04:12.000Z","AssignedUserCount":0,"ActiveUserCount":0,"TotalLicenseCount":2},"emitted_at":1668502799321} +{"stream":"ActiveFeatureLicenseMetric","data":{"Id":"5H24W000000DA8wSAG","MetricsDate":"2021-06-06","FeatureType":"LiveAgentUser","SystemModstamp":"2021-06-06T05:04:12.000Z","AssignedUserCount":0,"ActiveUserCount":0,"TotalLicenseCount":2},"emitted_at":1668502799321} +{"stream":"ActiveFeatureLicenseMetric","data":{"Id":"5H24W000000DA8xSAG","MetricsDate":"2021-06-06","FeatureType":"ChatterAnswersUser","SystemModstamp":"2021-06-06T05:04:12.000Z","AssignedUserCount":0,"ActiveUserCount":0,"TotalLicenseCount":30},"emitted_at":1668502799322} +{"stream":"ActivePermSetLicenseMetric","data":{"Id":"5H14W000000I7Y0SAK","MetricsDate":"2021-06-06","PermissionSetLicenseId":"0PL4W0000012s3wWAA","SystemModstamp":"2021-06-06T05:23:44.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502804243} +{"stream":"ActivePermSetLicenseMetric","data":{"Id":"5H14W000000I7Y1SAK","MetricsDate":"2021-06-06","PermissionSetLicenseId":"0PL4W0000012s3xWAA","SystemModstamp":"2021-06-06T05:23:44.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502804244} +{"stream":"ActivePermSetLicenseMetric","data":{"Id":"5H14W000000I7Y2SAK","MetricsDate":"2021-06-06","PermissionSetLicenseId":"0PL4W0000012s3yWAA","SystemModstamp":"2021-06-06T05:23:44.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502804244} +{"stream":"ActivePermSetLicenseMetric","data":{"Id":"5H14W000000I7Y3SAK","MetricsDate":"2021-06-06","PermissionSetLicenseId":"0PL4W0000012s3zWAA","SystemModstamp":"2021-06-06T05:23:44.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502804244} +{"stream":"ActivePermSetLicenseMetric","data":{"Id":"5H14W000000I7Y4SAK","MetricsDate":"2021-06-06","PermissionSetLicenseId":"0PL4W0000012s40WAA","SystemModstamp":"2021-06-06T05:23:44.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502804245} +{"stream":"ActivePermSetLicenseMetric","data":{"Id":"5H14W000000I7Y5SAK","MetricsDate":"2021-06-06","PermissionSetLicenseId":"0PL4W0000012s41WAA","SystemModstamp":"2021-06-06T05:23:44.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502804245} +{"stream":"ActivePermSetLicenseMetric","data":{"Id":"5H14W000000I7Y6SAK","MetricsDate":"2021-06-06","PermissionSetLicenseId":"0PL4W0000012s42WAA","SystemModstamp":"2021-06-06T05:23:44.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502804245} +{"stream":"ActivePermSetLicenseMetric","data":{"Id":"5H14W000000I7Y7SAK","MetricsDate":"2021-06-06","PermissionSetLicenseId":"0PL4W0000012s43WAA","SystemModstamp":"2021-06-06T05:23:44.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502804246} +{"stream":"ActivePermSetLicenseMetric","data":{"Id":"5H14W000000I7Y8SAK","MetricsDate":"2021-06-06","PermissionSetLicenseId":"0PL4W0000012s44WAA","SystemModstamp":"2021-06-06T05:23:44.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502804246} +{"stream":"ActivePermSetLicenseMetric","data":{"Id":"5H14W000000I7Y9SAK","MetricsDate":"2021-06-06","PermissionSetLicenseId":"0PL4W0000012s45WAA","SystemModstamp":"2021-06-06T05:23:44.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502804246} +{"stream":"ActivePermSetLicenseMetric","data":{"Id":"5H14W000000I7YASA0","MetricsDate":"2021-06-06","PermissionSetLicenseId":"0PL4W0000012s46WAA","SystemModstamp":"2021-06-06T05:23:44.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502804247} +{"stream":"ActiveProfileMetric","data":{"Id":"5H04W000000MrTCSA0","MetricsDate":"2021-06-06","UserLicenseId":"1004W000001gXudQAE","ProfileId":"00e4W000001VsqfQAC","SystemModstamp":"2021-06-06T06:50:04.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502815218} +{"stream":"ActiveProfileMetric","data":{"Id":"5H04W000000MrTDSA0","MetricsDate":"2021-06-06","UserLicenseId":"1004W000001gXudQAE","ProfileId":"00e4W000002LjMOQA0","SystemModstamp":"2021-06-06T06:50:04.000Z","AssignedUserCount":1,"ActiveUserCount":1},"emitted_at":1668502815219} +{"stream":"ActiveProfileMetric","data":{"Id":"5H04W000000MrTESA0","MetricsDate":"2021-06-06","UserLicenseId":"1004W000001gXudQAE","ProfileId":"00e4W000002LjMtQAK","SystemModstamp":"2021-06-06T06:50:04.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502815219} +{"stream":"ActiveProfileMetric","data":{"Id":"5H04W000000MwuzSAC","MetricsDate":"2021-06-06","UserLicenseId":"1004W000001gXudQAE","ProfileId":"00e4W000002LjMuQAK","SystemModstamp":"2021-06-06T06:50:04.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502815219} +{"stream":"ActiveProfileMetric","data":{"Id":"5H04W000000Mwv0SAC","MetricsDate":"2021-06-06","UserLicenseId":"1004W000001gXudQAE","ProfileId":"00e4W000002LjMvQAK","SystemModstamp":"2021-06-06T06:50:04.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502815220} +{"stream":"ActiveProfileMetric","data":{"Id":"5H04W000000Mwv1SAC","MetricsDate":"2021-06-06","UserLicenseId":"1004W000001gXudQAE","ProfileId":"00e4W000002LjMwQAK","SystemModstamp":"2021-06-06T06:50:04.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502815220} +{"stream":"ActiveProfileMetric","data":{"Id":"5H04W000000Mwv2SAC","MetricsDate":"2021-06-06","UserLicenseId":"1004W000001gXudQAE","ProfileId":"00e4W000002LjMxQAK","SystemModstamp":"2021-06-06T06:50:04.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502815220} +{"stream":"ActiveProfileMetric","data":{"Id":"5H04W000000Mwv3SAC","MetricsDate":"2021-06-06","UserLicenseId":"1004W000001gXudQAE","ProfileId":"00e4W000002LjMyQAK","SystemModstamp":"2021-06-06T06:50:04.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502815221} +{"stream":"ActiveProfileMetric","data":{"Id":"5H04W000000Mwv4SAC","MetricsDate":"2021-06-06","UserLicenseId":"1004W000001gXudQAE","ProfileId":"00e4W000002LjMzQAK","SystemModstamp":"2021-06-06T06:50:04.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502815221} +{"stream":"ActiveProfileMetric","data":{"Id":"5H04W000000Mwv5SAC","MetricsDate":"2021-06-06","UserLicenseId":"1004W000001gXudQAE","ProfileId":"00e4W000002LjN0QAK","SystemModstamp":"2021-06-06T06:50:04.000Z","AssignedUserCount":0,"ActiveUserCount":0},"emitted_at":1668502815221} +{"stream":"AppDefinition","data":{"Id":"000000000000000AAA","DurableId":"06m4W000001ldIZQAY","Label":"Sales","MasterLabel":"salesforce","NamespacePrefix":"standard","DeveloperName":"Sales","LogoUrl":"/img/salesforce-noname-logo-v2.svg","Description":"The world's most popular sales force automation (SFA) solution","UiType":"Aloha","NavType":"Standard","UtilityBar":null,"HeaderColor":"#0070D2","IsOverrideOrgTheme":false,"IsSmallFormFactorSupported":false,"IsMediumFormFactorSupported":false,"IsLargeFormFactorSupported":false,"IsNavPersonalizationDisabled":false,"IsNavAutoTempTabsDisabled":false},"emitted_at":1668502900068} +{"stream":"AppDefinition","data":{"Id":"000000000000000AAA","DurableId":"06m4W000001ldIdQAI","Label":"Service","MasterLabel":"supportforce","NamespacePrefix":"standard","DeveloperName":"Service","LogoUrl":"/img/salesforce-noname-logo-v2.svg","Description":"Manage customer service with accounts, contacts, cases, and more","UiType":"Aloha","NavType":"Standard","UtilityBar":null,"HeaderColor":"#0070D2","IsOverrideOrgTheme":false,"IsSmallFormFactorSupported":false,"IsMediumFormFactorSupported":false,"IsLargeFormFactorSupported":true,"IsNavPersonalizationDisabled":false,"IsNavAutoTempTabsDisabled":false},"emitted_at":1668502900068} +{"stream":"AppDefinition","data":{"Id":"000000000000000AAA","DurableId":"06m4W000001ldIeQAI","Label":"Marketing","MasterLabel":"Marketing","NamespacePrefix":"standard","DeveloperName":"Marketing","LogoUrl":"/img/salesforce-noname-logo-v2.svg","Description":"Best-in-class on-demand marketing automation","UiType":"Aloha","NavType":"Standard","UtilityBar":null,"HeaderColor":"#0070D2","IsOverrideOrgTheme":false,"IsSmallFormFactorSupported":false,"IsMediumFormFactorSupported":false,"IsLargeFormFactorSupported":true,"IsNavPersonalizationDisabled":false,"IsNavAutoTempTabsDisabled":false},"emitted_at":1668502900068} +{"stream":"AppDefinition","data":{"Id":"000000000000000AAA","DurableId":"06m4W000001ldIjQAI","Label":"App Launcher","MasterLabel":"AppLauncher","NamespacePrefix":"standard","DeveloperName":"AppLauncher","LogoUrl":"/img/salesforce-noname-logo-v2.svg","Description":"App Launcher tabs","UiType":"Aloha","NavType":"Standard","UtilityBar":null,"HeaderColor":"#0070D2","IsOverrideOrgTheme":false,"IsSmallFormFactorSupported":false,"IsMediumFormFactorSupported":false,"IsLargeFormFactorSupported":true,"IsNavPersonalizationDisabled":false,"IsNavAutoTempTabsDisabled":false},"emitted_at":1668502900069} +{"stream":"AppDefinition","data":{"Id":"000000000000000AAA","DurableId":"06m4W000001ldIkQAI","Label":"Community","MasterLabel":"Community","NamespacePrefix":"standard","DeveloperName":"Community","LogoUrl":"/img/salesforce-noname-logo-v2.svg","Description":"Salesforce CRM Communities","UiType":"Aloha","NavType":"Standard","UtilityBar":null,"HeaderColor":"#0070D2","IsOverrideOrgTheme":false,"IsSmallFormFactorSupported":false,"IsMediumFormFactorSupported":false,"IsLargeFormFactorSupported":true,"IsNavPersonalizationDisabled":false,"IsNavAutoTempTabsDisabled":false},"emitted_at":1668502900069} +{"stream":"AppDefinition","data":{"Id":"000000000000000AAA","DurableId":"06m4W000001ldIlQAI","Label":"Site.com","MasterLabel":"Sites","NamespacePrefix":"standard","DeveloperName":"Sites","LogoUrl":"/img/salesforce-noname-logo-v2.svg","Description":"Build pixel-perfect, data-rich websites using the drag-and-drop Site.com application, and manage content and published sites.","UiType":"Aloha","NavType":"Standard","UtilityBar":null,"HeaderColor":"#0070D2","IsOverrideOrgTheme":false,"IsSmallFormFactorSupported":false,"IsMediumFormFactorSupported":false,"IsLargeFormFactorSupported":false,"IsNavPersonalizationDisabled":false,"IsNavAutoTempTabsDisabled":false},"emitted_at":1668502900069} +{"stream":"AppDefinition","data":{"Id":"000000000000000AAA","DurableId":"06m4W000001ldImQAI","Label":"Salesforce Chatter","MasterLabel":"Collaboration","NamespacePrefix":"standard","DeveloperName":"Chatter","LogoUrl":"/img/salesforce-noname-logo-v2.svg","Description":"The Salesforce Chatter social network, including profiles and feeds","UiType":"Aloha","NavType":"Standard","UtilityBar":null,"HeaderColor":"#0070D2","IsOverrideOrgTheme":false,"IsSmallFormFactorSupported":false,"IsMediumFormFactorSupported":false,"IsLargeFormFactorSupported":true,"IsNavPersonalizationDisabled":false,"IsNavAutoTempTabsDisabled":false},"emitted_at":1668502900070} +{"stream":"AppDefinition","data":{"Id":"000000000000000AAA","DurableId":"06m4W000001ldIYQAY","Label":"Content","MasterLabel":"Content","NamespacePrefix":"standard","DeveloperName":"Content","LogoUrl":"/img/salesforce-noname-logo-v2.svg","Description":"Salesforce CRM Content","UiType":"Aloha","NavType":"Standard","UtilityBar":null,"HeaderColor":"#0070D2","IsOverrideOrgTheme":false,"IsSmallFormFactorSupported":false,"IsMediumFormFactorSupported":false,"IsLargeFormFactorSupported":true,"IsNavPersonalizationDisabled":false,"IsNavAutoTempTabsDisabled":false},"emitted_at":1668502900070} +{"stream":"AppDefinition","data":{"Id":"000000000000000AAA","DurableId":"06m4W000001ldIsQAI","Label":"Sales Console","MasterLabel":"Sales Console","NamespacePrefix":"standard","DeveloperName":"LightningSalesConsole","LogoUrl":"/img/salesforce-noname-logo-v2.svg","Description":"(Lightning Experience) Lets sales reps work with multiple records on one screen","UiType":"Lightning","NavType":"Console","UtilityBar":"LightningSalesConsole_UtilityBar","HeaderColor":"#0070D2","IsOverrideOrgTheme":false,"IsSmallFormFactorSupported":true,"IsMediumFormFactorSupported":false,"IsLargeFormFactorSupported":true,"IsNavPersonalizationDisabled":false,"IsNavAutoTempTabsDisabled":false},"emitted_at":1668502900070} +{"stream":"AppDefinition","data":{"Id":"000000000000000AAA","DurableId":"06m4W000001ldIrQAI","Label":"Service Console","MasterLabel":"Service Console","NamespacePrefix":"standard","DeveloperName":"LightningService","LogoUrl":"/img/salesforce-noname-logo-v2.svg","Description":"(Lightning Experience) Lets support agents work with multiple records across customer service channels on one screen","UiType":"Lightning","NavType":"Console","UtilityBar":"LightningService_UtilityBar","HeaderColor":"#802ABE","IsOverrideOrgTheme":false,"IsSmallFormFactorSupported":true,"IsMediumFormFactorSupported":false,"IsLargeFormFactorSupported":true,"IsNavPersonalizationDisabled":false,"IsNavAutoTempTabsDisabled":false},"emitted_at":1668502900070} +{"stream":"Asset","data":{"Id":"02i4W00000EkJspQAF","ContactId":null,"AccountId":"0014W00002DkoWNQAZ","ParentId":null,"RootAssetId":"02i4W00000EkJspQAF","Product2Id":null,"ProductCode":null,"IsCompetitorProduct":false,"CreatedDate":"2021-01-18T21:44:57.000Z","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2021-01-18T21:44:57.000Z","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2021-01-18T21:44:57.000Z","IsDeleted":false,"Name":"Radish - Black, Winter, Organic","SerialNumber":null,"InstallDate":null,"PurchaseDate":null,"UsageEndDate":null,"LifecycleStartDate":null,"LifecycleEndDate":null,"Status":null,"Price":null,"Quantity":null,"Description":null,"OwnerId":"0054W00000BZkk0QAD","AssetProvidedById":null,"AssetServicedById":null,"IsInternal":false,"AssetLevel":1,"StockKeepingUnit":null,"HasLifecycleManagement":false,"CurrentMrr":null,"CurrentLifecycleEndDate":null,"CurrentQuantity":null,"CurrentAmount":null,"TotalLifecycleAmount":null,"LastViewedDate":"2022-09-29T18:52:45.000Z","LastReferencedDate":"2022-09-29T18:52:45.000Z"},"emitted_at":1668502910118} +{"stream":"Asset","data":{"Id":"02i4W00000EkJsqQAF","ContactId":null,"AccountId":"0014W00002DkoW0QAJ","ParentId":null,"RootAssetId":"02i4W00000EkJsqQAF","Product2Id":null,"ProductCode":null,"IsCompetitorProduct":false,"CreatedDate":"2021-01-18T21:44:57.000Z","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2021-01-18T21:44:57.000Z","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2021-01-18T21:44:57.000Z","IsDeleted":false,"Name":"Cheese - Valancey","SerialNumber":null,"InstallDate":null,"PurchaseDate":null,"UsageEndDate":null,"LifecycleStartDate":null,"LifecycleEndDate":null,"Status":null,"Price":null,"Quantity":null,"Description":null,"OwnerId":"0054W00000BZkk0QAD","AssetProvidedById":null,"AssetServicedById":null,"IsInternal":false,"AssetLevel":1,"StockKeepingUnit":null,"HasLifecycleManagement":false,"CurrentMrr":null,"CurrentLifecycleEndDate":null,"CurrentQuantity":null,"CurrentAmount":null,"TotalLifecycleAmount":null,"LastViewedDate":null,"LastReferencedDate":null},"emitted_at":1668502910118} +{"stream":"Asset","data":{"Id":"02i4W00000EkJsrQAF","ContactId":null,"AccountId":"0014W00002DkoW5QAJ","ParentId":null,"RootAssetId":"02i4W00000EkJsrQAF","Product2Id":null,"ProductCode":null,"IsCompetitorProduct":false,"CreatedDate":"2021-01-18T21:44:57.000Z","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2021-01-18T21:44:57.000Z","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2021-01-18T21:44:57.000Z","IsDeleted":false,"Name":"Truffle Cups Green","SerialNumber":null,"InstallDate":null,"PurchaseDate":null,"UsageEndDate":null,"LifecycleStartDate":null,"LifecycleEndDate":null,"Status":null,"Price":null,"Quantity":null,"Description":null,"OwnerId":"0054W00000BZkk0QAD","AssetProvidedById":null,"AssetServicedById":null,"IsInternal":false,"AssetLevel":1,"StockKeepingUnit":null,"HasLifecycleManagement":false,"CurrentMrr":null,"CurrentLifecycleEndDate":null,"CurrentQuantity":null,"CurrentAmount":null,"TotalLifecycleAmount":null,"LastViewedDate":null,"LastReferencedDate":null},"emitted_at":1668502910119} +{"stream":"Asset","data":{"Id":"02i4W00000EkJssQAF","ContactId":null,"AccountId":"0014W00002DkoWNQAZ","ParentId":null,"RootAssetId":"02i4W00000EkJssQAF","Product2Id":null,"ProductCode":null,"IsCompetitorProduct":false,"CreatedDate":"2021-01-18T21:44:57.000Z","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2021-01-18T21:44:57.000Z","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2021-01-18T21:44:57.000Z","IsDeleted":false,"Name":"Plasticspoonblack","SerialNumber":null,"InstallDate":null,"PurchaseDate":null,"UsageEndDate":null,"LifecycleStartDate":null,"LifecycleEndDate":null,"Status":null,"Price":null,"Quantity":null,"Description":null,"OwnerId":"0054W00000BZkk0QAD","AssetProvidedById":null,"AssetServicedById":null,"IsInternal":false,"AssetLevel":1,"StockKeepingUnit":null,"HasLifecycleManagement":false,"CurrentMrr":null,"CurrentLifecycleEndDate":null,"CurrentQuantity":null,"CurrentAmount":null,"TotalLifecycleAmount":null,"LastViewedDate":null,"LastReferencedDate":null},"emitted_at":1668502910120} +{"stream":"Asset","data":{"Id":"02i4W00000EkJstQAF","ContactId":null,"AccountId":"0014W00002DkoWHQAZ","ParentId":null,"RootAssetId":"02i4W00000EkJstQAF","Product2Id":null,"ProductCode":null,"IsCompetitorProduct":false,"CreatedDate":"2021-01-18T21:44:57.000Z","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2021-01-18T21:44:57.000Z","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2021-01-18T21:44:57.000Z","IsDeleted":false,"Name":"Broom Handle","SerialNumber":null,"InstallDate":null,"PurchaseDate":null,"UsageEndDate":null,"LifecycleStartDate":null,"LifecycleEndDate":null,"Status":null,"Price":null,"Quantity":null,"Description":null,"OwnerId":"0054W00000BZkk0QAD","AssetProvidedById":null,"AssetServicedById":null,"IsInternal":false,"AssetLevel":1,"StockKeepingUnit":null,"HasLifecycleManagement":false,"CurrentMrr":null,"CurrentLifecycleEndDate":null,"CurrentQuantity":null,"CurrentAmount":null,"TotalLifecycleAmount":null,"LastViewedDate":null,"LastReferencedDate":null},"emitted_at":1668502910120} +{"stream":"Asset","data":{"Id":"02i4W00000EkJsuQAF","ContactId":null,"AccountId":"0014W00002DkoWCQAZ","ParentId":null,"RootAssetId":"02i4W00000EkJsuQAF","Product2Id":null,"ProductCode":null,"IsCompetitorProduct":false,"CreatedDate":"2021-01-18T21:44:57.000Z","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2021-01-18T21:44:57.000Z","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2021-01-18T21:44:57.000Z","IsDeleted":false,"Name":"Veal - Inside, Choice","SerialNumber":null,"InstallDate":null,"PurchaseDate":null,"UsageEndDate":null,"LifecycleStartDate":null,"LifecycleEndDate":null,"Status":null,"Price":null,"Quantity":null,"Description":null,"OwnerId":"0054W00000BZkk0QAD","AssetProvidedById":null,"AssetServicedById":null,"IsInternal":false,"AssetLevel":1,"StockKeepingUnit":null,"HasLifecycleManagement":false,"CurrentMrr":null,"CurrentLifecycleEndDate":null,"CurrentQuantity":null,"CurrentAmount":null,"TotalLifecycleAmount":null,"LastViewedDate":null,"LastReferencedDate":null},"emitted_at":1668502910121} +{"stream":"Asset","data":{"Id":"02i4W00000EkJsvQAF","ContactId":null,"AccountId":"0014W00002DkoW3QAJ","ParentId":null,"RootAssetId":"02i4W00000EkJsvQAF","Product2Id":null,"ProductCode":null,"IsCompetitorProduct":false,"CreatedDate":"2021-01-18T21:44:57.000Z","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2021-01-18T21:44:57.000Z","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2021-01-18T21:44:57.000Z","IsDeleted":false,"Name":"Gherkin","SerialNumber":null,"InstallDate":null,"PurchaseDate":null,"UsageEndDate":null,"LifecycleStartDate":null,"LifecycleEndDate":null,"Status":null,"Price":null,"Quantity":null,"Description":null,"OwnerId":"0054W00000BZkk0QAD","AssetProvidedById":null,"AssetServicedById":null,"IsInternal":false,"AssetLevel":1,"StockKeepingUnit":null,"HasLifecycleManagement":false,"CurrentMrr":null,"CurrentLifecycleEndDate":null,"CurrentQuantity":null,"CurrentAmount":null,"TotalLifecycleAmount":null,"LastViewedDate":null,"LastReferencedDate":null},"emitted_at":1668502910121} +{"stream":"Asset","data":{"Id":"02i4W00000EkJswQAF","ContactId":null,"AccountId":"0014W00002DkoWJQAZ","ParentId":null,"RootAssetId":"02i4W00000EkJswQAF","Product2Id":null,"ProductCode":null,"IsCompetitorProduct":false,"CreatedDate":"2021-01-18T21:44:57.000Z","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2021-01-18T21:44:57.000Z","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2021-01-18T21:44:57.000Z","IsDeleted":false,"Name":"Yoghurt Tubes","SerialNumber":null,"InstallDate":null,"PurchaseDate":null,"UsageEndDate":null,"LifecycleStartDate":null,"LifecycleEndDate":null,"Status":null,"Price":null,"Quantity":null,"Description":null,"OwnerId":"0054W00000BZkk0QAD","AssetProvidedById":null,"AssetServicedById":null,"IsInternal":false,"AssetLevel":1,"StockKeepingUnit":null,"HasLifecycleManagement":false,"CurrentMrr":null,"CurrentLifecycleEndDate":null,"CurrentQuantity":null,"CurrentAmount":null,"TotalLifecycleAmount":null,"LastViewedDate":null,"LastReferencedDate":null},"emitted_at":1668502910122} +{"stream":"Asset","data":{"Id":"02i4W00000EkJsxQAF","ContactId":null,"AccountId":"0014W00002DkoWEQAZ","ParentId":null,"RootAssetId":"02i4W00000EkJsxQAF","Product2Id":null,"ProductCode":null,"IsCompetitorProduct":false,"CreatedDate":"2021-01-18T21:44:57.000Z","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2021-01-18T21:44:57.000Z","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2021-01-18T21:44:57.000Z","IsDeleted":false,"Name":"Sugar - Monocystal / Rock","SerialNumber":null,"InstallDate":null,"PurchaseDate":null,"UsageEndDate":null,"LifecycleStartDate":null,"LifecycleEndDate":null,"Status":null,"Price":null,"Quantity":null,"Description":null,"OwnerId":"0054W00000BZkk0QAD","AssetProvidedById":null,"AssetServicedById":null,"IsInternal":false,"AssetLevel":1,"StockKeepingUnit":null,"HasLifecycleManagement":false,"CurrentMrr":null,"CurrentLifecycleEndDate":null,"CurrentQuantity":null,"CurrentAmount":null,"TotalLifecycleAmount":null,"LastViewedDate":null,"LastReferencedDate":null},"emitted_at":1668502910123} +{"stream":"Asset","data":{"Id":"02i4W00000EkJsyQAF","ContactId":null,"AccountId":"0014W00002DkoWGQAZ","ParentId":null,"RootAssetId":"02i4W00000EkJsyQAF","Product2Id":null,"ProductCode":null,"IsCompetitorProduct":false,"CreatedDate":"2021-01-18T21:44:57.000Z","CreatedById":"0054W00000BZkk0QAD","LastModifiedDate":"2021-01-18T21:44:57.000Z","LastModifiedById":"0054W00000BZkk0QAD","SystemModstamp":"2021-01-18T21:44:57.000Z","IsDeleted":false,"Name":"Broccoli - Fresh","SerialNumber":null,"InstallDate":null,"PurchaseDate":null,"UsageEndDate":null,"LifecycleStartDate":null,"LifecycleEndDate":null,"Status":null,"Price":null,"Quantity":null,"Description":null,"OwnerId":"0054W00000BZkk0QAD","AssetProvidedById":null,"AssetServicedById":null,"IsInternal":false,"AssetLevel":1,"StockKeepingUnit":null,"HasLifecycleManagement":false,"CurrentMrr":null,"CurrentLifecycleEndDate":null,"CurrentQuantity":null,"CurrentAmount":null,"TotalLifecycleAmount":null,"LastViewedDate":null,"LastReferencedDate":null},"emitted_at":1668502910123} +{"stream":"FormulaFunctionAllowedType","data":{"Id":"000000000000000AAA","DurableId":"VALIDATION-ABS","FunctionId":"ABS","Type":"VALIDATION"},"emitted_at":1668502913066} +{"stream":"FormulaFunctionAllowedType","data":{"Id":"000000000000000AAA","DurableId":"VALIDATION-ACOS","FunctionId":"ACOS","Type":"VALIDATION"},"emitted_at":1668502913066} +{"stream":"FormulaFunctionAllowedType","data":{"Id":"000000000000000AAA","DurableId":"VALIDATION-ADDMONTHS","FunctionId":"ADDMONTHS","Type":"VALIDATION"},"emitted_at":1668502913066} +{"stream":"FormulaFunctionAllowedType","data":{"Id":"000000000000000AAA","DurableId":"VALIDATION-AND","FunctionId":"AND","Type":"VALIDATION"},"emitted_at":1668502913067} +{"stream":"FormulaFunctionAllowedType","data":{"Id":"000000000000000AAA","DurableId":"VALIDATION-ASCII","FunctionId":"ASCII","Type":"VALIDATION"},"emitted_at":1668502913067} +{"stream":"FormulaFunctionAllowedType","data":{"Id":"000000000000000AAA","DurableId":"VALIDATION-ASIN","FunctionId":"ASIN","Type":"VALIDATION"},"emitted_at":1668502913067} +{"stream":"FormulaFunctionAllowedType","data":{"Id":"000000000000000AAA","DurableId":"VALIDATION-ATAN","FunctionId":"ATAN","Type":"VALIDATION"},"emitted_at":1668502913068} +{"stream":"FormulaFunctionAllowedType","data":{"Id":"000000000000000AAA","DurableId":"VALIDATION-ATAN2","FunctionId":"ATAN2","Type":"VALIDATION"},"emitted_at":1668502913068} +{"stream":"FormulaFunctionAllowedType","data":{"Id":"000000000000000AAA","DurableId":"VALIDATION-BEGINS","FunctionId":"BEGINS","Type":"VALIDATION"},"emitted_at":1668502913068} +{"stream":"FormulaFunctionAllowedType","data":{"Id":"000000000000000AAA","DurableId":"VALIDATION-BLANKVALUE","FunctionId":"BLANKVALUE","Type":"VALIDATION"},"emitted_at":1668502913068} +{"stream":"LeadHistory","data":{"Id":"0174W00010EpxkSQAR","IsDeleted":false,"LeadId":"00Q4W00001WGXdDUAX","CreatedById":"0054W00000BZkk0QAD","CreatedDate":"2021-11-02T00:20:05.000Z","Field":"Title","DataType":"Text","OldValue":"Co-Founder","NewValue":"History Track"},"emitted_at":1668502915669} +{"stream":"ObjectPermissions","data":{"Id":"1104W00002Fjqc6QAB","ParentId":"0PS4W000002mq70WAA","SobjectType":"AuthorizationFormConsent","PermissionsCreate":true,"PermissionsRead":true,"PermissionsEdit":true,"PermissionsDelete":true,"PermissionsViewAllRecords":false,"PermissionsModifyAllRecords":false,"CreatedDate":"2020-10-22T21:03:23.000Z","CreatedById":"0054W00000CVeyaQAD","LastModifiedDate":"2020-10-22T21:03:23.000Z","LastModifiedById":"0054W00000CVeyaQAD","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502921232} +{"stream":"ObjectPermissions","data":{"Id":"1104W00002Fjqc7QAB","ParentId":"0PS4W000002mq70WAA","SobjectType":"AuthorizationFormDataUse","PermissionsCreate":true,"PermissionsRead":true,"PermissionsEdit":true,"PermissionsDelete":true,"PermissionsViewAllRecords":false,"PermissionsModifyAllRecords":false,"CreatedDate":"2020-10-22T21:03:23.000Z","CreatedById":"0054W00000CVeyaQAD","LastModifiedDate":"2020-10-22T21:03:23.000Z","LastModifiedById":"0054W00000CVeyaQAD","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502921233} +{"stream":"ObjectPermissions","data":{"Id":"1104W00002Fjqc8QAB","ParentId":"0PS4W000002mq70WAA","SobjectType":"AuthorizationFormText","PermissionsCreate":true,"PermissionsRead":true,"PermissionsEdit":true,"PermissionsDelete":true,"PermissionsViewAllRecords":false,"PermissionsModifyAllRecords":false,"CreatedDate":"2020-10-22T21:03:23.000Z","CreatedById":"0054W00000CVeyaQAD","LastModifiedDate":"2020-10-22T21:03:23.000Z","LastModifiedById":"0054W00000CVeyaQAD","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502921233} +{"stream":"ObjectPermissions","data":{"Id":"1104W00002Fjqc9QAB","ParentId":"0PS4W000002mq70WAA","SobjectType":"AuthorizationForm","PermissionsCreate":true,"PermissionsRead":true,"PermissionsEdit":true,"PermissionsDelete":true,"PermissionsViewAllRecords":false,"PermissionsModifyAllRecords":false,"CreatedDate":"2020-10-22T21:03:23.000Z","CreatedById":"0054W00000CVeyaQAD","LastModifiedDate":"2020-10-22T21:03:23.000Z","LastModifiedById":"0054W00000CVeyaQAD","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502921233} +{"stream":"ObjectPermissions","data":{"Id":"1104W00002FjqcAQAR","ParentId":"0PS4W000002mq70WAA","SobjectType":"ContactPointConsent","PermissionsCreate":true,"PermissionsRead":true,"PermissionsEdit":true,"PermissionsDelete":true,"PermissionsViewAllRecords":false,"PermissionsModifyAllRecords":false,"CreatedDate":"2020-10-22T21:03:23.000Z","CreatedById":"0054W00000CVeyaQAD","LastModifiedDate":"2020-10-22T21:03:23.000Z","LastModifiedById":"0054W00000CVeyaQAD","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502921234} +{"stream":"ObjectPermissions","data":{"Id":"1104W00002FjqcBQAR","ParentId":"0PS4W000002mq70WAA","SobjectType":"ContactPointTypeConsent","PermissionsCreate":true,"PermissionsRead":true,"PermissionsEdit":true,"PermissionsDelete":true,"PermissionsViewAllRecords":false,"PermissionsModifyAllRecords":false,"CreatedDate":"2020-10-22T21:03:23.000Z","CreatedById":"0054W00000CVeyaQAD","LastModifiedDate":"2020-10-22T21:03:23.000Z","LastModifiedById":"0054W00000CVeyaQAD","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502921234} +{"stream":"ObjectPermissions","data":{"Id":"1104W00002FjqcCQAR","ParentId":"0PS4W000002mq70WAA","SobjectType":"DataUseLegalBasis","PermissionsCreate":true,"PermissionsRead":true,"PermissionsEdit":true,"PermissionsDelete":true,"PermissionsViewAllRecords":false,"PermissionsModifyAllRecords":false,"CreatedDate":"2020-10-22T21:03:23.000Z","CreatedById":"0054W00000CVeyaQAD","LastModifiedDate":"2020-10-22T21:03:23.000Z","LastModifiedById":"0054W00000CVeyaQAD","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502921234} +{"stream":"ObjectPermissions","data":{"Id":"1104W00002FjqcDQAR","ParentId":"0PS4W000002mq70WAA","SobjectType":"DataUsePurpose","PermissionsCreate":true,"PermissionsRead":true,"PermissionsEdit":true,"PermissionsDelete":true,"PermissionsViewAllRecords":false,"PermissionsModifyAllRecords":false,"CreatedDate":"2020-10-22T21:03:23.000Z","CreatedById":"0054W00000CVeyaQAD","LastModifiedDate":"2020-10-22T21:03:23.000Z","LastModifiedById":"0054W00000CVeyaQAD","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502921235} +{"stream":"ObjectPermissions","data":{"Id":"1104W00002FjqcEQAR","ParentId":"0PS4W000002mq6zWAA","SobjectType":"AuthorizationFormConsent","PermissionsCreate":false,"PermissionsRead":true,"PermissionsEdit":false,"PermissionsDelete":false,"PermissionsViewAllRecords":false,"PermissionsModifyAllRecords":false,"CreatedDate":"2020-10-22T21:03:23.000Z","CreatedById":"0054W00000CVeyaQAD","LastModifiedDate":"2020-10-22T21:03:23.000Z","LastModifiedById":"0054W00000CVeyaQAD","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502921235} +{"stream":"ObjectPermissions","data":{"Id":"1104W00002FjqcFQAR","ParentId":"0PS4W000002mq6zWAA","SobjectType":"AuthorizationFormDataUse","PermissionsCreate":false,"PermissionsRead":true,"PermissionsEdit":false,"PermissionsDelete":false,"PermissionsViewAllRecords":false,"PermissionsModifyAllRecords":false,"CreatedDate":"2020-10-22T21:03:23.000Z","CreatedById":"0054W00000CVeyaQAD","LastModifiedDate":"2020-10-22T21:03:23.000Z","LastModifiedById":"0054W00000CVeyaQAD","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502921235} +{"stream":"PermissionSetTabSetting","data":{"Id":"01P4W00005O7pKXUAZ","ParentId":"0PS4W000002mq7WWAQ","Visibility":"DefaultOn","Name":"standard-ConsumptionSchedule","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502937601} +{"stream":"PermissionSetTabSetting","data":{"Id":"01P4W00005O7pLCUAZ","ParentId":"0PS4W000002mq7OWAQ","Visibility":"DefaultOn","Name":"standard-AppLauncher","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502937602} +{"stream":"PermissionSetTabSetting","data":{"Id":"01P4W00005O7pLFUAZ","ParentId":"0PS4W000002mq7PWAQ","Visibility":"DefaultOn","Name":"standard-AppLauncher","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502937602} +{"stream":"PermissionSetTabSetting","data":{"Id":"01P4W00005O7pLGUAZ","ParentId":"0PS4W000002mq7QWAQ","Visibility":"DefaultOn","Name":"standard-AppLauncher","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502937602} +{"stream":"PermissionSetTabSetting","data":{"Id":"01P4W00005O7pLIUAZ","ParentId":"0PS4W000002mq7WWAQ","Visibility":"DefaultOn","Name":"standard-AppLauncher","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502937603} +{"stream":"PermissionSetTabSetting","data":{"Id":"01P4W00005O7pLUUAZ","ParentId":"0PS4W000002mq7WWAQ","Visibility":"DefaultOn","Name":"standard-Sites","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502937603} +{"stream":"PermissionSetTabSetting","data":{"Id":"01P4W00005O7pMFUAZ","ParentId":"0PS4W000002mq7OWAQ","Visibility":"DefaultOn","Name":"standard-Idea","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502937603} +{"stream":"PermissionSetTabSetting","data":{"Id":"01P4W00005O7pMIUAZ","ParentId":"0PS4W000002mq7PWAQ","Visibility":"DefaultOn","Name":"standard-Idea","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502937603} +{"stream":"PermissionSetTabSetting","data":{"Id":"01P4W00005O7pMJUAZ","ParentId":"0PS4W000002mq7QWAQ","Visibility":"DefaultOn","Name":"standard-Idea","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502937604} +{"stream":"PermissionSetTabSetting","data":{"Id":"01P4W00005O7pMMUAZ","ParentId":"0PS4W000002mq7WWAQ","Visibility":"DefaultOn","Name":"standard-Idea","SystemModstamp":"2020-10-22T21:03:23.000Z"},"emitted_at":1668502937604} +{"stream":"Describe","data":{"actionOverrides":[],"activateable":false,"associateEntityType":null,"associateParentEntity":null,"childRelationships":[],"compactLayoutable":false,"createable":false,"custom":false,"customSetting":false,"deepCloneable":false,"defaultImplementation":null,"deletable":false,"deprecatedAndHidden":false,"extendedBy":null,"extendsInterfaces":null,"feedEnabled":false,"fields":[{"aggregatable":true,"aiPredictionField":false,"autoNumber":false,"byteLength":18,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"compoundFieldName":null,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"encrypted":false,"externalId":false,"extraTypeInfo":null,"filterable":true,"filteredLookupInfo":null,"formulaTreatNullNumberAsZero":false,"groupable":true,"highScaleNumber":false,"htmlFormatted":false,"idLookup":true,"inlineHelpText":null,"label":"Active Feature License Metric ID","length":18,"mask":null,"maskType":null,"name":"Id","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"polymorphicForeignKey":false,"precision":0,"queryByDistance":false,"referenceTargetField":null,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"searchPrefilterable":false,"soapType":"tns:ID","sortable":true,"type":"id","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"aggregatable":true,"aiPredictionField":false,"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"compoundFieldName":null,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":false,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"encrypted":false,"externalId":false,"extraTypeInfo":null,"filterable":true,"filteredLookupInfo":null,"formulaTreatNullNumberAsZero":false,"groupable":true,"highScaleNumber":false,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Metrics Date","length":0,"mask":null,"maskType":null,"name":"MetricsDate","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"polymorphicForeignKey":false,"precision":0,"queryByDistance":false,"referenceTargetField":null,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"searchPrefilterable":false,"soapType":"xsd:date","sortable":true,"type":"date","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"aggregatable":true,"aiPredictionField":false,"autoNumber":false,"byteLength":120,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"compoundFieldName":null,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":false,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"encrypted":false,"externalId":false,"extraTypeInfo":null,"filterable":true,"filteredLookupInfo":null,"formulaTreatNullNumberAsZero":false,"groupable":true,"highScaleNumber":false,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Primary Grain","length":40,"mask":null,"maskType":null,"name":"FeatureType","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[{"active":true,"defaultValue":false,"label":"Marketing User","validFor":null,"value":"MarketingUser"},{"active":true,"defaultValue":false,"label":"Offline User","validFor":null,"value":"OfflineUser"},{"active":true,"defaultValue":false,"label":"Wireless User","validFor":null,"value":"WirelessUser"},{"active":true,"defaultValue":false,"label":"AvantGo User","validFor":null,"value":"AvantgoUser"},{"active":true,"defaultValue":false,"label":"Apex Mobile User","validFor":null,"value":"MobileUser"},{"active":true,"defaultValue":false,"label":"Salesforce CRM Content User","validFor":null,"value":"SFContentUser"},{"active":true,"defaultValue":false,"label":"Knowledge User","validFor":null,"value":"KnowledgeUser"},{"active":true,"defaultValue":false,"label":"Flow User","validFor":null,"value":"InteractionUser"},{"active":true,"defaultValue":false,"label":"Service Cloud User","validFor":null,"value":"SupportUser"},{"active":true,"defaultValue":false,"label":"Data.com User","validFor":null,"value":"JigsawProspectingUser"},{"active":true,"defaultValue":false,"label":"Chat User","validFor":null,"value":"LiveAgentUser"},{"active":true,"defaultValue":false,"label":"Site.com Contributor User","validFor":null,"value":"SiteforceContributorUser"},{"active":true,"defaultValue":false,"label":"Site.com Publisher User","validFor":null,"value":"SiteforcePublisherUser"},{"active":true,"defaultValue":false,"label":"Chatter Answers User","validFor":null,"value":"ChatterAnswersUser"},{"active":true,"defaultValue":false,"label":"WDC User","validFor":null,"value":"WorkDotComUserFeature"}],"polymorphicForeignKey":false,"precision":0,"queryByDistance":false,"referenceTargetField":null,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":true,"scale":0,"searchPrefilterable":false,"soapType":"xsd:string","sortable":true,"type":"picklist","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"aggregatable":true,"aiPredictionField":false,"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"compoundFieldName":null,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"encrypted":false,"externalId":false,"extraTypeInfo":null,"filterable":true,"filteredLookupInfo":null,"formulaTreatNullNumberAsZero":false,"groupable":false,"highScaleNumber":false,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"System Modstamp","length":0,"mask":null,"maskType":null,"name":"SystemModstamp","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"polymorphicForeignKey":false,"precision":0,"queryByDistance":false,"referenceTargetField":null,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"searchPrefilterable":false,"soapType":"xsd:dateTime","sortable":true,"type":"datetime","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"aggregatable":true,"aiPredictionField":false,"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"compoundFieldName":null,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":false,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":9,"displayLocationInDecimal":false,"encrypted":false,"externalId":false,"extraTypeInfo":null,"filterable":true,"filteredLookupInfo":null,"formulaTreatNullNumberAsZero":false,"groupable":true,"highScaleNumber":false,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Assigned User Count","length":0,"mask":null,"maskType":null,"name":"AssignedUserCount","nameField":false,"namePointing":false,"nillable":true,"permissionable":false,"picklistValues":[],"polymorphicForeignKey":false,"precision":0,"queryByDistance":false,"referenceTargetField":null,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"searchPrefilterable":false,"soapType":"xsd:int","sortable":true,"type":"int","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"aggregatable":true,"aiPredictionField":false,"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"compoundFieldName":null,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":false,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":9,"displayLocationInDecimal":false,"encrypted":false,"externalId":false,"extraTypeInfo":null,"filterable":true,"filteredLookupInfo":null,"formulaTreatNullNumberAsZero":false,"groupable":true,"highScaleNumber":false,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Active User Count","length":0,"mask":null,"maskType":null,"name":"ActiveUserCount","nameField":false,"namePointing":false,"nillable":true,"permissionable":false,"picklistValues":[],"polymorphicForeignKey":false,"precision":0,"queryByDistance":false,"referenceTargetField":null,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"searchPrefilterable":false,"soapType":"xsd:int","sortable":true,"type":"int","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"aggregatable":true,"aiPredictionField":false,"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"compoundFieldName":null,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":false,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":9,"displayLocationInDecimal":false,"encrypted":false,"externalId":false,"extraTypeInfo":null,"filterable":true,"filteredLookupInfo":null,"formulaTreatNullNumberAsZero":false,"groupable":true,"highScaleNumber":false,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Total License Count","length":0,"mask":null,"maskType":null,"name":"TotalLicenseCount","nameField":false,"namePointing":false,"nillable":true,"permissionable":false,"picklistValues":[],"polymorphicForeignKey":false,"precision":0,"queryByDistance":false,"referenceTargetField":null,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"searchPrefilterable":false,"soapType":"xsd:int","sortable":true,"type":"int","unique":false,"updateable":false,"writeRequiresMasterRead":false}],"hasSubtypes":false,"implementedBy":null,"implementsInterfaces":null,"isInterface":false,"isSubtype":false,"keyPrefix":"5H2","label":"Active Feature License Metric","labelPlural":"Active Feature License Metrics","layoutable":false,"listviewable":null,"lookupLayoutable":null,"mergeable":false,"mruEnabled":false,"name":"ActiveFeatureLicenseMetric","namedLayoutInfos":[],"networkScopeFieldName":null,"queryable":true,"recordTypeInfos":[],"replicateable":false,"retrieveable":true,"searchLayoutable":false,"searchable":false,"sobjectDescribeOption":"FULL","supportedScopes":[{"label":"All active feature license metrics","name":"everything"}],"triggerable":false,"undeletable":false,"updateable":false,"urls":{"rowTemplate":"/services/data/v52.0/sobjects/ActiveFeatureLicenseMetric/{ID}","describe":"/services/data/v52.0/sobjects/ActiveFeatureLicenseMetric/describe","sobject":"/services/data/v52.0/sobjects/ActiveFeatureLicenseMetric"}},"emitted_at":1668502938496} diff --git a/airbyte-integrations/connectors/source-salesforce/integration_tests/incremental_catalog.json b/airbyte-integrations/connectors/source-salesforce/integration_tests/incremental_catalog.json new file mode 100644 index 0000000000000..7bcaf66dfe236 --- /dev/null +++ b/airbyte-integrations/connectors/source-salesforce/integration_tests/incremental_catalog.json @@ -0,0 +1,100 @@ +{ + "streams": [ + { + "stream": { + "name": "Account", + "json_schema": {}, + "supported_sync_modes": ["full_refresh", "incremental"], + "source_defined_cursor": true, + "default_cursor_field": ["SystemModstamp"], + "source_defined_primary_key": [["Id"]] + }, + "sync_mode": "incremental", + "destination_sync_mode": "append" + }, + { + "stream": { + "name": "ActiveFeatureLicenseMetric", + "json_schema": {}, + "supported_sync_modes": ["full_refresh", "incremental"], + "source_defined_cursor": true, + "default_cursor_field": ["SystemModstamp"], + "source_defined_primary_key": [["Id"]] + }, + "sync_mode": "incremental", + "destination_sync_mode": "append" + }, + { + "stream": { + "name": "ActivePermSetLicenseMetric", + "json_schema": {}, + "supported_sync_modes": ["full_refresh", "incremental"], + "source_defined_cursor": true, + "default_cursor_field": ["SystemModstamp"], + "source_defined_primary_key": [["Id"]] + }, + "sync_mode": "incremental", + "destination_sync_mode": "append" + }, + { + "stream": { + "name": "ActiveProfileMetric", + "json_schema": {}, + "supported_sync_modes": ["full_refresh", "incremental"], + "source_defined_cursor": true, + "default_cursor_field": ["SystemModstamp"], + "source_defined_primary_key": [["Id"]] + }, + "sync_mode": "incremental", + "destination_sync_mode": "append" + }, + { + "stream": { + "name": "Asset", + "json_schema": {}, + "supported_sync_modes": ["full_refresh", "incremental"], + "source_defined_cursor": true, + "default_cursor_field": ["SystemModstamp"], + "source_defined_primary_key": [["Id"]] + }, + "sync_mode": "incremental", + "destination_sync_mode": "append" + }, + { + "stream": { + "name": "ObjectPermissions", + "json_schema": {}, + "supported_sync_modes": ["full_refresh", "incremental"], + "source_defined_cursor": true, + "default_cursor_field": ["SystemModstamp"], + "source_defined_primary_key": [["Id"]] + }, + "sync_mode": "incremental", + "destination_sync_mode": "append" + }, + { + "stream": { + "name": "PermissionSetTabSetting", + "json_schema": {}, + "supported_sync_modes": ["full_refresh", "incremental"], + "source_defined_cursor": true, + "default_cursor_field": ["SystemModstamp"], + "source_defined_primary_key": [["Id"]] + }, + "sync_mode": "incremental", + "destination_sync_mode": "append" + }, + { + "stream": { + "name": "LeadHistory", + "json_schema": {}, + "supported_sync_modes": ["full_refresh", "incremental"], + "source_defined_cursor": true, + "default_cursor_field": ["CreatedDate"], + "source_defined_primary_key": [["Id"]] + }, + "sync_mode": "incremental", + "destination_sync_mode": "append" + } + ] +} diff --git a/airbyte-integrations/connectors/source-salesforce/source_salesforce/api.py b/airbyte-integrations/connectors/source-salesforce/source_salesforce/api.py index 8efa5276444d9..17840169568df 100644 --- a/airbyte-integrations/connectors/source-salesforce/source_salesforce/api.py +++ b/airbyte-integrations/connectors/source-salesforce/source_salesforce/api.py @@ -154,6 +154,30 @@ "TaskStatus", "TaskWhoRelation", "UndecidedEventRelation", + "WorkOrderLineItemStatus", + "WorkOrderStatus", + "UserRecordAccess", + "OwnedContentDocument", + "OpenActivity", + "NoteAndAttachment", + "Name", + "LookedUpFromActivity", + "FolderedContentDocument", + "ContractStatus", + "ContentFolderItem", + "CombinedAttachment", + "CaseTeamTemplateRecord", + "CaseTeamTemplateMember", + "CaseTeamTemplate", + "CaseTeamRole", + "CaseTeamMember", + "AttachedContentDocument", + "AggregateResult", + "AccountHistory", + "ChannelProgramLevelShare", + "AccountBrandShare", + "AccountFeed", + "AssetFeed", ] UNSUPPORTED_FILTERING_STREAMS = [ diff --git a/airbyte-integrations/connectors/source-salesforce/source_salesforce/streams.py b/airbyte-integrations/connectors/source-salesforce/source_salesforce/streams.py index 8839a1f82c487..fb5df8ee196e4 100644 --- a/airbyte-integrations/connectors/source-salesforce/source_salesforce/streams.py +++ b/airbyte-integrations/connectors/source-salesforce/source_salesforce/streams.py @@ -251,7 +251,7 @@ def execute_job(self, query: str, url: str) -> Tuple[Optional[str], Optional[str for i in range(0, self.MAX_RETRY_NUMBER): job_id = self.create_stream_job(query=query, url=url) if not job_id: - return None, None + return None, job_status job_full_url = f"{url}/{job_id}" job_status = self.wait_for_job(url=job_full_url) if job_status not in ["UploadComplete", "InProgress"]: diff --git a/airbyte-integrations/connectors/source-salesforce/unit_tests/api_test.py b/airbyte-integrations/connectors/source-salesforce/unit_tests/api_test.py index 1a997e00bb10d..249b930dbb94a 100644 --- a/airbyte-integrations/connectors/source-salesforce/unit_tests/api_test.py +++ b/airbyte-integrations/connectors/source-salesforce/unit_tests/api_test.py @@ -33,6 +33,33 @@ def test_bulk_sync_creation_failed(stream_config, stream_api): assert err.value.response.json()[0]["message"] == "test_error" +def test_bulk_stream_fallback_to_rest(mocker, requests_mock, stream_config, stream_api): + """ + Here we mock BULK API with response returning error, saying BULK is not supported for this kind of entity. + On the other hand, we mock REST API for this same entity with a successful response. + After having instantiated a BulkStream, sync should succeed in case it falls back to REST API. Otherwise it would throw an error. + """ + stream = generate_stream("CustomEntity", stream_config, stream_api) + # mock a BULK API + requests_mock.register_uri( + "POST", + "https://fase-account.salesforce.com/services/data/v52.0/jobs/query", + status_code=400, + json=[{ + "errorCode": "INVALIDENTITY", + "message": "CustomEntity is not supported by the Bulk API" + }] + ) + rest_stream_records = [ + {"id": 1, "name": "custom entity", "created": "2010-11-11"}, + {"id": 11, "name": "custom entity", "created": "2020-01-02"} + ] + # mock REST API + mocker.patch("source_salesforce.source.SalesforceStream.read_records", Mock(return_value=rest_stream_records)) + assert type(stream) is BulkIncrementalSalesforceStream + assert list(stream.read_records(sync_mode=SyncMode.full_refresh)) == rest_stream_records + + def test_stream_unsupported_by_bulk(stream_config, stream_api, caplog): """ Stream `AcceptedEventRelation` is not supported by BULK API, so that REST API stream will be used for it. diff --git a/docs/integrations/sources/salesforce.md b/docs/integrations/sources/salesforce.md index 34a3b39570d6a..1f038a107d99e 100644 --- a/docs/integrations/sources/salesforce.md +++ b/docs/integrations/sources/salesforce.md @@ -119,55 +119,56 @@ Now that you have set up the Salesforce source connector, check out the followin ## Changelog -| Version | Date | Pull Request | Subject | -|:--------| :--------- |:---------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------| +| Version | Date | Pull Request | Subject | +|:--------|:-----------|:---------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------| +| 1.0.26 | 2022-11-15 | [19286](https://github.com/airbytehq/airbyte/pull/19286) | Bugfix: fallback to REST API if entity is not supported by BULK API | | 1.0.25 | 2022-11-13 | [19294](https://github.com/airbytehq/airbyte/pull/19294) | Use the correct encoding for non UTF-8 objects and data | -| 1.0.24 | 2022-11-01 | [18799](https://github.com/airbytehq/airbyte/pull/18799) | Update list of unsupported Bulk API objects | -| 1.0.23 | 2022-11-01 | [18753](https://github.com/airbytehq/airbyte/pull/18753) | Add error_display_message for ConnectionError | -| 1.0.22 | 2022-10-12 | [17615](https://github.com/airbytehq/airbyte/pull/17615) | Make paging work, if `cursor_field` is not changed inside one page | -| 1.0.21 | 2022-10-10 | [17778](https://github.com/airbytehq/airbyte/pull/17778) | Add `EventWhoRelation` to the list of unsupported Bulk API objects. | -| 1.0.20 | 2022-09-30 | [17453](https://github.com/airbytehq/airbyte/pull/17453) | Check objects that are not supported by the Bulk API (v52.0) | -| 1.0.19 | 2022-09-29 | [17314](https://github.com/airbytehq/airbyte/pull/17314) | Fixed bug with decoding response | -| 1.0.18 | 2022-09-28 | [17304](https://github.com/airbytehq/airbyte/pull/17304) | Migrate to per-stream states. | -| 1.0.17 | 2022-09-23 | [17094](https://github.com/airbytehq/airbyte/pull/17094) | Tune connection check: fetch a list of available streams | -| 1.0.16 | 2022-09-21 | [17001](https://github.com/airbytehq/airbyte/pull/17001) | Improve writing file of decode | -| 1.0.15 | 2022-08-30 | [16086](https://github.com/airbytehq/airbyte/pull/16086) | Improve API type detection | -| 1.0.14 | 2022-08-29 | [16119](https://github.com/airbytehq/airbyte/pull/16119) | Exclude `KnowledgeArticleVersion` from using bulk API | -| 1.0.13 | 2022-08-23 | [15901](https://github.com/airbytehq/airbyte/pull/15901) | Exclude `KnowledgeArticle` from using bulk API | -| 1.0.12 | 2022-08-09 | [15444](https://github.com/airbytehq/airbyte/pull/15444) | Fixed bug when `Bulk Job` was timeout by the connector, but remained running on the server | -| 1.0.11 | 2022-07-07 | [13729](https://github.com/airbytehq/airbyte/pull/13729) | Improve configuration field descriptions | -| 1.0.10 | 2022-06-09 | [13658](https://github.com/airbytehq/airbyte/pull/13658) | Correct logic to sync stream larger than page size | -| 1.0.9 | 2022-05-06 | [12685](https://github.com/airbytehq/airbyte/pull/12685) | Update CDK to v0.1.56 to emit an `AirbyeTraceMessage` on uncaught exceptions | -| 1.0.8 | 2022-05-04 | [12576](https://github.com/airbytehq/airbyte/pull/12576) | Decode responses as utf-8 and fallback to ISO-8859-1 if needed | -| 1.0.7 | 2022-05-03 | [12552](https://github.com/airbytehq/airbyte/pull/12552) | Decode responses as ISO-8859-1 instead of utf-8 | -| 1.0.6 | 2022-04-27 | [12335](https://github.com/airbytehq/airbyte/pull/12335) | Adding fixtures to mock time.sleep for connectors that explicitly sleep | -| 1.0.5 | 2022-04-25 | [12304](https://github.com/airbytehq/airbyte/pull/12304) | Add `Describe` stream | -| 1.0.4 | 2022-04-20 | [12230](https://github.com/airbytehq/airbyte/pull/12230) | Update connector to use a `spec.yaml` | -| 1.0.3 | 2022-04-04 | [11692](https://github.com/airbytehq/airbyte/pull/11692) | Optimised memory usage for `BULK` API calls | -| 1.0.2 | 2022-03-01 | [10751](https://github.com/airbytehq/airbyte/pull/10751) | Fix broken link anchor in connector configuration | -| 1.0.1 | 2022-02-27 | [10679](https://github.com/airbytehq/airbyte/pull/10679) | Reorganize input parameter order on the UI | -| 1.0.0 | 2022-02-27 | [10516](https://github.com/airbytehq/airbyte/pull/10516) | Speed up schema discovery by using parallelism | -| 0.1.23 | 2022-02-10 | [10141](https://github.com/airbytehq/airbyte/pull/10141) | Processing of failed jobs | -| 0.1.22 | 2022-02-02 | [10012](https://github.com/airbytehq/airbyte/pull/10012) | Increase CSV field_size_limit | -| 0.1.21 | 2022-01-28 | [9499](https://github.com/airbytehq/airbyte/pull/9499) | If a sync reaches daily rate limit it ends the sync early with success status. Read more in `Performance considerations` section | -| 0.1.20 | 2022-01-26 | [9757](https://github.com/airbytehq/airbyte/pull/9757) | Parse CSV with "unix" dialect | -| 0.1.19 | 2022-01-25 | [8617](https://github.com/airbytehq/airbyte/pull/8617) | Update connector fields title/description | -| 0.1.18 | 2022-01-20 | [9478](https://github.com/airbytehq/airbyte/pull/9478) | Add available stream filtering by `queryable` flag | -| 0.1.17 | 2022-01-19 | [9302](https://github.com/airbytehq/airbyte/pull/9302) | Deprecate API Type parameter | -| 0.1.16 | 2022-01-18 | [9151](https://github.com/airbytehq/airbyte/pull/9151) | Fix pagination in REST API streams | -| 0.1.15 | 2022-01-11 | [9409](https://github.com/airbytehq/airbyte/pull/9409) | Correcting the presence of an extra `else` handler in the error handling | -| 0.1.14 | 2022-01-11 | [9386](https://github.com/airbytehq/airbyte/pull/9386) | Handling 400 error, while `sobject` doesn't support `query` or `queryAll` requests | -| 0.1.13 | 2022-01-11 | [8797](https://github.com/airbytehq/airbyte/pull/8797) | Switched from authSpecification to advanced_auth in specefication | -| 0.1.12 | 2021-12-23 | [8871](https://github.com/airbytehq/airbyte/pull/8871) | Fix `examples` for new field in specification | -| 0.1.11 | 2021-12-23 | [8871](https://github.com/airbytehq/airbyte/pull/8871) | Add the ability to filter streams by user | -| 0.1.10 | 2021-12-23 | [9005](https://github.com/airbytehq/airbyte/pull/9005) | Handling 400 error when a stream is not queryable | -| 0.1.9 | 2021-12-07 | [8405](https://github.com/airbytehq/airbyte/pull/8405) | Filter 'null' byte(s) in HTTP responses | -| 0.1.8 | 2021-11-30 | [8191](https://github.com/airbytehq/airbyte/pull/8191) | Make `start_date` optional and change its format to `YYYY-MM-DD` | -| 0.1.7 | 2021-11-24 | [8206](https://github.com/airbytehq/airbyte/pull/8206) | Handling 400 error when trying to create a job for sync using Bulk API. | -| 0.1.6 | 2021-11-16 | [8009](https://github.com/airbytehq/airbyte/pull/8009) | Fix retring of BULK jobs | -| 0.1.5 | 2021-11-15 | [7885](https://github.com/airbytehq/airbyte/pull/7885) | Add `Transform` for output records | -| 0.1.4 | 2021-11-09 | [7778](https://github.com/airbytehq/airbyte/pull/7778) | Fix types for `anyType` fields | -| 0.1.3 | 2021-11-06 | [7592](https://github.com/airbytehq/airbyte/pull/7592) | Fix getting `anyType` fields using BULK API | -| 0.1.2 | 2021-09-30 | [6438](https://github.com/airbytehq/airbyte/pull/6438) | Annotate Oauth2 flow initialization parameters in connector specification | -| 0.1.1 | 2021-09-21 | [6209](https://github.com/airbytehq/airbyte/pull/6209) | Fix bug with pagination for BULK API | -| 0.1.0 | 2021-09-08 | [5619](https://github.com/airbytehq/airbyte/pull/5619) | Salesforce Aitbyte-Native Connector | +| 1.0.24 | 2022-11-01 | [18799](https://github.com/airbytehq/airbyte/pull/18799) | Update list of unsupported Bulk API objects | +| 1.0.23 | 2022-11-01 | [18753](https://github.com/airbytehq/airbyte/pull/18753) | Add error_display_message for ConnectionError | +| 1.0.22 | 2022-10-12 | [17615](https://github.com/airbytehq/airbyte/pull/17615) | Make paging work, if `cursor_field` is not changed inside one page | +| 1.0.21 | 2022-10-10 | [17778](https://github.com/airbytehq/airbyte/pull/17778) | Add `EventWhoRelation` to the list of unsupported Bulk API objects. | +| 1.0.20 | 2022-09-30 | [17453](https://github.com/airbytehq/airbyte/pull/17453) | Check objects that are not supported by the Bulk API (v52.0) | +| 1.0.19 | 2022-09-29 | [17314](https://github.com/airbytehq/airbyte/pull/17314) | Fixed bug with decoding response | +| 1.0.18 | 2022-09-28 | [17304](https://github.com/airbytehq/airbyte/pull/17304) | Migrate to per-stream states. | +| 1.0.17 | 2022-09-23 | [17094](https://github.com/airbytehq/airbyte/pull/17094) | Tune connection check: fetch a list of available streams | +| 1.0.16 | 2022-09-21 | [17001](https://github.com/airbytehq/airbyte/pull/17001) | Improve writing file of decode | +| 1.0.15 | 2022-08-30 | [16086](https://github.com/airbytehq/airbyte/pull/16086) | Improve API type detection | +| 1.0.14 | 2022-08-29 | [16119](https://github.com/airbytehq/airbyte/pull/16119) | Exclude `KnowledgeArticleVersion` from using bulk API | +| 1.0.13 | 2022-08-23 | [15901](https://github.com/airbytehq/airbyte/pull/15901) | Exclude `KnowledgeArticle` from using bulk API | +| 1.0.12 | 2022-08-09 | [15444](https://github.com/airbytehq/airbyte/pull/15444) | Fixed bug when `Bulk Job` was timeout by the connector, but remained running on the server | +| 1.0.11 | 2022-07-07 | [13729](https://github.com/airbytehq/airbyte/pull/13729) | Improve configuration field descriptions | +| 1.0.10 | 2022-06-09 | [13658](https://github.com/airbytehq/airbyte/pull/13658) | Correct logic to sync stream larger than page size | +| 1.0.9 | 2022-05-06 | [12685](https://github.com/airbytehq/airbyte/pull/12685) | Update CDK to v0.1.56 to emit an `AirbyeTraceMessage` on uncaught exceptions | +| 1.0.8 | 2022-05-04 | [12576](https://github.com/airbytehq/airbyte/pull/12576) | Decode responses as utf-8 and fallback to ISO-8859-1 if needed | +| 1.0.7 | 2022-05-03 | [12552](https://github.com/airbytehq/airbyte/pull/12552) | Decode responses as ISO-8859-1 instead of utf-8 | +| 1.0.6 | 2022-04-27 | [12335](https://github.com/airbytehq/airbyte/pull/12335) | Adding fixtures to mock time.sleep for connectors that explicitly sleep | +| 1.0.5 | 2022-04-25 | [12304](https://github.com/airbytehq/airbyte/pull/12304) | Add `Describe` stream | +| 1.0.4 | 2022-04-20 | [12230](https://github.com/airbytehq/airbyte/pull/12230) | Update connector to use a `spec.yaml` | +| 1.0.3 | 2022-04-04 | [11692](https://github.com/airbytehq/airbyte/pull/11692) | Optimised memory usage for `BULK` API calls | +| 1.0.2 | 2022-03-01 | [10751](https://github.com/airbytehq/airbyte/pull/10751) | Fix broken link anchor in connector configuration | +| 1.0.1 | 2022-02-27 | [10679](https://github.com/airbytehq/airbyte/pull/10679) | Reorganize input parameter order on the UI | +| 1.0.0 | 2022-02-27 | [10516](https://github.com/airbytehq/airbyte/pull/10516) | Speed up schema discovery by using parallelism | +| 0.1.23 | 2022-02-10 | [10141](https://github.com/airbytehq/airbyte/pull/10141) | Processing of failed jobs | +| 0.1.22 | 2022-02-02 | [10012](https://github.com/airbytehq/airbyte/pull/10012) | Increase CSV field_size_limit | +| 0.1.21 | 2022-01-28 | [9499](https://github.com/airbytehq/airbyte/pull/9499) | If a sync reaches daily rate limit it ends the sync early with success status. Read more in `Performance considerations` section | +| 0.1.20 | 2022-01-26 | [9757](https://github.com/airbytehq/airbyte/pull/9757) | Parse CSV with "unix" dialect | +| 0.1.19 | 2022-01-25 | [8617](https://github.com/airbytehq/airbyte/pull/8617) | Update connector fields title/description | +| 0.1.18 | 2022-01-20 | [9478](https://github.com/airbytehq/airbyte/pull/9478) | Add available stream filtering by `queryable` flag | +| 0.1.17 | 2022-01-19 | [9302](https://github.com/airbytehq/airbyte/pull/9302) | Deprecate API Type parameter | +| 0.1.16 | 2022-01-18 | [9151](https://github.com/airbytehq/airbyte/pull/9151) | Fix pagination in REST API streams | +| 0.1.15 | 2022-01-11 | [9409](https://github.com/airbytehq/airbyte/pull/9409) | Correcting the presence of an extra `else` handler in the error handling | +| 0.1.14 | 2022-01-11 | [9386](https://github.com/airbytehq/airbyte/pull/9386) | Handling 400 error, while `sobject` doesn't support `query` or `queryAll` requests | +| 0.1.13 | 2022-01-11 | [8797](https://github.com/airbytehq/airbyte/pull/8797) | Switched from authSpecification to advanced_auth in specefication | +| 0.1.12 | 2021-12-23 | [8871](https://github.com/airbytehq/airbyte/pull/8871) | Fix `examples` for new field in specification | +| 0.1.11 | 2021-12-23 | [8871](https://github.com/airbytehq/airbyte/pull/8871) | Add the ability to filter streams by user | +| 0.1.10 | 2021-12-23 | [9005](https://github.com/airbytehq/airbyte/pull/9005) | Handling 400 error when a stream is not queryable | +| 0.1.9 | 2021-12-07 | [8405](https://github.com/airbytehq/airbyte/pull/8405) | Filter 'null' byte(s) in HTTP responses | +| 0.1.8 | 2021-11-30 | [8191](https://github.com/airbytehq/airbyte/pull/8191) | Make `start_date` optional and change its format to `YYYY-MM-DD` | +| 0.1.7 | 2021-11-24 | [8206](https://github.com/airbytehq/airbyte/pull/8206) | Handling 400 error when trying to create a job for sync using Bulk API. | +| 0.1.6 | 2021-11-16 | [8009](https://github.com/airbytehq/airbyte/pull/8009) | Fix retring of BULK jobs | +| 0.1.5 | 2021-11-15 | [7885](https://github.com/airbytehq/airbyte/pull/7885) | Add `Transform` for output records | +| 0.1.4 | 2021-11-09 | [7778](https://github.com/airbytehq/airbyte/pull/7778) | Fix types for `anyType` fields | +| 0.1.3 | 2021-11-06 | [7592](https://github.com/airbytehq/airbyte/pull/7592) | Fix getting `anyType` fields using BULK API | +| 0.1.2 | 2021-09-30 | [6438](https://github.com/airbytehq/airbyte/pull/6438) | Annotate Oauth2 flow initialization parameters in connector specification | +| 0.1.1 | 2021-09-21 | [6209](https://github.com/airbytehq/airbyte/pull/6209) | Fix bug with pagination for BULK API | +| 0.1.0 | 2021-09-08 | [5619](https://github.com/airbytehq/airbyte/pull/5619) | Salesforce Aitbyte-Native Connector |