Office 365 Configuration for FlexO Integration (Graph)
Prerequisites
3. Administrator account to FlexO
4. Access to Powershell console as an administrator
5. Public DNS to allow incoming traffic from Microsoft Office 365 servers*
(*only required for on-premise installation)
Public DNS
FlexO receives notifications coming from Microsoft Office 365 servers over port HTTP/S.
Alternatively, a tunneling solution may be an appropriate option depending on your company's network policies.
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.
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.
If you are already running a previous version of FlexO using EWS, we recommend you
do not
update the existing application but create a new one instead.
Using an administrator account:
-
Login to the Azure Console at
https://portal.azure.com/
-
On the main dashboard page, navigate to Azure Active Directory then App registrations
-
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)
Under
Authentication
, add the FlexO
Redirect URIs
according to your plateform domain (in doubt, please refer to your oomnis FlexO representative)
then select
ID tokens
as shown below:
-
Navigate to Certificates & secrets and click New client secret to generate a new secret

Warning: Keep a note of the secret Value as it will be needed for the next steps.
When creating the secret, you should create a secret with a long life span (2 years for example).
With an expired secret, the connector will stop connecting and you will need to create a new secret and update the configuration.
-
Navigate to API permissions, click Add a permission, and select Microsoft Graph:
-
Click on Delegated permissions screen, then select the following permissions:
-
under Chat: select Chat.ReadWrite
(required if you are using the Microsoft Teams integration plugin)
-
under ChatMessage: select ChatMessage.Send
(required if you are using the Microsoft Teams integration plugin)
-
Click on Application permissions screen, then select the following permissions:
-
under Calendars: select Calendars.ReadWrite
-
under Chat: select Chat.Create
(required if you are using the Microsoft Teams integration plugin)
-
under Chat: select Chat.ReadWrite.All
(required if you are using the Microsoft Teams integration plugin)
-
Once the permissions have been selected, click Grand admin consent for […], then validate Yes
-
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.
You will be able to find them in the App Registration Overview.
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:
-
Login to the Azure Console at
https://portal.azure.com/
-
On the main dashboard page, navigate to Azure Active Directory then Users
-
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:
-
Login to the Exchange Online Console at
https://outlook.office365.com/ecp/
-
From the dashboard, navigate to Recipients, then Resources
-
Click +, Room mailbox, and enter the room information
-
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.
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
Limit application permissions to specific mailboxes
Microsoft allows access restrictions for the application permission only to some specific mailboxes.
Flexo Configuration
Using the
Tenant ID
, the
Application ID
and the
Application Secret Key
previously obtained, you can now configure the connection in FlexO.
Please confirm the
Redirection URL
and
Lifecyle URL
with your FlexO representative.
Related Articles
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 ...
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 ...
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 ...
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 ...