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.
Hey @Yoli_Mmutsi
, I hope that you are well!
Thanks for reaching out to the HubSpot Community!
To start with, here are some resources that might help:
- Automation API | Custom Workflow Actions
- CRM API | Contacts
- Lists (Segments) API
Now, I’d love to put you in touch with our Top Experts: Hi @HubDoPete, @nickdeckerdevs1 and @sylvain_tirreau do you have recommendations to help @Yoli_Mmutsi, please?
Thanks so much and have a wonderful day! ![]()
Bérangère
Hi Bérangère,
Thank you for responding.
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.
Is there a work around this?
Best regards,
Yoli
hi @Yoli_Mmutsi and thanks @BérangèreL for the tag.
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 integrationTip: 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.
I hope this helps!
best
Pete
Hi @Yoli_Mmutsi
"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.
Thanks!
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).
When a user becomes inactive in Entra, you update a HubSpot property like “Entra status = inactive” or “Entra disabled date”, and your active list filters on that property so membership updates automatically (Accounts Dashboard | HubSpot )
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 (Accounts Dashboard | HubSpot )
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.
Hi Ruben,
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?
Thanks
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.
For the setup, it’s best to refer to Microsoft’s Graph API documentation on change notifications.
Hope this points you in the right direction!
Bérangère