Microsoft 365
This app allows accessing the Microsoft 365 platform directly in Eliona using the Microsoft Graph API.
Microsoft Graph is the gateway to data and intelligence in Microsoft 365. It provides a unified programmability model that you can use to access the tremendous amount of data in Microsoft 365, Windows, and Enterprise Mobility + Security.
This app connects rooms and other resources to to Eliona and provides information about their booking status.
The main ability of the app, though, is the possibility to use the whole Graph API directly in Eliona using the authentication-providing proxy functionality.
Installation
The Microsoft 365 App is installed via the App Store in Eliona.
Assets
The Microsoft 365 App automatically creates all the necessary asset types and assets that are accessible via the configured endpoints. The following asset types are created:
Room: A room in Azure AD.
Equipment: Any piece of equipment that can be booked. Like a room, but generalized.
Following attributes are defined:
Attribute | Description | Room | Equipment | Filterable |
---|---|---|---|---|
| Physical Address | x | x | |
| Nickname | x | x | |
| Label | x | x | |
| Geo Coordinates | x | x | |
| Phone Number | x | x | |
| Email Address | x | x | x |
| Booking Type | x | x | |
| Building | x | x | |
| Capacity | x | x | |
| Floor Label | x | x | |
| Floor Number | x | x | |
| Wheelchair Accessibility | x | x | |
| Tags | x | x | |
| Display Device Name | x | x | |
| Audio Device Name | x | x | |
| Video Device Name | x | x | |
| On Schedule | x | x |
Configuration
For a detailed guide to configuring apps, follow the manual.
The Microsoft 365 App is configured by defining one or more authentication credentials. Each configuration requires the following data:
Attribute | Description |
---|---|
| ID or domain of the company |
| ClientID / Azure AD Application ID |
| An "app password" (for app permissions) |
| Delegated user's name (for delegated permissions) |
| Delegated user's password (for delegated permissions) |
| Indicates whether the config should be used for asset creation |
| Indicates whether the config should be used for app frontend and proxy API |
| Flag to enable or disable fetching from this API |
| Interval in seconds for collecting data from API |
| API query timeout in seconds |
| Filter for asset creation, more details can be found in app's README |
| List of Eliona project ids for which this device should collect data. For each project id, all assets are automatically created in Eliona. The mapping to Eliona assets is stored as an asset mapping in the app. |
The configuration must contain either client secret for app permissions or user credentials for delegated permissions.
The configuration is done via a corresponding JSON structure. As an example, the following JSON structure can be used to define an endpoint for app permissions:
Endpoints can be created using this structure in Eliona under Apps > Kontakt.io > Settings
. To do this, select the /configs endpoint with the POST method.
Required privileges
For the basic use-case of reading rooms and equipment and their availability, the application needs following Application permissions:
Place.Read.All
User.Read.All
Calendars.Read
Setup for bookings
To allow the Microsoft 365 app create and manage bookings on behalf of users, a "Device code authentication flow" is used. For that to work, the administrator has to go to Microsoft Entra -> Applications -> App registrations -> Authentication and there "Allow public client flows".
As bookings are done on behalf of a user, the app requires following Delegated permissions:
User.Read
Calendars.ReadWrite
Last updated