Microsoft 365
Last updated
Last updated
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.
The Microsoft 365 App is installed via the App Store in Eliona.
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 |
---|---|---|---|---|
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:
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.
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
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
Attribute | Description |
---|---|
address
Physical Address
x
x
nickname
Nickname
x
x
label
Label
x
x
geo_coordinates
Geo Coordinates
x
x
phone
Phone Number
x
x
email_address
Email Address
x
x
x
booking_type
Booking Type
x
x
building
Building
x
x
capacity
Capacity
x
x
floor_label
Floor Label
x
x
floor_number
Floor Number
x
x
is_wheel_chair_accessible
Wheelchair Accessibility
x
x
tags
Tags
x
x
display_device_name
Display Device Name
x
x
audio_device_name
Audio Device Name
x
x
video_device_name
Video Device Name
x
x
on_schedule
On Schedule
x
x
tenantId
ID or domain of the company
clientId
ClientID / Azure AD Application ID
clientSecret
An "app password" (for app permissions)
username
Delegated user's name (for delegated permissions)
password
Delegated user's password (for delegated permissions)
forEliona
Indicates whether the config should be used for asset creation
forProxy
Indicates whether the config should be used for app frontend and proxy API
enable
Flag to enable or disable fetching from this API
refreshInterval
Interval in seconds for collecting data from API
requestTimeout
API query timeout in seconds
assetFilter
Filter for asset creation, more details can be found in app's README
projectIDs
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.