Integrating Office 365 meeting rooms with the Witco platform is a crucial step to synchronize bookings and ensure seamless management of workspaces. This guide explains how to configure this integration, detailing all the necessary steps to ensure efficient synchronization between your Microsoft tools and Witco.
Prerequisites for the integration
Azure Application Configuration
To get started, you need to configure a dedicated Azure application for the integration. Here are the essential details to provide:
Application ID
Directory ID
Important
If any changes are made to these elements during the year, you must inform us immediately to avoid any interruption in the integration.
Client Secret
Create a client secret in Azure, which will be used to authenticate the Witco application with your Microsoft services.
Client secret
Client secret expiration date
Important
If any changes are made to these elements during the year, you must inform us immediately to avoid any interruption in the integration.
Service Account
Create a dedicated service or technical account, which will be used to access Microsoft Graph APIs. This account does not need a valid mailbox. It will primarily be used to retrieve the list of rooms via the endpoint /users/{{accountEmail}}/findrooms
.
Service account email address
Required Permissions
To ensure the integration functions properly, make sure the following permissions are granted to the service account:
Permission | Description |
Calendars.Read |
Necessary to synchronize bookings from Outlook to the Witco platform |
Calendars.ReadWrite |
Necessary to synchronize bookings from the Witco platform to Outlook |
Directory.Read.All (Optional) |
Allows synchronization of room details in Outlook if you need to search for rooms via a directory query |
User.Read.All |
Necessary to synchronize information of users who book rooms |
Place.Read.All |
Allows retrieving all information related to rooms |
Once the configuration is complete, the list of permissions should look like this:
Room Import and Synchronization
Room Import
You can:
- Import all rooms from your Active Directory (AD)
- Import only a specific selection.
In this case, you must provide us with the list of rooms to import. Specify:
- Room groups by building
- Room list name
- Room list email
Fields to Import
For each room, define:
- The fields you want to import (e.g., name, floor, capacity, equipment, etc.)
- Whether these fields should be displayed or not for each occupant
- The corresponding Active Directory (AD) field name for each piece of information
Additional Information
Indicate the time zone used by your Microsoft 365 account to ensure consistent booking times.
Time zone
(e.g., UTC Europe/Paris)
Synchronization Process
Integration with Microsoft 365 relies on using Microsoft Graph APIs to execute the following workflows:
1. Resource Retrieval from Microsoft 365
- A synchronization runs every 30 minutes to retrieve information.
- An authentication token is generated to call the Microsoft Graph endpoint at:
https://login.microsoftonline.com/{{tenantId}}/oauth2/v2.0/token
. - The obtained responses are mapped to Witco resource fields.
- The resources are then created or updated on Witco.
- Every day at midnight, resources deleted on the client side are also deleted in Witco.
2. Ad-Hoc Retrieval of Bookings from Microsoft 365
-
- Every 2 minutes, a synchronization is performed to retrieve up to 16 bookings.
- An authentication token is generated to call the Microsoft Graph endpoint at:
https://login.microsoftonline.com/{{tenantId}}/oauth2/v2.0/token
. - The service account, whose email you provided, is used to retrieve the list of rooms via the endpoint
/users/{{accountEmail}}/findrooms
. - The previously synchronized resources from Microsoft 365 are retrieved from the Witco database.
- For each resource, booking events are obtained from
https://graph.microsoft.com/v1.0/users/{{resourceMail}}/calendarView/delta?startDateTime={{startDate}}&endDateTime={{endDate}}
. - The responses are mapped to Witco booking fields.
- The bookings are then created, updated, or deleted on Witco.
3. Booking Retrieval from O365 - Listener Mode (once the integration is active)
-
- When a user books a room, modifies, or deletes a booking directly via Outlook, Witco is immediately notified through the room notifications subscription.
- The received information is mapped to Witco booking fields.
- The bookings are then created, updated, or deleted on Witco.
4. Sending Bookings to Microsoft 365
-
- When a user creates, updates, or deletes a booking on Witco, we check if the building has integration with Microsoft 365 rooms.
- If the integration is active, a background task is sent to the server, containing the action (create, update, delete) along with the booking information.
- We call the following endpoint:
https://graph.microsoft.com/v1.0/users/{{userEmail}}/events
with the booking data to synchronize the event on Microsoft 365.
Conclusion
Integrating Office 365 meeting rooms with Witco simplifies workspace management by ensuring smooth and automatic synchronization of bookings. Follow this guide for a successful implementation, and make sure all information is up to date to avoid any interruption in the integration.
Comments
0 comments
Please sign in to leave a comment.