ACA Tech Talks: Integrating ACAEngine with Office 365

In this ACA Tech Talk, Cameron Reeves (Lead Custom Developer at ACAEngine) discusses how to integrate ACAEngine with Microsoft Office 365. Click below to watch the video, or keep on scrolling for a full transcript

Transcript - ACA Tech Talks: Integrating ACAEngine with Office 365

Hi I'm Cam and I head up the integration team here at ACA.

Today I want to cover the third party user and resource management system we integrate with most - Office 365. I'm going to run through how ACA connects to your Office 365 instance, the data we require access to, and how that data is used. ACA integrates with Office 365 and other similar user management systems primarily for the purpose of listing users either to locate in an office or add to a meeting, to book room resources after showing their availability, and to manage staff's calendars.

For example, when using ACA to book a room an end-to-end flow may look something like this:
A staff member accesses the web based front end to select the time, length, and attendees for a booking and is shown the available rooms for selection. An http post request to create a booking is made from the front end to ACAEngine using a generic structure that is unaware of what management system is used on the back end. Using our open source libraries, ACAEngine makes requests to Microsoft's Graph API to create a booking inside the authenticated users calendar. This may utilise Microsoft's open extensions to save extra metadata related to the booking such as a catering order, attendee related information to assist the front of house, or other information.

So how does ACA connect to Office 365 to access this data, and what's required on your side to enable this access?

ACA is providing access through an application associated with the Office 365 instance. This application is similar to a service account, though it uses an application I.D. and secret rather than a username and password, and can only access data to which permissions have been granted. The process for creating an application is very simple - hit the Azure portal at and log in with an admin account. In the Azure Active Directory section under app registrations, click new registration and give it a name. Under the API permission section, click add a permission, then click Microsoft Graph and add the following permissions: The calendar dot read right permission, the user dot read dot all permission, and they contact dot read write. permission. Click the grant admin consent button and confirm. Lastly, in the certificates and secret section create a new client secret, note it down, and send ACA the client I.D. and accompanying secret.

Lastly, I just wanted to briefly discuss how ACA deals with visitor management.

All meeting attendees who are external to a host organisation are considered visitors. As the Office 365 integration provides their meeting time, the room their meeting is in, and the host details, no secondary visitor list or database is required. Upon arrival of the visitor, a request from a self serve chaos or concierge UI is made, and an email or SMS notification is sent to the hosts of the meeting. The host is then able to come down to meet the visitor or have them sent up to the appropriate room. 

Want to learn more about how you can make the most of your existing workplace technology stack using ACAEngine? Click here to get in touch.