Back to blog

The Teams API Preview Program: Getting to Grips with the Graph

2 Jan 2019 by Greg Jones

Microsoft Teams is great in so many ways, but as is so often the case, the end-user benefits are dependent on the IT Admins’ ability to ‘keep the lights on’ by managing and configuring the service. This process is made even more ‘interesting’ when the quirks you’re tackling are taking place in a platform that is still very much developing. If you want a quick insight into what it’s like ‘Living at ‘cloud speed’ with Teams’, our CTO Paul Robichaux gives a great example of the highs and lows in a tale of two teams features’.

We know managing a developing platform has its own set of challenges, so we were quick to add any Teams management functionality we could to our Office 365 management and administration solution. I know we’ve just entered a new year, but I want to take you back, briefly, to the summer of 2018. Around this time, we introduced basic Teams management to Autopilot based off the initial Microsoft PowerShell cmdlets (Get-Team, New-Team, Set-Team, etc.) that were released earlier in the year. In July 2018 we added Teams delegated administration, which provided useful but still rather basic management based on the limited functionality available via the command line at the time.

This was a starting point for us. Teams isn’t the only platform that is able to learn on its feet, to adapt and improve…

Part of the program

Quadrotech was accepted into the Microsoft Preview Program for the Teams Graph API.  This allowed us to work with the team during the beta process.  This was definitely a symbiotic program where 3rd party vendors, like us, that were eager to provide our customers a better Teams experience were allowed extended access to the API development team as well as early access to the long-awaited Application level access. It also gave us the understanding of what changes were coming between the beta and version 1 endpoints. This allowed Quadrotech’s development teams for our tenant migration tool Cloud Commander and Autopilot to get a head start working with the version 1 APIs.

Learning together

Second, this allowed Microsoft to have specific feedback on areas of the API that they were working on.  There was a weekly activity where we were encouraged to test functionality. This activity was useful for the Microsoft team but also gave us the ability to explore some parts of the API that we may not have initially looked into. This experience expanded our understanding of the service as a whole and created a few items that we will be adding to our Teams management capabilities in the future. We think will be of great benefit for our customers.

Finally, the program allowed us to let Microsoft know how we were consuming the API, which was helpful, as there were definitely some bumps along the way with this.  There were some minor changes to the API documentation based on our usage versus how they expected usage to happen. There were also some code changes that we had to make to better utilize this new API.  As I said before, this was truly a symbiotic relationship.

When we considered the Teams basic management we had implemented in the past, against the newly expanded management capabilities based on the Graph API, I decided to do a rip and replace of our Teams functionality.  We decided to remove Teams management from Autopilot right around the time that the V1 APIs went generally available (mid-Nov 2018).  We have worked very hard to get this feature back into the product as quickly as possible based on the extended abilities the API provides.  I’m happy to announce that we are in the final stages of Quality Assurance on Teams delegated administration and will be adding it back into Autopilot in the very near future.

All-new Teams Management

The new Teams management functionality in Autopilot allows organizations the ability to group Teams for delegated administration or configuration.  For example, I can group all of the Teams dedicated to the R&D Team and delegate the administration of those existing teams to a Development Manager.  That Development Manager could then create new teams in that “Team Group” as necessary without requiring a help desk ticket. Not only that, but they could also control membership to the Team as well as Team settings such as creating, updating, deletion of channels, tabs, apps, etc.…as well as archiving stagnant or non-used teams. The delegated administrator to this Team will not have any native rights to make these changes to other Teams or Channels (unless delegated), and all changes made will be tracked and audited by Autopilot.

In the past 6 months, we have gone from rudimentary PowerShell delegation of the basic functionality of Microsoft Teams to a fully managed role-based delegation that fully utilizes the new version 1 Graph API.  As we make our way into 2019, we will continue to follow the changes in Teams closely, as well as all the changes to the API in order to give our customers the best Teams management experience possible.

Want to find out more about our management capabilities for Microsoft Teams, Exchange, and Azure AD? You can information about our solution here, or contact us for a demo.