Office 365 Configuration for FlexO Integration (EWS)

Office 365 Configuration for FlexO Integration (EWS)

Prerequisites

1. Administrator account to Azure: https://portal.azure.com/
2. Administrator account to Office 365: https://outlook.office365.com/ecp/
3. Administrator account to FlexO
4. Access to Powershell console as an administrator
5. Internet connection

Architecture & Concept

FlexO leverages the OAuth protocol to get access to users’ calendars in order to create, modify, and delete meeting events in their accounts.

OAuth is an open standard protocol that provides a way for a third party applications to access data without storing users’ password locally, instead only an encrypted bearer token is provided with a limited lifetime. This means FlexO is not storing any users' password relative to their Office 365 account.
OAuth process implemented on Microsoft Identify Platform
OAuth Access Token has a lifetime of 1 hour, that can be refreshed using its corresponding Refresh Token. FlexO will manage the refresh process automatically.
This is required in order to synchronize calendars between FlexO and the users thin-or-heavy client (e.g., OWA/Outlook) without the need of installing a plugin or add-on on the client side. 

Azure Configuration

Application Configuration

The first step in the Office 365 configuration for FlexO is to register FlexO in the Azure Console so that it can be recognized as a trusted 3rd party. This is a required step so that FlexO can prompt authorization request to Office 365 to the users.

Using an administrator account:
  1. Login to the Azure Console at https://portal.azure.com/
  2. On the main dashboard page, navigate to Azure Active Directory then App registrations



  3. Click New registration button, enter an Application name, and a Redirect URI (provided by oomnis for SaaS version, or you own server URL for on-premise installation)



    and select ID tokens as shown below:



  4. Navigate to Certificates & secrets and click New client secret to generate a new secret



  5. Navigate to API permissions, click Add a permission, and select Microsoft Graph:



  6. Click on Delegated permissions screen, then select the following permissions:
    1. under Chat: select Chat.ReadWrite
    2. under ChatMessage: select ChatMessage.Send
  7. Click on Application permissions screen, then select the following permissions:
    1. under Chat: select Chat.ReadWrite
    2. under Chat: select Chat.Create
    3. under Chat: select Chat.ReadWrite.All
  8. Once the permissions have been selected, click Grand admin consent for […], then validate Yes


  9. Last step is optional. Navigate to Branding to customize the application by adding the application logo and information URL.
After creating the application, remember to note the Directory (tenant) ID and Application (client) ID as this will be needed later during FlexO configuration.
Remember to note the client secret value before closing the window as it will no longer be visible afterwards. It is required for the FlexO configuration. If
you haven’t noted the client secret, you can generate a new one and update the FlexO configuration.

Service Account Configuration

The second step is to create a service account in the Azure Console that will be used by FlexO to access resources mailbox.

Using an administrator account:
  1. Login to the Azure Console at https://portal.azure.com/
  2. On the main dashboard page, navigate to Azure Active Directory then Users



  3. Click New User to create a new user and enter the user information. Leave the Directory role to User.

Office 365 Configuration

Resources Configuration

The first step in Office 365 configuration, if not done yet, is to create resources mailbox for the meeting rooms to be managed by FlexO.

If you already have your resources configured, you can skip this step.
Using an administrator account:
  1. Login to the Exchange Online Console at https://outlook.office365.com/ecp/
  2. From the dashboard, navigate to Recipients, then Resources



  3. Click +, Room mailbox, and enter the room information



  4. Repeat the operation for each room.

Permissions Configuration

Open a Powershell command window as an administrator and enter the following commands in sequence:
Set-ExecutionPolicy RemoteSigned
▪ Select Yes when prompted.
$UserCredential = Get-Credential
▪ Enter the credentials of an administrator account on Office 365 when prompted.
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking


After successful connection, enter the following command to configure your Office 365 resources:
Get-Mailbox -ResultSize unlimited -Filter {(RecipientTypeDetails -eq 'roomMailbox')} | Set-CalendarProcessing -Identity $_.alias -AddOrganizerToSubject $false -DeleteSubject $false -DeleteComments $false -RemovePrivateProperty $false -RemoveOldMeetingMessages $true
After the Powershell command has been executed, enter the following command to properly close the session.
Remove-PSSession $Session

    • Related Articles

    • Office 365 Configuration for FlexO Integration (Graph)

      Prerequisites 1. Administrator account to Azure: https://portal.azure.com/ 2. Administrator account to Office 365: https://outlook.office365.com/ecp/ 3. Administrator account to FlexO 4. Access to Powershell console as an administrator 5. Public DNS ...
    • Microsoft 365 Configuration for flexEZ

      Prerequisites 1. Administrator account to Azure: https://portal.azure.com/ 2. Administrator account to Office 365: https://outlook.office365.com/ecp/ 3. Administrator account to flexEZ 4. Access to Powershell console as an administrator 5. Public DNS ...
    • Microsoft Teams Configuration for FlexO (for Online Meeting)

      Prerequisites 1. Administrator account to Azure: https://portal.azure.com/ 2. Administrator account to FlexO Architecture & Concept FlexO leverages the OAuth protocol to get access to users’ account in order to create, modify, and delete teams ...
    • Exchange Configuration for FlexO Integration

      Prerequisites 1.  Administrator account to Exchange Control Panel (ECP):  https://[Exchange-Server-url]/ecp/ 2.  Access to Exchange management shell console as an  Exchange administrator 3.  Administrator account to FlexO Exchange Configuration ...
    • Teams plugin Configuration for flexEZ

      Prerequisites 1. Administrator account to Microsoft Office365: https://admin.microsoft.com Microsoft 365 Configuration (as an administrator) Teams Configuration Connect to the Microsoft O365 administration console via https://admin.microsoft.com On ...