====== Configuration of Microsoft 365 for Calendars access ====== **You expect to display your meeting rooms planning on your screen running with zebrix signage ?** This guide explains how to register a new application in Microsoft 365 for use with calendar integrations in **zebrix signage**. You will create an app, add a client secret, and assign it the **Calendars.Read** application permission. Then, you'll share the required details to the zebrix technical team and finally a secret UUID will be returned to you to be used in the widget configuration. Please note that a Microsoft 365 Global Admin account is required to complete this configuration This tutorial is a straightforward approach that grants application-wide **permissions to all resources and users calendars**. It is the easiest to implement this, using only the Microsoft Entra Admin Center, making it suitable for quick setups. However, **restricting permissions to specific resources** by scoping them to groups is an approach that is **more secured and recommended**. It involves combining the Microsoft Entra Admin Center for initial setup with PowerShell commands to apply scoping that will not be covered in this tutorial. ===== 1. Accessing App Registrations ===== - Go to the Microsoft Entra admin center: https://entra.microsoft.com/ - In the left menu, select **"Applications" > "App registrations"**. - Click **"New registration"** at the top of the page. {{:en:m365_calendars_app_registration_01.png?nolink&1000|}} ===== 2. Registering the App ===== - **Name**: Enter `zebrix signage calendars connector` (you are free to choose the name you want) - **Supported account types**: Choose **"Accounts in this organizational directory only"** (default). - Leave the **Redirect URI** empty. - Click **"Register"** to create the application. {{:en:m365_calendars_app_registration_02.png?nolink&1000|}} ===== 3. Save details and create a Client Secret ===== - Save the details that need to be provided to zebrix's technical team: - **Application (client) ID** - **Directory (tenant) ID** - Click on **Add a certificate or secret**. {{:en:m365_calendars_app_registration_03.png?nolink&1000|}} - Add a description, for example `zebrix connector secret`. - Set an appropriate expiration (24 months is recommended). When the secret will expire, zebrix will not have access to your calendars anymore and display their details on screen. You'll have to create a new secret and provide it to zebrix. We invite you to create an event in your personal calendar at the end of the validity period of the secret. {{:en:m365_calendars_app_registration_04.png?nolink&1000|}} - Click **"Add"** and copy the generated value and save it immediately. **You will not be able to retrieve it again.** {{:en:m365_calendars_app_registration_05.png?nolink&1000|}} ===== 4. Adding API Permissions ===== - Go to **"API permissions"** in the left menu. - Click **"Add a permission"**. - Select **Microsoft Graph**. - Choose **Application permissions**. - Please search **Calendars**. - If you only want to display meeting rooms events and availabilities, please check the role `Calendars.Read` - If you plan to allow instant booking from the touchscreen, please check the role `Calendars.ReadWrite` - Check **Calendars.Read** under the **Calendars** section. - Click **"Add permissions"**. - Back on the API permissions page, click **"Grant admin consent"** and confirm. {{:en:m365_calendars_app_registration_06.png?nolink&1000|}} {{:public_media:m365_calendars_api_permissions.png?nolink|}} ===== 5. M365 connector creation on Zebrix ===== {{:public_media:connector_creation_m365_1.png|900}} {{:public_media:connector_creation_m365_2.png|600}} - In the *Parameters* section of the CMS, inside the *Connectors* subsection, create a new Microsoft 365 Calendar connector. Please enter the details of your Microsoft 365 app: * Application (client) ID * Directory (tenant) ID * Application Secret {{:public_media:connector_creation_m365_3.png|}} - A connector entry will be created and an UUID generated that identifies this connector. You should keep this UUID secret (i.e. it should stay inside Zebrix) because it gives access to the M365 calendar resources. ===== 6. Widget configuration ===== When you add or edit a widget zone in the page editor, if you select a Microsoft 365 Calendar widget, the connector(s) configured on your account will automatically be available for selection.