Microsoft Exchange Online (meeting room reservation synchronisation)

In this article, we explain the functionality of the interface, as well as instructions on how to set up the link.

This is an additional function of FLEXOPUS for an extra fee.

Microsoft On Premise has no embeddable Graph API.

The Flexopus "Microsoft Graph Integration" is a convenient way to sync your Microsoft O365 resource calendar and Flexopus meeting rooms using the Microsoft Graph API. You can then see your Microsoft O365 resource appointments in Flexopus. Also, after linking, if you have created a booking with a linked object, the bookings will be displayed in your Microsoft O365 calendar.

How are the bookings synchronised "bidirectionally"?

Flexopus is a resource booking tool. Meeting room bookings can be synchronised. However, the following attributes of an event cannot be managed by Flexopus: name of the event, invitees and the description of the event. Accordingly, the management of events remains with Microsoft. Flexopus focuses on booking meeting rooms.

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

Direction: Microsoft → Flexopus

  • New booking in Outlook
    In Outlook, the user can create a new booking as usual. This booking is also displayed in Flexopus through the configured Microsoft Graph API interface. The bookings also appear on the Live-Plan. In Flexopus other users can see who booked a meeting room and when. All types of appointments are supported. (single appointments, recurring appointments)
  • Edit booking in Outlook
    The changes in Outlook are also synchronised through the Graph API interface. The usual changes are applied: moving an appointment, selecting a different meeting room or inviting several meeting rooms.
  • Canceling bookings
    In the event of a cancellation, either the entire appointment can be canceled or only the meeting room can be uninvited. Both cases are supported and synchronised.


Note: A booking from an account or mailbox that does not exist in Flexopus is possible. The booking will then be displayed as 'anonymous booking' in Flexopus.

Direction: Flexopus → Microsoft

  • New booking in Flexopus

    New bookings can be made as usual through the meeting room booking process in Flexopus. In this case, the availability of rooms was already synchronised with Microsoft Exchange in advance, so Flexopus shows the objects that are actually available. In the last step, Flexopus sends an API request to Microsoft Exchange to book the meeting room. Since both databases (Flexopus and Microsoft Exchange) are synchronous, this request is accepted. After a successful booking, the booking appears in the calendar of the respective user. The calendar entry is 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.    
  • Edit or delete bookings in Flexopus
    The bookings are listed in Flexopus, but these bookings are no longer done by Flexopus. The management of meetings takes place in Outlook.
    A cancellation can be made through Outlook as well as via Flexopus.
    In the booking overview, all externally managed bookings are marked with a logo and the actions are deactivated:
Bildschirmfoto 2023-11-16 um 07.42.16
External booking in the booking list in the admin area


External booking in the user´s booking list


You can only create bookings for the connected resource calendars in Flexopus. If you want to edit event dates, you have to do this via your calendar application (Outlook, Teams,...). The "Check-in" function will also be deactivated for these bookings!

Microsoft Outlook appointment page with the linked Flexopus object


NOTE: Flexopus is a tool for managing objects and not for managing appointments. As a rule, Outlook users do not want to change the usual booking process in Outlook, which is why Flexopus supplements appointment management with resource management. Accordingly, Flexopus offers functions that partly require a configured MS Exchange interface:


  • Ad hoc booking of meeting rooms
  • Evaluation of the occupancy of meeting rooms
  • Meeting Room Digital Signage Display.
  • Room search with office plans in Outlook as an add-in.
  • Catering service - in the future

What are resource mailboxes and how are they configured?

Here is the Microsoft documentation on setting up resource mailboxes:

How can I activate the interface?

To activate the integration, navigate to the admin panel in Flexopus. Open the “Settings” and navigate to “Single Sign On / Integrations”. You will only see this function if you have booked it. If you do not see the setting, contact us:

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

ATTENTION! If you activate the interface then the bookings between Microsoft and Flexopus must remain synchronised, to ensure this synchronisation all meeting room bookings at Flexopus will be deleted. Then the bookings are imported from Microsoft O365 after a successful connection.

This authorisation gives Flexopus the necessary permissions to read data via the Microsoft Exchange interface. You can see the requested permissions below:

Permission Display name Description Link
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


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
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

Important Administrators can configure application access policy to limit app access to specific mailboxes and not to all the mailboxes in the organization, even if the app has been granted the application permissions of Calendars.Read or Calendars.ReadWrite.

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


Here you can see the current status of the integration at any time:

  • " Connected Objects in Flexopus ": The number of objects with an external resource email address.
  • “ Last Booking Update ”: Date and time of the last booking update you received from the integration.
  • Not found or not yet synced ": The number and listing of bookings where the resource email address has not yet been validated or validation has failed.

To get a list of available resource mailboxes, open the administration panel:


Exchange administration page


How can I link the meeting rooms?

To link an object that can be booked to a resource calendar, go to the Flexopus location editor. Select an object, e.g. a meeting room, and add the email address to the "Resource email address" and save it.

Object editing

After saving, Flexopus will try to connect the booking to the resource calendar. Wait about 20 seconds and then refresh the page. If the email address is valid, a verified tick should be visible directly below the email address.

Please do not confuse the Exchange e-mail address in the attributes with the MS Exchange object e-mail address! They are 2 different fields. Navigate to Extensions to configure the Exchange email address.

Note : The "Property email address" will be deleted and disabled for linked bookings.

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

image-3-png Microsoft Graph integration overview with active connections

After the connection is established, you can:

  • " Synchronise bookings ": Start a manual synchronization in the background for each connected object to manually check for booking updates. The synchronization usually runs automatically. However, you can also start a synchronisation manually.
  • " Disconnect ": Flexopus will no longer receive updates from Microsoft. All externally managed bookings will be deleted from Flexopus.

Tip: The Flexopus check-in function has no influence on bookings created via Microsoft Exchange.