--- title: Microsoft Exchange Online Access Requirements excerpt: '' deprecated: false hidden: false metadata: title: '' description: '' robots: index next: description: '' --- # Auth Integration Overview: Exchange Online Moveworks uses a microservice architecture to structure our backend integrations as a collection of loosely coupled services. One of our core services is our Auth service. This service was built to give the Moveworks Bot a structured and extensible way to interact with various configurations of authentication systems. The Moveworks Auth Service allows the Moveworks platform to interact with Exchange users & distribution lists while requiring only minimal configuration on the Exchange side (Currently just admin access to the service account). The table below outlines the core actions supported through the Moveworks Auth Service specific to Exchange (the actions listed below are subject to evolve with product improvements):
| Command | Description | Uses |
|---|---|---|
| [Add-DistributionGroupMember](https://docs.microsoft.com/en-us/powershell/module/exchange/add-distributiongroupmember?view=exchange-ps) | Adds users to a distribution group | “Add to DL” skill |
| [Get-DistributionGroupMember](https://docs.microsoft.com/en-us/powershell/module/exchange/get-distributiongroupmember?view=exchange-ps) | Fetches a list of distribution group members | 1. Determine if a user already has access 2. Find group members for approval reachout 3. Build user lists for employee comms |
| [New-DistributionGroup](https://docs.microsoft.com/en-us/powershell/module/exchange/new-distributiongroup?view=exchange-ps) | Creates a new distribution group | “Create DL” skill |
| [Get-DistributionGroup](https://docs.microsoft.com/en-us/powershell/module/exchange/get-distributiongroup?view=exchange-ps) | Retrieve one or more distribution groups | 1. Group ingestion (scrape all mailing lists) 2. Find group owners for approval reachout |
| [Get-User](https://docs.microsoft.com/en-us/powershell/module/exchange/get-user?view=exchange-ps) | Retrieve one or more users | 1. User ingestion (scrape all user identities) 2. Owner lookup (used w/ Get-DistributionGroup) |
| [Get-EXORecipient](https://docs.microsoft.com/en-us/powershell/module/exchange/get-exorecipient?view=exchange-ps) | Retrieve one or more users. This is a more performant version of Get-User which is only available for customers using the Exchange Online v2 auth mechanism. | User ingestion (scrape all user identities) |
|
[New-PSSession](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/new-pssession?view=powershell-7.2) (Full command: ``` New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri |
Creates a powershell session using legacy basic auth mechanism. | Used to authenticate for each of the above commands (except Get-EXORecipient) |
|
New-ExoPSSession (Full command: ``` New-ExoPSSession -AppId $AppId -Organization $TenantDomain -Certificate $Certificate ``` ) |
Creates a powershell session using new exchange online v2 certificate auth mechanism. This command, which runs in 3-5 seconds, is extracted from the [Connect-ExchangeOnline](https://docs.microsoft.com/en-us/powershell/module/exchange/connect-exchangeonline?view=exchange-ps) command, which runs in about 15 seconds. | Used to authenticate for each of the above commands (except New-PSSession) |