Skip to main content

Office Delve and developing apps with Office Graph

Author by Steve Borgwardt

Recently I noticed a new button appear on the Office 365 global navigation bar called Delve which is starting to appear for most Office 365 customers that have the First Release setting turned to ON in the Office 365 admin service settings.

While Delve itself is pretty cool in the information it presents to the users in a ‘card-style’ format of documents they have worked on or shared with them, along with information that is relevant to them based on the work they are doing and the people they are engaging with. The real power is in the Office Graph that powers Delve and offers developers a powerful tool to help build more engaging experiences and apps.

Office Graph

Currently, Office Graph and Office Graph Query Language (GQL) are in prerelease and Microsoft currently provides a single page on how to use this new Office Graph against the SharePoint Online Search REST API.

I have also found a few great blog posts using this Graph Query Language to create Office Graph apps such as a blog post creating an Office Graph Explorer using a data-driven documents animated bubble graph and also a Delve clone with the cards of information, however it is actually using a content search web part and display templates allowing for more integration within other web part pages. Users that have access to Delve and have the ability to install apps in SharePoint in their tenant will definitely want to check out some apps already developed by Mavention and detailed in their blog post.

This is only the beginning as the Office Graph uses sophisticated machine learning on top of all the interactions you and your colleagues make with each other and content in Office 365. Currently it only seems to pick up content and interaction with SharePoint Online, OneDrive and Yammer, however it will also include content and interactions from Lync, Exchange email/attachments, and OneNote in the near future.

Developers will be able to easily leverage this new query language to create some interesting and new apps to extend the power of the Office graph. I can’t wait to see some of the apps that are developed using this platform over the next year.

One scenario I could see would be to query the Office Graph for a user’s calendar for upcoming meetings and return a card view with information related to this meeting topic across OneDrive, SharePoint and email from this user and the people with whom they are engaging, instead of trying to search through your different applications for documents related to this meeting or project.

The Office Graph and GQL treats users in Office 365 as ‘Actors’ which perform actions on other users and documents. This creates a connection or ‘Edge’ by the machine learning techniques to return the objects that match the actor criteria. The developer will provide the Actor and Actions in GQL format to the Office Graph, such as objects related to a different user (Actor) with a certain keyword in the title and the Office Graph returns the objects with ‘Edges’ allowing further refinement with sort options.

Developers will be interested in looking at the MSDN documentation for using the GQL query language against the SharePoint search REST API to see how the graph learns through the actions of users (‘actors’), ultimately generating a connection or ‘Edge’ which allows the developer to present and sort information based on the ‘EdgeTime’ (time) or ‘EdgeWeight’ (closeness) of the content between actors.

This is a very exciting offering from Microsoft and I am looking forward to see how developers leverage the new Office Graph to create compelling and exciting apps for users in Office 365.


Steve Borgwardt

Senior Application Developer