- Open a browser and navigate to the Microsoft Entra ID admin center and login using a personal account (aka: Microsoft Account) or Work or School Account.
- Select Identity in the left-hand navigation, then select App registrations under Applications.

- Select New registration. On the Register an application page, set the values as follows.
a. Set Name to a friendly name for your app.
b. Set Supported account types to the choice that makes sense for your scenario.
c. For Redirect URI, change the dropdown to Public client (mobile & desktop) and set the value to: urn:ietf:wg:oauth:2.0:oob

- Choose Register. On the next page, copy the values of the Application (client) ID and Directory (tenant) ID and save them, you will need them later to configure the calendar plugin in CMS.
Configure for app-only authentication
To use application permissions, follow these additional steps.- Select Manifest in the left-hand navigation under Manage.
- Locate the requiredResourceAccess property in the manifest, and add the following inside the square brackets ([]):
{ "resourceAppId": "00000002-0000-0ff1-ce00-000000000000", "resourceAccess": [ { "id": "dc890d15-9560-4a4c-9b7f-a736ec74ec4e", "type": "Role" } ]}
- Select Save.

- Select API permissions under Manage. Confirm that the full_access_as_app permission is listed.
- Select Grant admin consent for org and accept the consent dialog.

- Select Add a permission
- Select the following permission “Microsoft Graph > Calendars.ReadWrite” and select Add.
- Grant admin consent to that permission.

- Select Certificates & Secrets in the left-hand navigation under Manage.
- Select New client secret, enter a short description and select Add.
- Copy the Value of the newly added client secret and save it, you will need it later when configuring the calendar plugin in CMS.

Create a service account user
- Log in to your Office 365 as an administrator.
- Navigate to Office 365 admin center > USERS > Active Users.
- To add a new user, select the ”+” icon. The create new user account page appears.
- On the create new user account page, complete the required information.
By default, Exchange will change the subject of the meeting to the Organizer’s name. To change this you would need to change the Calendar Processing of the room(s) that you will use.
- Connect to Exchange Online PowerShell. For details, see Connect to Exchange Online PowerShell.
- Run the following command, where <ResourceMailbox> the name of your room should be.
Manage restricted access (if required)
if you added an application access policy, you will need first to include the service account in the restricted access distribution group
- Connect to Exchange Online PowerShell. For details, see Connect to Exchange Online PowerShell.
- Identify the app’s client ID and a mail-enabled security group to restrict the app’s access.
- Create an application access policy.
- Test the newly created application access policy.
Changes to application access policies can take up to 30 minutes to take effect in EWS API calls.
Manage room list (for retrieving rooms to import)
- To be able to import rooms in Workspace you need to create a room list and add the rooms that want to be able to import to the room list. If you don’t do this, then you need to manually add the rooms to Workspace. We advise to use a room list as this is more convenient then adding rooms manually.
- Attention, a room list should not contain more than 100 rooms, if you plan to have more, please split them into multiple room list as the maximum number of rooms that can be returned in the request for a Room List is 100.
- Connect to Exchange Online PowerShell. For details, see Connect to Exchange Online PowerShell.
- Use the Exchange Management Shell to create a room list
- Use the Exchange Management Shell to add a room to a room list
- To check if the room list has been successfully created you can use the following command to see if the list exists.

- Go to CMS Administration
- Open the “Workspace application settings”
- Check “Enable online meeting creation by default”
- Click save

Create event with teams meeting from workspace
This option will only be available if you selected a room that is configured to use the external calendar configuration that has that option set up or also if your user is configured to use the external calendar configuration for user impersonation.

- To create a teams meeting in workspace, just create a simple event in workspace and select the teams meeting option while creating the event.

- After making the event with the teams meeting option turned on, you will see it as shown below:

Impersonation
There are 3 operating modes described below, these operating modes are to be set according to the desired results and also according to the security rules of the company:
#1. Impersonation = Full access
Using this type of Full Access Impersonation, the reservation function will have the following behavior:Booking from Outlook
- The reservation will be made from the user account with the choice of the room and the guests.
- This reservation can be modified and deleted from Outlook and Workspace.
- Changing and deleting the tablet reservation will affect both the user and resource calendar.
Booking from Workspace
- The reservation will be made from the user account with the choice of the room and the guests.
- This reservation can be modified and deleted from Workspace and Outlook.
- Changing and deleting the tablet reservation will affect both the user and resource calendar.
Booking from a tablet
- The reservation will be made from the service account which will usurp the identity of the connected user.
- The owner / organizer of the meeting will be the logged in user.
- This reservation can be modified and deleted from the tablet and will affect the calendar of the user and the resource.
- Editing, deleting or adding participants can be done using the user calendar (who owns this meeting).
#2. Impersonation = Resources only
This option requires that the service account has the right to impersonate all resources imported into PADS4 CMS. To manage this, you will have to grant the role “ApplicationImpersonation” to the user of the service account following this PowerShell script:Booking from Outlook
- The reservation will be made from the user account with the choice of the room and the guests.
- This reservation can be modified and deleted from Outlook and Workspace.
- Changing and deleting the tablet reservation will only affect the resource calendar.
Booking from Workspace
- The reservation will be made from the user account with the choice of the room and the guests.
- This reservation can be modified and deleted from Workspace and Outlook.
- Changing and deleting the tablet reservation will only affect the resource calendar.
Booking from a tablet
- The reservation will be made from the service account which will usurp the identity of the resource.
- The owner / organizer of the meeting will be the resource and the logged in user will be added as a participant.
- This reservation can be modified and deleted from the tablet and will affect the calendar of the user and the resource.
- Editing, deleting or adding participants can be done using the resource calendar (who owns this meeting).
#3. Impersonation = None
Using this type of impersonation “None”, the reservation function will have the following behavior:Booking from Outlook
- The reservation will be made from the user account with the choice of the room and the guests.
- This reservation can be changed and deleted from Outlook.
- Changing and deleting the tablet reservation will only affect the resource calendar.


