Overview of social intelligence and analytics in Microsoft Graph
The hundreds of millions of users of Microsoft 365 cloud services form part of the core of Microsoft Graph. The users' data is carefully managed, protected, and with proper authorization, made available by Microsoft Graph services to drive productivity and creativity in businesses. As ubiquitous the user's data is in Microsoft Graph, data derived from the user's social interactions is particularly interesting. It provides intelligent insights that can answer questions such as the following:
- "Who should this user contact for information on this topic?"
- "Which documents are most interesting to this person?"
You can use the people API and insights API in Microsoft Graph to build smarter apps that can, respectively, access the relevant people and documents for a user.
The people API returns people ordered by relevance to a user, based on that user's contacts, social networks, organization directory, and recent communications on email and Skype. This is particularly useful for people-picking scenarios.
The insights API uses advanced analytics and machine learning to provide the most relevant files users need throughout their work day. The API powers familiar Office 365 experiences, including Office Delve, SharePoint Home, the Discover view in OneDrive for Business, and Outlook on the web.
Why integrate with people data?
The people API returns data of a single entity, person, which includes typical data of an individual in today's business world. What makes this person data especially useful is its relevance with respect to a Microsoft Graph user. Relevance is noted in a relevance score of each person, calculated based on the user's communication and collaboration patterns and business relationships. There are 3 main types of application of this relevance data.
Browse people by relevance
You can browse people who are related to the signed-in user or to some other user in the signed-in user's organization, provided you have got the appropriate authorization. You get a collection of person objects that are ordered by relevance. You can further customize the collection of person objects that is returned in the response by specifying the query parameters
Fuzzy searches based on people criteria
The people API lets you search for people relevant to the signed-in user, provided that your app has got permissions by that user. (Read more on people permissions.)
Fuzzy searches return results based on an exact match and also on inferences about the intent of the search. To illustrate this, the following example returns person objects relevant to the signed-in user whose name, or email address, contains a word that starts with 'j'.
Fuzzy searches based on topic criteria
The people API also lets you perform searches for people who are relevant to the signed-in user, and have expressed an interest in communicating with that user over certain "topics". Topics are just words that have been used most by users in email conversations. Microsoft extracts such words, free of their contexts, and creates an index for this data to facilitate fuzzy searches.
The following example illustrates inferences about the intent of a search on the topic "beetle":
A fuzzy search in the topic data index return instances that mean the beetle insect, the iconic Volkswagen Beetle car, the Beatles band, and other definitions.
Why integrate with document-based insights (preview)?
Use intelligence to improve collaboration
During a typical work day, users often interact with large amounts of information stored across many documents and collaborate with other users in many different ways. It's important that they can always can find what they need, when they need it.
You can use the insights API, which includes the trending, shared, and used APIs, to surface files from across Office 365 based on your users' current context and needs, making users more productive and improving collaboration in your organization.
It is easy to render the results from the insights API in your app. Every result comes with a set of common visualization properties, like a preview image URL or preview text.
Make relevant content visible
In Office 365, Delve uses the trending insight to help users discover the documents that are most interesting to them right now. See figure 1.
Programmatically, you can use the trending entity in the insights API to provide your app customers a similar experience. Use the trending entity to connect to documents that are trending around and relevant to the user. Listing trending documents returns those files stored on OneDrive or SharePoint team sites, sorted by relevance with the most important ones first.
Figure 1. Delve in Office 365 showing popular documents for a user
Allow users to collaborate and get back to work
The new Office 365 people cards tap into the used and shared insights to connect the dots between people and units of knowledge. The people card identifies and displays relevant documents about a person. Users can see people cards across the suite, for example, in Outlook on the web. See figure 2.
The insights API provides a similar functionality with the used and shared entities. They return what a user has been viewing or working on most recently, or what colleagues have shared with the user most recently in Office 365.
Figure 2. Outlook on the web showing a people card for a user
Looking for the API reference for these services?
- People API in Microsoft Graph v1.0
- API for social intelligence and analytics in Microsoft Graph beta
- Use the Graph Explorer to try out the people and insight APIs with your own files. Sign in, and choose Show more samples in the column on the left. Use the menu to turn on People and Insights (beta).
- Find more about the people API and the person entity.
- To get started with insights API, see Use the insights API.