Gfacility

Other

Room management in Microsoft

Configure rooms in Microsoft for Gfacility — create room mailboxes, set up resource scheduling, configure Room Finder, and handle recurring meeting conflicts.

Updated May 1, 2026

Integrations

Configure room management in Microsoft

Gfacility uses Microsoft Rooms for booking rooms. It is essential that rooms are configured correctly to guarantee a smooth integration with Gfacility. This article contains the steps for creating rooms, configuring resource scheduling, and setting up Room Finder so that building names and floors are displayed correctly, both in Outlook and in Gfacility.

Before you begin

Make sure you have the right permissions before you get started.

  • Exchange Administrator rights: You need access to the Exchange Admin Center and Exchange Online PowerShell to manage room mailboxes and room lists.
  • PowerShell: Exchange Online PowerShell is required for creating room lists and setting room properties (such as building, floor, and capacity).
  • Do not hide rooms: By applying settings it is possible to hide rooms in the directory. However, using this feature prevents the ability to integrate with Gfacility. It is therefore not recommended to use this feature.

1. Create rooms

Each physical meeting room needs its own room mailbox in Exchange Online. This is the foundation for both Room Finder and the integration with Gfacility.

Via the Exchange Admin Center

  1. Go to the Exchange Admin Center.
  2. Navigate to Recipients → Resources.
  3. Click on + Add a room resource.
  4. Fill in the Name and the email address and click Next.
  5. Set properties such as Capacity and Location, and complete the process.

Via PowerShell

New-Mailbox -Name "Meeting Room 1" -Room -PrimarySmtpAddress "[[email protected]](mailto:[email protected])"

Follow the official Microsoft instruction for a full overview.

2. Assign administrator to room

To configure the settings of a room you need permissions. Set yourself as delegate with full access via the Exchange Admin Centre.

3. Configure resource scheduling

The options for setting up rooms in Outlook appear limited at first glance, but when you work from the mailbox of the room, the options unfold.

Steps

  1. Go to Outlook and open the relevant room as another mailbox.
  2. Click on Settings and navigate to Resource scheduling.
  3. Here you can then set scheduling options, and authorise people or groups to book the room.

You can configure, among other things, whether meeting requests are accepted automatically, who can book the room, and how to handle conflicts with recurring bookings. For the specific settings around recurring series and cancellations, see section 5 below.

4. Configure Room Finder

The actions above are sufficient to use the basic functionality in Gfacility. To make it even easier for users to find the right room, you can configure Room Finder. Room Finder shows meeting rooms grouped per building, with filters on capacity, floor, and available equipment. By adding the buildings and floors, the hierarchy of the rooms is shown accurately in Gfacility via the integration.

Important

Room Finder retrieves rooms from room lists, not from individual room mailboxes. Without a room list, your rooms will not appear in Room Finder, even if they exist in Exchange Online.

4a. Connect to Exchange Online PowerShell

If needed, install the module and connect:

Install-Module -Name ExchangeOnlineManagement
Connect-ExchangeOnline

4b. Check existing room lists

See whether room lists already exist in your environment:

Get-DistributionGroup -RecipientTypeDetails RoomList | Select Name, PrimarySmtpAddress

See which rooms are in an existing room list:

Get-DistributionGroupMember -Identity "Name of room list" | Select Name

4c. Create a Room List

Create a room list per building. The name of the room list appears as the building name in Room Finder:

New-DistributionGroup -Name "Headquarters Breda" -RoomList

4d. Add rooms to the Room List

Add your room mailboxes to the room list:

Add-DistributionGroupMember -Identity "Headquarters Breda" -Member "[[email protected]](mailto:[email protected])"
Add-DistributionGroupMember -Identity "Headquarters Breda" -Member "[[email protected]](mailto:[email protected])"

4e. Set building name and properties per room

Use the Set-Place command to set the properties per room. These properties make the filters in Room Finder possible:

Set-Place -Identity "[[email protected]](mailto:[email protected])" `
    -City "Breda" `
    -CountryOrRegion "NL" `
    -State "Noord-Brabant" `
    -Street "Druivenstraat 47" `
    -PostalCode "4816 KB" `
    -Building "Headquarters Breda" `
    -Floor 0 `
    -FloorLabel "Ground floor" `
    -Capacity 10 `
    -DisplayDeviceName "Screen"

Available properties:

  • -City: The city in which the building is located. Room Finder groups rooms by city.
  • -Building: The building name. This is what becomes visible in Room Finder and in Gfacility.
  • -Floor / -FloorLabel: The floor number and the display name (e.g. “Ground floor”).
  • -Capacity: The maximum number of people. Users can filter on this in Room Finder.
  • -DisplayDeviceName: The name of the screen/display in the room (e.g. “Screen”).
  • -AudioDeviceName: Audio equipment (e.g. “Speakerphone”).
  • -VideoDeviceName: Video equipment (e.g. “Camera”).
  • -IsWheelChairAccessible: Whether the room is wheelchair accessible ($true / $false).
  • -Tags: Extra labels for filtering (e.g. “Whiteboard”, “Quiet room”).

4f. Verify

Check whether everything is configured correctly:

# Check the room list
Get-DistributionGroupMember -Identity "Headquarters Breda" | Select Name
# Check the properties of a room
Get-Place -Identity "[[email protected]](mailto:[email protected])" | Select DisplayName, City, Building, Floor, Capacity, DisplayDeviceName
# Check all properties
Get-Place -Identity "[[email protected]](mailto:[email protected])" | Format-List *

Synchronisation time

Changes to room properties and room lists can take up to 24 hours before they are visible in Room Finder in Outlook. After synchronisation, the building names and floors are also shown in Gfacility via the integration.

5. Handling recurring bookings and cancellations automatically

A resource has its own calendar in Microsoft. By default the system accepts invitations automatically. It gets trickier with a recurring series, part of which conflicts with existing bookings: should the whole series be declined, or does the system accept it and only the conflicting instances are rejected? You configure that under Settings, Calendar, Resource scheduling in the settings of the resource mailbox.

Resource scheduling settings in Microsoft 365: scheduling options, scheduling permissions, and response message
Resource scheduling in the settings of a resource mailbox. Click on the image to enlarge.

The main options from the screen

  • Automatically process invitations and cancellations. Ticked: the resource mailbox accepts new bookings and releases the time slot again as soon as someone cancels an appointment (or one instance of a series). Unticked: the cancellation stays in the inbox and blocks the slot until an administrator processes it manually.
  • Maximum number of days bookable in advance. For example 180. A recurring booking that reaches further out is automatically declined as soon as “Always decline if the end date is beyond this limit” is on.
  • Maximum duration per appointment. Limits individual instances. The default is 1440 minutes, or 24 hours. Prevents a runaway series from occupying the entire week.
  • Allow recurring meetings. On by default. Turning it off is a blunt instrument: entire series are then declined, even if no single instance conflicts.
  • Allow conflicts. For series you can allow a number or a percentage of instances to overlap with an existing booking. Below are our recommended values.

5a. The same via PowerShell (Set-CalendarProcessing)

For multiple resources at once, the UI is cumbersome. The Exchange Online cmdlet Set-CalendarProcessing does the same scripted:

# Connect
Connect-ExchangeOnline -UserPrincipalName [email protected]

# Per resource: automatic accept/cancel, 180 days ahead,
# and the recommended conflict tolerance for series
Set-CalendarProcessing -Identity "[[email protected]](mailto:[email protected])" `
  -AutomateProcessing AutoAccept `
  -AllowRecurringMeetings $true `
  -BookingWindowInDays 180 `
  -MaximumDurationInMinutes 1440 `
  -AllowConflicts $false `
  -ConflictPercentageAllowed 50 `
  -MaximumConflictInstances 10 `
  -ProcessExternalMeetingMessages $true

The two numbers under Allow conflicts determine when Microsoft declines a whole series instead of accepting individual conflicts. Our guideline for a normal meeting room:

Default advice meeting room

  • Allow up to this number of individual conflicts: 10
  • Allow up to this percentage of individual conflicts: 50

What exactly do those limits do? Microsoft looks per incoming series at the number and the percentage of instances that conflict with an existing booking. If both the number and the percentage are below the threshold, the system accepts the series. The conflicting instances are then declined individually; the organiser sees which dates those are in the response email and can move those few exceptions. If at least one of the two thresholds is exceeded, that is more than 10 conflicting instances or more than half of the series, then Microsoft declines the whole series. The organiser then takes another room or another time slot.

The reasoning behind it: moving 10 individual exceptions is something an organiser can still do in a few minutes. Correcting 30 or 50 instances manually is a lot of work in practice. It then costs less time to simply create another series in another room. By setting the threshold at 10 / 50%, you force that choice moment early.

When to deviate

  • Stricter (5 / 25%) for rooms with very high occupancy, such as a boardroom or a large auditorium. There you want a series that already clashes a few times to immediately yield to other bookings.
  • More lenient (20 / 75%) for rooms where many recurring standups and stand-ins run and occupancy is low. There it’s a waste if a series of 50 weeks is declined for 12 conflicts.
  • Main checkbox “Allow conflicts” on means something fundamentally different: Microsoft then ignores the thresholds completely and individual appointments that overlap with an existing booking are also accepted. Real double-booking, in other words. For meeting rooms you leave that off, otherwise the thresholds lose their effect. Only turn on for flex spaces or overflow resources where shared use is not a problem.

Frequently asked questions (FAQ)

In Gfacility I see a “number” instead of the building name

This happens when the Building field has not been filled in on the room mailbox. Gfacility then shows the internal ParentId (a technical ID) instead of a readable name. Fix this by entering the building via PowerShell:

Set-Place -Identity "[[email protected]](mailto:[email protected])" -Building "Headquarters Breda"

Does the room have a ParentId that points to a building in Microsoft Places? Then it may be necessary to empty it first before the Building property is applied:

Set-Place -Identity "[[email protected]](mailto:[email protected])" -ParentId ""
Set-Place -Identity "[[email protected]](mailto:[email protected])" -Building "Headquarters Breda"

My rooms do not appear in Room Finder

Room Finder only shows rooms that have been added to a room list. Check whether a room list exists and whether your rooms are linked to it. Also check that the rooms are not hidden in the address list:

Get-Mailbox -Identity "[[email protected]](mailto:[email protected])" | Select HiddenFromAddressListsEnabled

This value must be set to False.

The City property stays empty despite Set-Place

If the room has a ParentId (linked to a building via Microsoft Places), the City is taken from the parent building and not from the room itself. Check whether a ParentId is set:

Get-Place -Identity "[[email protected]](mailto:[email protected])" | Select ParentId

Remove the ParentId if needed and then set the City again:

Set-Place -Identity "[[email protected]](mailto:[email protected])" -ParentId ""
Set-Place -Identity "[[email protected]](mailto:[email protected])" -City "Breda" -CountryOrRegion "NL" -State "Noord-Brabant"

I want to make rooms available only to certain groups

Since the source of room management lies in Outlook, this setting must be configured there. The recommended approach is to clearly indicate in the room name that it is only bookable for a certain group of users, for example: Council Room (secretariat only). Then follow the steps under Configure resource scheduling to authorise people. Use the options under “Scheduling permissions” to authorise people or groups.

When I make a recurring booking with 1 conflict, the whole series is declined

Outlook declines the whole series by default as soon as one instance conflicts with an existing booking. Set the two numbers under Resource scheduling, Allow conflicts so that individual conflicts are tolerated: Allow maximum number of individual conflicts = 10 and Allow maximum percentage of individual conflicts = 50. Below that limit, the series is accepted and only the conflicting instances are individually declined. See section 5 for the full explanation and when to deviate from these values.

Microsoft documentation

Gfacility documentation