Hi! How can we help?

Ask us everything

Integrating Microsoft 365 and Azure Integration With Witco: Room Integration

Support Witco
Support Witco
  • Updated
Goal

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.

meeting-room_3381269.png

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:

rooms01.jpg

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

  1. A synchronization runs every 30 minutes to retrieve information.
  2. An authentication token is generated to call the Microsoft Graph endpoint at: https://login.microsoftonline.com/{{tenantId}}/oauth2/v2.0/token.
  3. The obtained responses are mapped to Witco resource fields.
  4. The resources are then created or updated on Witco.
  5. Every day at midnight, resources deleted on the client side are also deleted in Witco.

rooms02.jpg

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.

rooms03.jpg

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.

rooms04.jpg

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.

Was this article helpful?

0 out of 0 found this helpful

Have more questions? Submit a request

Comments

0 comments

Please sign in to leave a comment.