Exploring the Microsoft Graph


app developmenthack productivity hackathonmicrosoft graphoffice 365office add insoffice appsproductivitysharepoint add ins

While researching ideas and how-tos for the Hack Productivity hackathon, I have continuously asked the question, how can I unlock the productivity power of Office 365? For example, how would it be possible to implement my productivity processes into Office 365 which is such a large system with so many elements? There is only one answer, the Microsoft Graph. I have already gone over the opportunities for development with Office 365 in this post. Now let’s get started exploring the Microsoft Graph. However, we should review how it was before the creation of the MS Graph.

The Past Was Not So Great

Before the creation of the Microsoft Graph, every service had a separate endpoint to interact with the data. Office 365 is a vast platform, and there was an endpoint for SharePoint, Exchange, OneDrive, OneNote, etc. Essentially, a developer would need to build a wrapper for each API that connected each service. It was a headache. To compound the nonsense personal and business accounts authenticated against different endpoints. Clearly, a unified Graph endpoint was necessary. This leads me to the present.

old office 365 endpoints

The Present is Far Greater (and Improving)

Nowadays, we have a single API to call for each service including, authentication for personal and business accounts. As with any API, the Graph is versioned and allows for testing against the beta version. Let’s look at the service, as of 10/16/2017, what services are available in production and beta.

new microsoft graph

Services by Version

The documentation provides all the details you need. But here is a list for reference. Note that the beta services list is additive and includes everything in the production list.

Production Services

  • Users
  • Groups
  • Azure Active Directory
  • Excel
  • OneDrive
  • OneNote
  • Outlook (calendar and email)
  • People
  • Personal contacts
  • Planner
  • SharePoint
  • Webhooks

Beta Services

  • Intune
  • Teams
  • Organizational contacts
  • Outlook tasks
  • People and social
  • Project Rome
  • Reports

Where Do CAN We Go From Here

As the graph keeps improving, possibilities become more realizable. I have been working with the Graph since it was announced and have been waiting on SharePoint Lists. For example, I do everything in Office 365, including blogging. However, I wanted to create a blogging application that exposed specific blog posts from the legacy SharePoint lists blog. Trying to do this before the Microsoft Graph was possible but too much unnecessary work. Although, doing this now would be pointless because Delve is the new SharePoint blogging platform. That is just one example. It is clear the potential that the Microsoft Graph enables.

Exploring the Microsoft Graph

Microsoft has done a great job providing documentation and samples for exploring the Microsoft Graph. Check out the Graph Explorer to get a hands-on feel. It’s like using Fiddler, but with the all the calls preconfigured. Another great resource is the growing list of samples on GitHub. Already an ASP.NET developer? Check out the ASP.NET Samples.


This concludes exploring the Microsoft Graph. Albeit, the exploration is very high-level, but it is enough to get an understanding of what services the Graph provides. This was intended to be a high-level introduction the Microsoft Graph and expect to dive deeper into solving actual problems using the Graph and ASP.NET Core in future posts. Happy coding!