?

Cisco Webex Teams Meets Microsoft Office 365

As a workforce productivity use case, WWT integrated Cisco Webex Teams with Microsoft 365 APIs to control meeting reservations and scheduling.

WWT brought Microsoft 365 and Cisco Webex Teams together to increase collaboration and effeciency.

Everyone wants to get the most value possible out of their investments. Organizations have made significant purchases in Microsoft Office and Cisco products, both on premise and cloud solutions. At WWT, we looked at many of the workflows we have internally and noticed a correlation between working in Office applications and communicating with Cisco solutions. Even though most of the team interactions are happening in collaboration tools, scheduling and organization processes still rely on Office. As a workforce productivity use case, we wanted to see if we could narrow the gap between solutions and provide some areas of increased productivity.

View this demonstration to see how WWT brought Microsoft 365 and Cisco Webex Teams together.

The first step in the process was examining the tool sets available. World Wide Technology has both on premise and cloud solutions for collaboration tools, as well as on premise and cloud solutions for Microsoft office. For the initial use case, we concentrated primarily on cloud solutions and bringing together Cisco Webex Teams (formerly Cisco Spark) and Microsoft Office 365. The Microsoft 365 API endpoints were a little bit more of a mystery, as only pockets of the organization were familiar with the solutions in the suite. After some investigation, the Microsoft Graph API endpoint appeared to have the initial controls that were needed.

Cisco Spark Board

After nailing down the product sets, we needed to decide on our test problem. One of the biggest challenges our Corporate Marketing team faces with planning meetings is conference room availability.

We decided this was a good starting point to test out the simplistic use cases around controlling meeting reservations and scheduling. There is a relatively new API call in Microsoft Graph called findMeetingTime, which does a lookup of all invited participants and rooms. This API call returns a list of possible meeting times with probability percentages of at least 50 percent of the members being available. You have the options of listing attendees, room resources, time frames and meeting duration. Since one of the first use cases was to check availability at the current date and time, this API was sufficient as long as we provided a duration of only an hour.

In order to call the findMeetingTime API, the proper authorization scheme also needed to be provisioned. Graph offers both a user login OAuth flow and a Service to Service OAuth flow in order to authenticate to the WWT Office 365 instance. The Service to Service flow was selected to streamline the authentication process and allow consolidation later for a single authentication platform. The Service to Service OAuth uses Microsoft Azure to host the application, which provides a client ID and client secret, so an application can request an authorization token. The authorization token times out after an hour, so the code needs to request a refresh token periodically.

Authorization token accepted!

With the authorization completed, all there was left to do was form the JSON statements and test the functionality. Some tweaks had to be made in order to compensate for current time, adding or subtracting to create a proper start time for the meeting. In the first trials, we were able to easily check status on conference rooms, book rooms for a determined amount of time and retrieve calendar events for the individual in a Webex Teams room by their email ID.

This was a pretty simple test case, but a nice building block to integrate further automation into the mix.

WWT has also implemented Cisco Calendar Connector through Teams, which allows you to add the term “@webex” in order to simply schedule a Collaboration Meeting Room and open a room. This functionality also works through our Office 365 integration, which was a nice plus.

Adding the Cisco Calendar Connector allows creating meetings by using "@webex"

The Microsoft Graph API consolidated endpoint is still relatively young, and some of the application APIs haven’t been integrated yet. But with these initial successful tests, there are many additional use cases where these integrations will make sense. We can integrate OneDrive to act as an archive backend for important Webex Teams room shared documentation, or use the Office 365 task engine to assign and monitor tasks in rooms for team members.

The wheels are turning, and the solutions will only get better as Cisco and Microsoft provide even more APIs for enhanced functionality.

Read this to see what else we’ve done with API integration.