I am tasked with extracting data out of HubSpot using the APIs to populate another system. I have successfully extracted the Contact information into JSON through Python, processed it and sent it downstream.
I have been advised to use a property with the name "sources". When I add the "sources" property to the list of properties to be extracted it adds this property to the JSON for some records with a value (e.g. OUTBOUND) but not all.
I cannot find the definition of the "sources" property and have extracted all the properties related to source (hs_object_source, hs_latest_source etc) and none of the values completely correlate.
What is the "sources" property? Is it unique to this implementation? How would it be populated?
Your task may be referring to the sources properties that you mentioned. There are original and latest source properties as well as drill-down versions of those to get more granular details. I am not familiar with just one out-of-the-box "sources" property. It could be custom, but I'd be willing to bet they are referring to sources as the different variations of these sources (and potentially drill-down 1 and drill-down 2) for each object.
Josh
Did this post help solve your problem? If so, please mark it as a solution.
Josh Curcio HubSpot support and inbound marketing for OEMs, contract manufacturers, and industrial suppliers. HubSpot Diamond Partner & HubSpot Certified Trainer
After investigation, I believe I have found the root cause, which is strange behaviour and perhaps even a defect.
It appears that "sources" was a custom property created on Contact as a Dropdown select field that has since been deleted.
To replicate this behaviour, I took the following steps in a sandbox:
Create a new property on Contact called "sources" as a Dropdown-select with a couple of options
Through the front-end, select a contact and set a value for the "sources" property
Extract these properties through the API (v3) for the contact that has the value and another contact that does not - only the contact that had the value set will return this property. It will not appear in the JSON for the other contact
Archive and delete the "sources" property from the Contact object
Re-run the extracts - the "sources" property and value still appears on the contact that it was set on even after the property is deleted
This only seems to happen for the Dropdown-select type. I have tried many other field types but the property appears in the JSON on both contacts when the property is active and neither when the property is deleted (the expected behaviour).
After investigation, I believe I have found the root cause, which is strange behaviour and perhaps even a defect.
It appears that "sources" was a custom property created on Contact as a Dropdown select field that has since been deleted.
To replicate this behaviour, I took the following steps in a sandbox:
Create a new property on Contact called "sources" as a Dropdown-select with a couple of options
Through the front-end, select a contact and set a value for the "sources" property
Extract these properties through the API (v3) for the contact that has the value and another contact that does not - only the contact that had the value set will return this property. It will not appear in the JSON for the other contact
Archive and delete the "sources" property from the Contact object
Re-run the extracts - the "sources" property and value still appears on the contact that it was set on even after the property is deleted
This only seems to happen for the Dropdown-select type. I have tried many other field types but the property appears in the JSON on both contacts when the property is active and neither when the property is deleted (the expected behaviour).
Your task may be referring to the sources properties that you mentioned. There are original and latest source properties as well as drill-down versions of those to get more granular details. I am not familiar with just one out-of-the-box "sources" property. It could be custom, but I'd be willing to bet they are referring to sources as the different variations of these sources (and potentially drill-down 1 and drill-down 2) for each object.
Josh
Did this post help solve your problem? If so, please mark it as a solution.
Josh Curcio HubSpot support and inbound marketing for OEMs, contract manufacturers, and industrial suppliers. HubSpot Diamond Partner & HubSpot Certified Trainer