Microsoft Graph Mark Stafford, Graph PM • Graph, what and why

• 5 steps to your first Graph app

• App patterns

• 5 tips and tricks to become a Graph coder

• What’s new and roadmap Office 365 Your tailored experiences or customizations Enterprise Mobility + Security 1 billion 1 million 100 billion users across work, monthly active apps Microsoft Graph life and edu using Microsoft Identity requests per month

Your tailored experiences or customizations

18 trillion 90% 180 million Microsoft Graph nodes Fortune 500 monthly active users of Office 365 commercial Extend experiences Build your experience

Web Bots & Device Daemon Workflow Documents Conversations Portals Timeline Search Analytics apps agents & native apps automation apps

Microsoft Graph REST APIs and webhooks

Your local data Microsoft Graph Azure AI platform Microsoft Graph Connectors Office 365 Windows 10 Enterprise Mobility + Security data connect

Microsoft Identity Apps Web Native Bots Flows Automation Analytics

Auth

UX

Libraries

Capabilities

Microsoft Graph Microsoft Graph Connectors Interfaces REST APIs and Webhooks Data Connect

Data Microsoft 365 Your domain Apps Web Native Bots Flows Automation Analytics

Auth

UX

Libraries

Capabilities

Microsoft Graph Microsoft Graph Connectors Interfaces REST APIs and Webhooks Data Connect

Data Microsoft 365 Your domain Apps Web Native Bots Flows Automation Analytics

Auth

UX

Libraries

Capabilities

Microsoft Graph Microsoft Graph Connectors Interfaces REST APIs and Webhooks Data Connect

Data Microsoft 365 Your domain your

https://graph.microsoft.com

Office 365 Windows 10 Enterprise Mobility + Security

Users, Groups, Organizations Activities Azure AD Outlook Device Relay Intune SharePoint Commands Identity Manager OneDrive Advanced Threat Analytics Notifications Teams Advanced Threat Protection Planner Excel Dynamics 365 OneNote Business Central

Mail, Calendar, Channels, Messages Identity Management Administrative Units Alerts

Contacts and Tasks Tasks and Plans Access Control Applications and Devices Policies

Sites and Lists Spreadsheets Synchronization Advanced Threat Analytics and more…

Drives and Files Notes, and more… Domains Advanced Threat Protection 5 simple steps

https://aka.ms/ge

5 simple steps

https://aka.ms/ge

Example Scheduling app for Lost luggage helper New flight crew Flight crew analysis flight crew provisioning Auth Interactive user Device code App only App only Challenge Offline sync Limited real estate Throttling Security and privacy Decision Middle tier or no Bot or not How to get changes Where to unify data Ingredients Microsoft Graph Adaptive cards Azure Functions Microsoft Graph data toolkit bindings connect 5 tips and tricks

TIP 4 | Webhooks Delta query

Scenario Tips Why Same scenarios as before, Use webhook notifications as the Difficult to figure out optimal but if you need to trigger to make delta query calls polling interval optimize further… Put notifications in a queue for later processing Application https://graph.microsoft.com/v1.0

/{resource}/delta?$select=id,displayName

{“@odata.nextLink”:”https://graph.Microsoft.com/v1.0/{resource}/delta?$skipToken=ABC”, “value”:[{“id”:”1”,”displayName”:”foo”}, {“id”:”2”,”displayName”:”bar”}]}

https://graph.Microsoft.com/v1.0/{resource}/delta?$skipToken=ABC

{“@odata.deltaLink”:”https://graph.Microsoft.com/v1.0/{resource}/delta?$deltaToken=DEF”, “value”:[{“id”:”3”,”displayName”:”baz”}]}

https://graph.Microsoft.com/v1.0/{resource}/delta?$deltaToken=DEF

{“@odata.deltaLink”:”https://graph.Microsoft.com/v1.0/{resource}/delta?$deltaToken=XYZ”, “value”:[{“id”:”1”,”displayName”:”My data was updated”}]} TIP 5 |

Use least privilege!

Be thoughtful when configuring your app! Delegated Permissions Application Permissions

App type Mobile, Web and SPA Service and Daemon

Scenario Get access on behalf of users Get access as a service

Who can Users can consent Admin can consent Only admin consent for self for self or all users can consent

Permissions Effective Permissions App User’s granted to + granted to Permissions Permissions App User App

https://aka.ms/ConsentAndPermissions

Data sets

Generally Available ( /v1.0 ) Preview ( /beta )

Office 365 Office 365 Exchange (get schedule) Exchange (MIME messages, MIME item attachments, raw file SharePoint (get item analytics) attachments) Teams APIs SharePoint (security events webhooks) OneDrive (follow/unfollow documents, expiring links in EMS permissions API) Security (secure score) Teams (1:1 chat messages, shifts management) AAD (audit and sign in logs, identity providers, groups Connectors private preview naming policy, group based licensing APIs, nested membership expansion on groups, export personal data) EMS Security (Logic App/Flow/Power Apps connectors, Power BI Microsoft Graph data connect connector, Jupyter Notebooks, threat indicators, security actions) AAD (application sign-in reports, custom sign-up and sign-in policies in Azure AD B2C, risky user and history)

Dynamics Business Central (Financials) DevX Tooling

Generally Available Preview

SDK Releases Updated SDKs for Beta API .NET – Version 1.15 .NET Java – Version 1.3 Android Support PHP Java – Version 1.X lightweight core library (*new*) Typescript JavaScript – Version 1.6.0 Objective C – Version 1.0 (*new*) New SDK Features (across languages) Microsoft Graph Authentication Providers for MSAL New SDK Features (across languages) Retry and Redirect Support Microsoft Graph Toolkit Download decompression support Page iterator Task Postman collections Large File Upload Task Client Factory Docs Embedded try experience (coming soon) Docs SDK Getting started docs Code snippets in reference documentation (.NET, Java)

SDKs and Toolkit are all OSS on https://github.com/microsoftgraph

Extend Microsoft 365 experiences Build your experience

Web Bots & Device Daemon Workflow Documents Conversations Portals Timeline Search Analytics apps agents & native apps automation apps

Microsoft Graph REST APIs and webhooks

Your local data Microsoft Graph Azure AI platform Microsoft Graph Connectors Office 365 Windows 10 Enterprise Mobility + Security data connect

Microsoft Identity https://aka.ms/o365devprogram Office 365 Your tailored Windows 10 experiences or customizations Enterprise Mobility + Security

https://graph.microsoft.com Thank you! https://aka.ms/graph https://aka.ms/o365devprogram