Forum Discussion
Missing data when connecting Azure Data Factory to Hubspot
- 11 months ago
Hi DataProcessor,
You’re hitting a known gap: the native ADF “HubSpot” connector doesn’t expose a UI field to pass the properties= list that HubSpot’s v3 CRM APIs require. As a result, you only get the default contact properties (e.g., firstname, lastname, email) and everything else comes back null.
Use the ADF REST connector (not the HubSpot connector) and call HubSpot’s Contacts API directly, adding your desired fields via the properties query parameter. Example endpoint:
/crm/v3/objects/contacts?properties=firstname,lastname,email,jobtitle,company,phone&limit=100&archived=false
Configure REST pagination using the $.paging.next.link cursor and map the results to your Fabric Lakehouse.If you found this helpful, consider giving some Kudos. If I answered your question or solved your problem, mark this post as the solution.
The native HubSpot connector in Azure Data Factory does not currently expose a UI field to specify custom contact properties. To retrieve more than the default fields (firstname, lastname, email), you need to use the REST connector and call HubSpot’s Contacts API directly.
Why You're Seeing Missing Data
The HubSpot connector in ADF only pulls default contact properties unless you explicitly specify additional fields. However, the connector’s UI does not support setting the properties= parameter required by HubSpot’s v3 CRM API. That’s why fields like job title, company, and phone are coming back as null—even though they exist in HubSpot and are mapped in your dataset.
Recommended Solution: Use REST Connector Instead
Step-by-Step:
- Create a REST Linked Service in ADF instead of using the HubSpot connector.
- Use HubSpot’s v3 Contacts API endpoint:
GET /crm/v3/objects/contacts?properties=firstname,lastname,email,jobtitle,company,phone&limit=100&archived=false
- Configure pagination using the $.paging.next.link cursor.
- Map the results to your Lakehouse table using a Copy Activity.
This approach allows you to specify exactly which fields you want and bypasses the limitations of the native connector.