Skip to main content

Microsoft Integrations

Microsoft Exchange Online

💡
Microsoft Exchange Cloud Version: The Microsoft Exchange On Premise has no Graph API support, therefor we can only support Microsoft Exchange Online Cloud Versions.

Introduction

With the Microsoft Graph Integration, you can synchronize your Microsoft Exchange resource calendars with the Flexopus for the meeting rooms. The synchronization works bidirectionally in real time using the Microsoft Graph API. Reservations created with Microsoft Outlook will be visible in Flexopus and reservation created at Flexopus will be visible at Microsoft.

💡
Note: Flexopus is a tool for managing objects and not for managing appointments. Our goal is not to replace the reservation flow of Outlook. The goal is to offer additional functionality for the meeting room management.

The following feature can be enabled once the integration is configured:

  1. Create reservation with a meeting room digital signage display.
  2. Smart analytics for the of meeting rooms
  3. Room search with office plans in Outlook as an add-in.
  4. Catering service - coming soon

How are the bookings synchronized “bidirectionally”?

Flexopus can manage the reservations of resources like meeting rooms. Details of appointment like the name of the event, invitees, and the description of the event are not part of the resource reservation, they part of the associated event. A resource reservation include the reservation time and date. The management of the events remains with Microsoft, which you can do using Microsoft Outlook. Flexopus focuses on meeting room reservations.

Once you have configured the interface, users have the following booking options:


Direction: Microsoft → Flexopus

  • New reservation made in Microsoft Outlook
    In Outlook, the users can create a new reservation for a meeting room as usual. Once the reservation is created, Microsoft sends the reservation to Flexopus through the Microsoft Graph API (ideally in real time). The reservation will appear on the Live-Plan, other users can see who booked a meeting room and when. All types of appointments are supported. (single appointments, recurring appointments)
  • Edit reservation in Microsoft Outlook
    The changes of the reservations made in Microsoft Outlook are synchronized through the Graph API to Flexopus. Examples: moving an appointment, selecting a different meeting room, or inviting several meeting rooms.
  • Canceling a reservation in Microsoft Outlook
    In case of a cancellation, either the entire appointment can be canceled or only the meeting room can be uninvited in Microsoft Outlook. All cases are supported and synchronized.
💡
Note: A reservation made in Microsoft Outlook by a user or mailbox that does not exist in the Flexopus user database will be displayed as 'anonymous reservation' in Flexopus. A user injection this way is not possible.

Direction: Flexopus → Microsoft

  • New reservation in Flexopus
    A new resource reservation can be made in Flexopus through the usual reservation workflow, or it can be made through a meeting room signage display. Each reservation need to be accepted by Microsoft Exchange Online, since Microsoft is the "single source of truth" in this constellation, therefor double reservations are not possible. After a successful reservation, the reservation initiated through Flexopus will be displayed in the Outlook calendar of the respective user. The calendar entry will be created by Microsoft. The user can edit the booking in the Outlook calendar as usual.
    Since Flexopus does not yet manage the usual attributes (appointment name, participants, description and video call) of an event. We recommend this booking option mainly for spontaneous ad hoc bookings if a user needs a meeting room at short notice, still these attributes can be edited later directly in the Outlook calendar.
  • Edit or delete reservation in Flexopus
    The reservations are shown in Flexopus. Editing or deleting a synchronized reservation is currently possible through Microsoft Outlook.
    A cancellation can be made through Outlook as well as via Flexopus.

In case the Microsoft Exchange Online integration is active, the meeting rooms are blocked until you connect the room with a valid Exchange mail address.

Microsoft Outlook appointment page with the linked Flexopus object

Setup Instruction Manual

To activate the Microsoft Exchange Online integration, follow the instruction below.


STEP 1 - Authorize Flexopus

Navigate in the Flexopus admin panel to the Dashbaord > Settings > Integrations page. You will only see this module if it's enabled for you. If you do not see the setting, contact us: support@flexopus.com

Microsoft Exchange Integration

Click on the Connect button. Make sure you are an admin of your Microsoft Organization before clicking the Connect and Authorize button.

💡
ATTENTION! If you activate the integration, the existing meeting room reservations in the Flexopus database will be deleted. Then the bookings are imported from Microsoft O365 after a successful connection.

An authorization page will open at Microsoft with the requested, permissions to read data via the Microsoft Exchange interface:

Grant permissions for Flexopus
Permission Display name Description Link
User.Read
(delegated)
Sign-in and read user profile Allows users to sign-in to the app, and allows the app to read the profile of signed-in users. It also allows the app to read basic company information of signed-in users. link
Organization.Read.All
(application)
Read organization information Allows the app to read the organization and related resources, without a signed-in user. Related resources include things like subscribed SKUs and tenant branding informatio link
Calendars.ReadWrite
(application)
Read and write calendars in all mailboxes Allows the app to create, read, update, and delete events of all calendars without a signed-in user. link

After you have accepted the permissions, the status of the integration is displayed:

Successful connection

Also, Microsoft will automatically create a new enterprise application in your Active Directory with the Flexopus Exchange Integration name here.

Flexopus Exchange Integration App
💡
Note: Even, if you configured SAML2 for the Single Sign On and SCIM for the user and group provisioning before with an enterprise application, this application will be created separately. The two application can not be fused into one.

If you open the application and navigate to the Permissions tab, then you can see granted permissions to Flexopus.

List of granted permissions
💡
Note: Administrators can configure the application access policy via Power Shell to limit the app access to specific mailboxes and not to all the mailboxes in the organization (default), even after the app has been granted the application permissions of Calendars.Read or Calendars.ReadWrite.

STEP 2 - Connect mailboxes with Flexopus

Once the integration is active, you need to connect the meeting rooms one by one. Go to the Exchange Online Admin Panel and copy the Microsoft resource email address.

To link an object, go to the Flexopus location editor. Select the meeting room, and paste Microsoft Exchange Resource email address to the External connection email address field.

Connect external calendar
💡
Attention: All future existing bookings inside Flexopus for the selected object will be deleted. Bookings from Microsoft are then imported after a successful connection.

After saving, Flexopus will try to connect the meeting room to the resource calendar. Wait about 10 seconds and then refresh the page. If the email address is valid, a verified tick should be visible directly below the email address. If the validation is successful, then Fleoxpus will synchronize the reservation. This may take a few seconds.

💡
Note: You can find the Microsoft Exchange Ressource input field under Extension. Do not confuse it with the Notify email address field.

After connecting the object, you can see the changes in the integration overview:

Overview of connected objects

After the connection is established, you don't need to click on the manual synchronization button, the process will be trigger automatically. Still, you can request a reservation synchronization for all connected objects manually at any time.

External users

Users outside your Active Directory can book the meeting rooms through Flexopus or through the meeting room signage displays as well, if they have access in Flexopus to the room booking.


Book as external user

By default, users of your Active Directory can book the meeting room resources in their personal Outlook Calendar or via the Flexopus application. Most probably they manage the meeting room bookings in their Outlook Calendar. This is also the preferred way, if applicable.

In case a user initiates a booking through Flexopus the following process will happen:

  1. The application sends a booking request to Microsoft via the Graph API.
  2. Microsoft checks, if the user is a valid user in the Active Directory
  3. The room availability will be checked.
  4. Then booking will be created in the user's personal calendar.
  5. Then the booking will be created in the resource calendar, linked with the event that is created in the personal calendar.
Booking process flow
💡
Note! If a user of your Active Directory initiates a booking in Flexopus for a connected meeting room, then the same things happens as if, the user would have booked it via the Outlook Calendar.

To execute this booking flow, Flexopus need access to the personal calendar of the user and the resource calendar of the meeting room.

However, if the user is not existing in the Active Directory directly of your organization, then the user will not be found in the booking flow, neither the personal calendar of the user. In this case, Flexopus get notified about the non-existing user status and the booking will be initiated only to book the resource calendar of the meeting room. In this case, the room is booked, but there is no event entry in the non-existing personal calendar.

This will happen, if you give outsiders booking access rights in Flexopus to a connected room. This way the externals can book the room calendars and create parallel the event invitation in their personal calendar.

💡
Note! Users of another Active Directory (other than your organization's directory) are considered as external user.

Book on a display

The meeting room displays for digital signage can be used as well for booking a meeting room resource ad-hoc on site.

Meeting room signage display
Meeting room signage display
Introduction The Meeting room signage display is your digital door sign for Flexopus. Whether it is a meeting room, a silent box, or a private office, everyone who passes by can check the availability of the room. The main features of the display are: 1. Indicate the availability of the

In this case, the users are able to book a meeting room ad-hoc onsite without authenticating into the application. Doing so, Flexopus will use a system user to book the resource calendar of the meeting room at Microsoft. The meeting can be deleted and edited only using the digital signage display or as an administrator in the Flexopus admin dashboard, since the meeting is not associated with an auth user.

Booking process for a display

Allow resource booking declination

Since the externals can not access the resource booking in their personal calendar, they need to be able to create and delete reservations. By default, the deletion of the bookings is disabled. Optionally, you can allow owners of a booking and administrators to delete bookings of objects that are linked to Outlook Calendar. Deleting a booking in Flexopus will only reject the booking in the resource calendar and will not change the organizer's appointment. The booking will be deleted from Flexopus.

To activate it, navigate in Flexopus as an administrator to Dashboard > Settings > Integrations > Microsoft Exchnage Integration and allow the resource booking declination option.

💡
Note: If you allow external users to book your meeting rooms, this option shall be activated, otherwise the external users are not able to delete the created meeting room bookings.

How can I deactivate the interface?

Click on the Disconnect button. Flexopus will no longer receive updates from Microsoft. All externally managed bookings will be deleted from Flexopus. You can also manually delete the automatically created enterprise application in the azure active directory.

Trouble Shooting / FAQ

{"code"}:"ErrorAccessDenied","message":"Access to OData is deisabled: [RAPO] : Blocked by tenant configuration AppOn...

If you get this error message in the reservation workflow, you're probably blocking the access for the needed permission for the Flexopus integration. Probably you configure some custom policies in your PowerShell. Flexopus requires access for the personal calendar of the user and for the resource calendar of the user as well in order to create the meeting bookings. Make sure you give Flexopus the necessary access rights.

What are resource mailboxes, and how are they configured?

Here is the Microsoft documentation on setting up resource mailboxes: https://docs.microsoft.com/en-us/exchange/recipients-in-exchange-online/manage-resource-mailboxes

Can I connect my On Premise Microsoft Exchange Version?

Unfortunately, Microsoft does not provide the Graph API for the on premise version, therefor we can no connect with On Premise versions, however there are other ways to connect an On Premise instance. Still, we are not sure how long Microsoft will support the alternative ways to synchronize on premise resources. Currently, we are evaluating the possibilities of an on premise support.

Can I connect multiple Exchange Online accounts?

No, it's not possible currently.