The SnapComms Windows App has a built-in capability to read and import user attributes (e.g. Country, Department, City, etc) and static security groups from on-premise Active Directory (the user/machine needs to be domain joined and connected to your corporate network for the app to read the data, and the Windows App refreshes reading from on-premise Active Directory every 6 hours). Here's a list of user attributes that the SnapComms Windows App can collect, Importing from Active Directory.
If the groups exist in Azure AD, refer to Azure AD Integration (via Graph API)
Microsoft Exchange Online Data Integration
For Dynamic Distribution Lists that only exist in Exchange Online (and not synced with Azure AD), SnapComms offers an Exchange Online integration that allows to extract group memberships (including dynamic distribution lists) from a Microsoft Exchange Online environment. This is achieved by using an Azure AD Client Application-only authentication and then by impersonating a specified user to call the ExchangeOnline EWS API to expand a list of named groups.
- Create a new Azure AD Client Application by following the "Configure for App-only authentication" from https://learn.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-authenticate-an-ews-application-by-using-oauth (note that Deletegated Authentication will not work) - the Tenand ID, Application ID, and Client Secret will be required.
- An ExchangeOnline user's email address that the integration impersonates. This user needs to have the appropriate rights to access the named groups.
- A CSV file listing the groups to be extracted. File needs 3 columns: GroupName,GroupAddress,GroupDomain (GroupAddress is the ExchangeOnline SMTP address of the group, and the name and domain are the representative information in SnapComms)
Send these prerequisites to firstname.lastname@example.org.
The SnapComms Technical Consulting will team will build the configuration in the backend of your SnapComms Content Manager and deliver the integration file (in PowerShell script format) for your team to run from your end (e.g. scheduled to run on a daily basis)