Skip to main content

Matrix Booking's Microsoft 365 integration setup guide

This technical guide explains the steps required to set up our bidirectional Microsoft 365 integration. For more information on our integration, see Microsoft 365 integrations overview.

Contents

  1. Set up our integration in Microsoft Azure

  2. Finish integration setup in Matrix Booking

  3. Get our add-in

  4. Delink a resource in Microsoft 365

Set up our integration in Microsoft Azure

There are several steps needed to set up our Microsoft 365 integration, on both the Microsoft and Matrix Booking sides. Some steps need to be done by your IT team, some by your Matrix Booking Administrators, and some steps by our Support Team.

In Microsoft Azure, your IT team need to:

  1. Set up SSO or Microsoft Entra ID in Microsoft Azure first if needed.

  2. Register Matrix Booking as an application if 1 hasn’t been set up.

    image-20241105-132428.png

  3. Set the required permissions.

    image-20241105-134932.png

  4. Give the required information to Matrix Booking.

    image-20241105-132525.png

  5. Add the certificate.

    image-20240716-083458.png

  6. Get the Microsoft resource’s email address.

    image-20240610-104625.png

In Matrix Booking, your Matrix Booking Administrators need to:

  1. Sync any existing future bookings.

  2. Update the Matrix Booking resource.

    image-20240613-154915.png

Note: if you want your colleagues to use our Microsoft 365 add-in, contact your Account Manager and subscribe. Afterwards, ask your IT team to install the add-in.

Set up SSO or Microsoft Entra ID in Microsoft Azure first if needed

Matrix Booking uses Microsoft Azure applications for SSO and Entra ID (formerly Active Directory). If you’re using either our SSO or Entra ID integrations, you need to set up the integrations first.

For SSO to work, make an Enterprise Application for Matrix Booking. It will have the API permissions needed so that you can add our Microsoft 365 integration to it.

You can set up SSO afterwards, but you’ll have 2 separate applications.

Register Matrix Booking as an application

If you’re using either SSO or Entra ID and they have been set up, you can reuse the existing application within the Enterprise Application. If you’re reusing an existing application, you need to log in to Microsoft's Azure Portal as an Administrator and note these 2 pieces of information from the existing application:

  • Application (client) ID.

  • Directory (tenant) ID.

To add Matrix Booking to your Microsoft Azure tenant as a client application:

  1. Select Microsoft Entra ID from the side menu. The Overview screen will appear.

  2. Select the + Add drop-down list. The + Add drop-down list will appear.

  3. Select App registration from the Manage drop-down list. The Register an application screen will appear.

  4. In the Name text box, enter “Matrix Booking”.

  5. Select the Accounts in this organisational directory only (single tenant) option.

  6. Select the Select a platform drop-down list. The Select a platform drop-down list will appear.

  7. Select Web from the drop-down list.

  8. In the Redirect URL text box, enter “https://app.matrixbooking.com”.

  9. Select Register.

    image-20241105-132428.png

  10. This will take you to the Matrix Booking Overview screen.

  11. Take note of the:

    • Application (client) ID.

    • Directory (tenant) ID.

      image-20241105-132525.png

Note: for more information, see Microsoft’s guidance on registering an application.

Set the required permissions

To set the required permissions:

  1. Select Microsoft Entra ID from the side menu. The Overview screen will appear.

  2. Select the Manage drop-down list from the Overview screen’s side menu. The Manage drop-down list will appear.

  3. Select App registrations from the drop-down list.

  4. Select Matrix Booking. The Matrix Booking Overview screen will appear.

  5. Select the Manage drop-down list from the Matrix Booking Overview screen’s side menu. The Manage drop-down list will appear.

  6. Select API permissions from the drop-down list. The API permissions screen will appear.

  7. Select + Add a permission. The Request API permissions screen will appear.

  8. Select Microsoft Graph.

  9. Select Application permissions.

  10. In the Start typing a permission to filter these results search bar, begin to enter “Calendars.ReadWrite”.

  11. Select the > Calendars drop-down list. The > Calendars drop-down list will appear.

  12. Select the Calendars.ReadWrite permission (not shown in screenshot below).

  13. Select the Add permissions button.

  14. In the Start typing a permission to filter these results search bar, begin to enter “Directory.Read.All”.

  15. Select the > Directory drop-down list. The > Directory drop-down list will appear.

  16. Select the Directory.Read.All permission.

  17. Select the Add permissions button.

    image-20240528-100627.png

  18. Select the ✓ Grant admin consent for [your organisation] button (for example, Obsidian River). The Grant admin consent confirmation pop-up will appear.

    image-20241105-134132.png

  19. When asked to confirm, select Yes.

    image-20241105-134932.png

Note: for more information, see Microsoft’s guidance on managing application permissions from Microsoft Graph and granting admin consent.

Give the required information to Matrix Booking

Contact your Account Manager and give them the following details:

  1. Application (client) ID.

  2. Directory (tenant) ID.

  3. Your organisation’s domain.

Our Technical team will register the bidirectional sync from Matrix Booking’s perspective on your behalf, and they will work with your team to test that the integration is set up correctly. They will also give you our X.509 digital certificate.

Add the certificate

For additional security, we use a certificate as a credential when authenticating with the Microsoft Graph API. To add this certificate:

  1. Select Certificates and secrets in the Matrix Booking Overview screen’s side menu.

  2. Select the Certificates (X) tab (where X is a whole number).

  3. Select ⤒ Upload certificate. The Upload certificate pop-up will appear.

  4. Select the 📁 Select a file button. Your native file explorer will appear.

  5. Find the X.509 digital certificate we gave you.

  6. Select Open or Upload.

  7. In the Enter a description for this certificate text box, enter a description.

  8. Select Add.

    image-20240730-151152.png

Get the Microsoft resource’s email address

To get a Microsoft resource’s email address:

  1. Log in to the Microsoft 365 Admin Center.

  2. Select ⋯ Show all in the side menu. All options will be available in the side menu.

  3. Select the Resources drop-down list in the side menu. A drop-down list will appear.

  4. Select Rooms & equipment. The Rooms & equipment screen will appear.

  5. Select your chosen resource (for example, Avon View).

    • This will show you a details pane on the right where you will see the room’s email address.

    • In this example, the room “Avon View” has the email address avon.view@obsidianriver.onmicrosoft.com.

      image-20240610-104625.png

  6. Give this email address to your organisation’s Matrix Booking Administrator.

Finish integration setup in Matrix Booking

Once you have been informed that we’ve set up your integration, your Matrix Booking Administrator will be able to link Matrix Booking resources with Microsoft 365 resources using our web app.

Warning: the following steps assume that the resource has previously been added to Microsoft 365 and also to Matrix Booking. These steps need to be performed for each resource that will be synchronised.

Sync any existing future bookings

If you have any future bookings against any resources that you want linked between Matrix Booking and Microsoft 365, any existing future bookings between the 2 systems aren’t automatically synced.

  1. If you have any future bookings against any resources that you want linked, any existing future bookings between the 2 systems aren’t automatically synced. You may come across 1 of the following error messages when you try to link the resource:

    • Future bookings in Matrix Booking:

      image-20240731-161650.png

    • Future bookings in Microsoft 365:

      image-20240731-161845.png

    • Future bookings in both Matrix Booking and Microsoft 365:

      image-20240731-161538.png

  2. Raise a support ticket to let us know:

  3. If you’re using either Matrix Booking or Microsoft 365 as your “master” resource booking system where the future bookings currently reside.

    • The date you want the sync to happen.

    • The date range of bookings you want synced.

  4. Our Support Team will run:

    • A future bookings analysis.

    • The future booking sync for you, so that they appear in both calendars.

  5. You’ll need to finish the integration setup for any resource that doesn’t have any future bookings against it.

Notes:

  • If you add any new resources to your Locations and Resource hierarchy, we recommend that you link them to your Microsoft 365 resources (rooms).

  • Any resources that are linked need to go through the future booking syncing sub-process.

  • Try a test booking in both Matrix Booking and Microsoft 365 to see if the bookings are reflected in each other.

  • Ensure that you consider the next section on synchronising existing bookings.

  • If there are more complex scenarios (for example, where bookings in both Matrix Booking and Microsoft 365 need to be considered), contact your Account Manager team to resolve the issue.

Update the Matrix Booking resource

To update your Matrix Booking resource with the Microsoft resource’s email address, as a Matrix Booking Administrator:

  1. Select Admin in the top bar.

  2. Select Locations and Resources under the Location Settings section in the side menu.

  3. Select Edit hierarchy. Your Locations and Resources hierarchy will appear.

  4. In the Find location search bar, begin to enter the resource’s name. The resource’s name within Matrix Booking might not be the same as within Microsoft 365.

  5. Go to your matching resource.

  6. Select the 📝 Edit button next to your resource. The Edit [resource] pop-up will appear.

    image-20240613-085517.png

  7. If No calendar provider appears in the Calendar drop-down, the resource isn’t associated with a Microsoft 365 resource.

  8. Select the Calendar drop-down list.

  9. Select the chosen calendar provider. This will have been added by the Matrix Booking Technical Team (for example, Obsidian River 365).

  10. In the Calendar Resource text box, enter the email address of the Microsoft 365 resource that you obtained.

  11. Select Save.

    image-20240613-154915.png

  12. Repeat the Get the Microsoft resource’s email address steps and Update the Matrix Booking resource steps for each resource you wish to keep synced between Matrix Booking and Microsoft 365.

You should now be able to make bookings in either Matrix Booking or Microsoft 365.

Get our add-in

If you want your colleagues to use our Microsoft 365 add-in, contact your Account Manager and subscribe. Afterwards, ask your IT team to install it.

To delink a Matrix Booking resource from Microsoft 365 integration so bookings are no longer synchronised:

  1. Select Admin in the top bar.

  2. Select Locations and Resources under the Location Settings section in the side menu.

  3. Select Edit hierarchy. Your resource hierarchy will appear.

  4. Go to your chosen resource.

  5. Select the Edit 📝 button next to your resource. The Edit [resource] pop-up will appear.

  6. Select the Calendar provider text box. A drop-down will appear.

  7. Select No calendar provider.

    image-20240613-155218.png

  8. Select Save.

    This can only be done if Matrix Booking hasn’t received any webhook notifications (or subscription messages) for the resource from Microsoft 365. If there are such messages, an error will be shown:

    image-20240610-111857.png

In this case, the subscription messages will need to be manually deleted.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.