What is the most effective way to retrieve contacts that are currently in azure AD environment without adding any additional costs having the following products Marketing Hub Enterprise - Marketing Contacts,CMS Hub Professional, Operations Hub Professional. The goal is to see the contacts currently retrieved from Azure AD in a dynamic list that keeps getting updated.
With your current products, there's no native Azure AD sync to HubSpot without additional costs.
The built-in Outlook Contacts integration syncs personal Outlook folders only, not the Azure AD directory itself. It requires each user to install it individually. Documentation
Consider:
A Custom API approach - if you have access to developer resources, pull Azure AD users via the Microsoft Graph API and create/update HubSpot contacts via the HubSpot API. See Graph API docs | HubSpot API docs
or Third-party tools - for example Zapier, n8n, or Tray.io can connect with both Azure AD and HubSpot. Each would be an additional cost, e.g. Zapier integration | n8n integration
Tip: For the dynamic list, create an active list in HubSpot filtered by a property identifying Azure AD contacts
Others may have additional alternative solutions that I am not aware of.
"The most effective and scalable solution for your requirement is to leverage the APIs provided by both platforms—Azure Active Directory (via Microsoft Graph API) and HubSpot. With this approach, you can automatically retrieve contacts from Azure AD and sync them into HubSpot without incurring additional licensing costs.
Using a developer and a lightweight server (or a no-code tool like Zapier/Make if preferred), you can:
1. Retrieve Contacts from Azure AD
Azure AD exposes all user and contact information through the Microsoft Graph API. We can securely access and fetch details such as name, email, job title, phone, groups, etc.
2. Push the Contacts to HubSpot
Once the data is fetched, we can use HubSpot’s CRM API to create or update corresponding contact records in your HubSpot portal. This ensures that your HubSpot contact list always reflects the contacts currently available in Azure AD.
3. Keep the List Automatically Updated
After syncing the data into HubSpot, you can easily create a dynamic list that updates in real time based on the properties sourced from Azure AD. This gives you a continuously refreshed view of all Azure AD contacts without any manual work."
I hope this will help you out. Please mark it as Solution Accepted and upvote to help another Community member.
Hi @Yoli_Mmutsi , you’re correct to be skeptical of the “Create Contact” style trigger. For Azure AD (Microsoft Entra ID), the real problem is not creation, it’s ongoing changes like disablement, department/title updates, and deletes, and most “light” connectors don’t model that well.
With your current HubSpot products, there isn’t a native, no-extra-cost Azure AD directory sync that will continuously reconcile the directory into HubSpot and keep a dynamic list accurate. The clean pattern is a small custom sync service that periodically pulls users from Microsoft Graph (ideally using delta queries), then upserts into HubSpot using a stable unique identifier (email is okay, but Entra objectId is better as a custom property).
If you want it closer to real-time without waiting for a poll, the more event-driven approach is to use Graph change notifications on the Entra side and then push updates into HubSpot. HubSpot webhooks won’t help you detect Entra changes, but they can help you react to HubSpot-side changes if you need bidirectional logic (https://developers.hubspot.com/docs/api-reference/webhooks-webhooks-v3/guide )
One quick question: when a user is disabled in Entra, do you want to remove them from HubSpot entirely, or keep the contact but mark them inactive for segmentation and suppression? That choice changes the safest sync behavior.
Did my answer help? Please mark it as a solution to help others find it too.
Ruben Burdin HubSpot Advisor Founder @ Stacksync Real-Time Data Sync between any CRM and Database
Hi @Yoli_Mmutsi , you’re correct to be skeptical of the “Create Contact” style trigger. For Azure AD (Microsoft Entra ID), the real problem is not creation, it’s ongoing changes like disablement, department/title updates, and deletes, and most “light” connectors don’t model that well.
With your current HubSpot products, there isn’t a native, no-extra-cost Azure AD directory sync that will continuously reconcile the directory into HubSpot and keep a dynamic list accurate. The clean pattern is a small custom sync service that periodically pulls users from Microsoft Graph (ideally using delta queries), then upserts into HubSpot using a stable unique identifier (email is okay, but Entra objectId is better as a custom property).
If you want it closer to real-time without waiting for a poll, the more event-driven approach is to use Graph change notifications on the Entra side and then push updates into HubSpot. HubSpot webhooks won’t help you detect Entra changes, but they can help you react to HubSpot-side changes if you need bidirectional logic (https://developers.hubspot.com/docs/api-reference/webhooks-webhooks-v3/guide )
One quick question: when a user is disabled in Entra, do you want to remove them from HubSpot entirely, or keep the contact but mark them inactive for segmentation and suppression? That choice changes the safest sync behavior.
Did my answer help? Please mark it as a solution to help others find it too.
Ruben Burdin HubSpot Advisor Founder @ Stacksync Real-Time Data Sync between any CRM and Database
Yes, I want to remove the user from hubspot once user is inactive, however I can use a workflow to achieve that, that's not priority. I want to know how to this section of your suggestion, "use Graph change notifications on the Entra side and then push updates into HubSpot." I already have custom workflow with custom code to create new contacts, do I add to that logic to get graph change notifications?
Hi @Yoli_Mmutsi and thank you so much for sharing all the context!
I wanted to clarify that questions about integrating Azure AD/Entra with Microsoft Graph change notifications are a bit outside the scope of what we support here on the HubSpot Community, as this is primarily a Microsoft feature that needs to be set up on their side.
Here’s a quick overview of how the integration typically works:
- Microsoft Graph change notifications are configured within Azure/Entra, not HubSpot. You’d set up a subscription in Microsoft Graph to get webhooks whenever a user’s status changes. - Your hosted webhook endpoint would then receive these notifications from Microsoft. - From there, your endpoint could use HubSpot’s APIs (like the Users API or Contacts API) to update or remove users in HubSpot.
"The most effective and scalable solution for your requirement is to leverage the APIs provided by both platforms—Azure Active Directory (via Microsoft Graph API) and HubSpot. With this approach, you can automatically retrieve contacts from Azure AD and sync them into HubSpot without incurring additional licensing costs.
Using a developer and a lightweight server (or a no-code tool like Zapier/Make if preferred), you can:
1. Retrieve Contacts from Azure AD
Azure AD exposes all user and contact information through the Microsoft Graph API. We can securely access and fetch details such as name, email, job title, phone, groups, etc.
2. Push the Contacts to HubSpot
Once the data is fetched, we can use HubSpot’s CRM API to create or update corresponding contact records in your HubSpot portal. This ensures that your HubSpot contact list always reflects the contacts currently available in Azure AD.
3. Keep the List Automatically Updated
After syncing the data into HubSpot, you can easily create a dynamic list that updates in real time based on the properties sourced from Azure AD. This gives you a continuously refreshed view of all Azure AD contacts without any manual work."
I hope this will help you out. Please mark it as Solution Accepted and upvote to help another Community member.
With your current products, there's no native Azure AD sync to HubSpot without additional costs.
The built-in Outlook Contacts integration syncs personal Outlook folders only, not the Azure AD directory itself. It requires each user to install it individually. Documentation
Consider:
A Custom API approach - if you have access to developer resources, pull Azure AD users via the Microsoft Graph API and create/update HubSpot contacts via the HubSpot API. See Graph API docs | HubSpot API docs
or Third-party tools - for example Zapier, n8n, or Tray.io can connect with both Azure AD and HubSpot. Each would be an additional cost, e.g. Zapier integration | n8n integration
Tip: For the dynamic list, create an active list in HubSpot filtered by a property identifying Azure AD contacts
Others may have additional alternative solutions that I am not aware of.
We have subscription with Zapier but the only trigger event available is 'Create New Contacts' which will not update existing contact's fields in HubSpot by searching and finding any changes within Microsoft EntraI ID. This is an issue because if a contact is now in inactive in MS Entra ID then that update will not pull through to HubSpot.