SlideShare a Scribd company logo
Microsoft Graph
Community Call
April 3, 2018
8:00 AM PST
• https://aka.ms/microsoftgraphcall
• Monthly cadence
• Next call: May 1, 2018
• What’s new & how you can use it
• Meet the product teams behind Microsoft Graph
• Technical deep dives
• Q&A
Call agenda
• Excel APIs in Microsoft Graph
• Bot integration
• Community samples
Yina Arenas
@yina_arenas
Sudhi Ramamurthy
@rsudhi
Gavin Barron
@gavinbarron
Andrew Connell
@andrewconnell
Microsoft Graph
Overview
Users Groups Outlook OneNote more…SharePoint IntuneTeams Azure ADPlanner Excel
https://graph.microsoft.com
Your app
Access user, group and organizational data
/v1.0 /beta
/users /groups /sites /drives /devices more…
/users/yina
/users/yina/department
/users/yina/events
/users/yina/events?$top=5
$select $orderby
$filter $expand
$top $skip $skiptoken
/{version} ?{query-parameters}/{resource}/{id}/{property}
Operation Service endpoint
GET my profile https://graph.microsoft.com/v1.0/me
GET my files https://graph.microsoft.com/v1.0/me/drive/root/children
GET my photo https://graph.microsoft.com/v1.0/me/photo/$value
GET my mail https://graph.microsoft.com/v1.0/me/messages
GET my calendar https://graph.microsoft.com/v1.0/me/calendar
GET my manager https://graph.microsoft.com/v1.0/me/manager
GET last user to modify file foo.txt https://graph.microsoft.com/v1.0/me/drive/root/children/foo.txt/lastModifiedByUser
GET users in my organization https://graph.microsoft.com/v1.0/users
GET group conversations https://graph.microsoft.com/v1.0/groups/<id>/conversations
GET people related to me https://graph.microsoft.com/v1.0/me/people
GET my tasks https://graph.microsoft.com/beta/me/tasks
GET my notes https://graph.microsoft.com/beta/me/notes/notebooks
GET files trending around me https://graph.microsoft.com/beta/me/insights/trending
… more
https://graph.microsoft.com
What’s new in
Microsoft Graph
Out of Office​
Set your out-of-office message and date ranges, and optionally send an invite to your most relevant contacts and
clear your calendar for the duration of your absence.​
Shout-outs​
Encourage coworkers to share job-related compliments, including automated email notifications sent to recipients’
managers. ​
Book a Room​
Quickly find work spaces for meetings—filter by date, time, and location until you find the perfect spot. Reserve with
the tap of a button.​
Onboarding Tasks​
Allows new team members to update their Office 365 user profile, view an onboarding checklist, see their team and
access links to team content.​
Leave Request​ Submit a vacation request for manager approval. Select date ranges, add notes and manage your time off. ​
Quick Task​
Triage your Outlook emails quickly into plans in Planner. Watch a distribution list and assign tasks - perfect for a
service desk or customer inbox.​
Meeting Capture​
An all-in-one meeting capture tool. View meeting details, capture notes and pictures of whiteboards, assign tasks and
send to all meeting attendees in one click.​
Company Pulse​
Browse a feed of custom company news (based in SharePoint) augmented with Exchange, Twitter, Yammer and
trending relevant documents.​
360 Meeting Prep​
Prepare for your upcoming meetings by viewing information about attendees, historical communication in Outlook,
and customer accounts in Dynamics CRM. Take action by adding contacts and opportunities to Dynamics CRM. ​
Estimator Pro​ Use this form to gather details, products and costs from a scheduled appointment. Send a summary in an email. ​
'RelevantPeople' retrieves the top 10 most relevant people to the signed- in user or a selected user​
FindRooms retrieves rooms in signed- in user's tenant​
FindRoomsLists retrieves room lists (if any) in signed in user's tenant​
FindMeetingTimes retreives future meeting time suggestions based on the availability of user requested attendees​
UpdateUserProfile allows user to update their O365 profile​
UpdateUserPhoto allows user to update their profile photo​
RelevantDocuments retrieves a list of documents trending around the signed in user or a selected user​
CreateBucket create a bucket in planner​
https://powerapps.microsoft.com/blog/category/templates/
https://bit.ly/2umr59h
Focus topics
Excel REST APIs in Microsoft Graph
Sudhi Ramamurthy
Office Platform
Bring Excel's productivity to your modern apps and add-ins.
.
Add-ins and Custom Functions REST APIs
 Available over Microsoft Graph
 Cloud friendly workbook read/write
 Uses open standards- REST, JSON, Oauth2
Microsoft Graph Endpoint
Web app | Mobile App | Bots
Oauth 2.0
 Web app running inside Office application
 Multi-platform: Win32, online, Mac, iOS
 Corporate and store deployment
We provide Excel Office-js JS library to enable this technology.
Connect the power of Excel with web and mobile apps
Microsoft Graph community call - April, 2018
workbook/worksheets
POST /me/drive/root:/book1.xlsx:/workbook/createSession
{
"id": "cluster=US1&session=..",
"persistChanges": true
}
GET /me/drive/root:/book1.xlsx:/workbook/worksheets?$select=id,name
Workbook-Session-Id: cluster=US1&session=..
"value" : [
{"id": "{00000000-0001-0000-0000-000000000000}", "name": "Sheet1"},
{"id": "{00000000-0002-0000-0000-000000000000}", "name": "Sheet2"},
]
POST /me/drive/root:/book1.xlsx:/workbook/functions/pmt
Workbook-Session-Id: cluster=US1&session=..
{ "rate": 0.035, "nper": 20, "pv": -2000}
{
"value": 140.722153566052
}
Microsoft Graph community call - April, 2018
Scenario showcase
Bots, Azure Functions and
Microsoft Graph
Gavin Barron
Intergen
Microsoft Graph community call - April, 2018
Bot that
talks to
user
Azure
Queue
Azure
Function
Microsoft
Graph
Microsoft Graph community call - April, 2018
Community Samples
Andrew Connell
Voitanos
https://github.com/microsoftgraph/msgraph-community-samples
Community contributions
5 powerful Microsoft Graph use cases
Manage-AzureAppRegistration: Using Graph via PowerShell
to create a native Azure app registration for PowerShell to access Graph
Useful things to do with Microsoft Graph API Teams Operations
Harvesting your SharePoint site collections
Troubleshooting assistance with Microsoft Graph API Development
Helper function to retrieve the ID of a SharePoint Online document
library from the Microsoft Graph
Consuming SharePoint Online via the Microsoft Graph
Understanding Microsoft Graph Webhooks
https://aka.ms/OfficeDevYouTube
https://aka.ms/GraphCallQuestions
https://aka.ms/MicrosoftGraphCall
Q&A
Microsoft Graph community call - April, 2018
Microsoft Graph community call - April, 2018

More Related Content

Microsoft Graph community call - April, 2018

  • 2. • https://aka.ms/microsoftgraphcall • Monthly cadence • Next call: May 1, 2018 • What’s new & how you can use it • Meet the product teams behind Microsoft Graph • Technical deep dives • Q&A
  • 3. Call agenda • Excel APIs in Microsoft Graph • Bot integration • Community samples
  • 4. Yina Arenas @yina_arenas Sudhi Ramamurthy @rsudhi Gavin Barron @gavinbarron Andrew Connell @andrewconnell
  • 6. Users Groups Outlook OneNote more…SharePoint IntuneTeams Azure ADPlanner Excel https://graph.microsoft.com Your app Access user, group and organizational data
  • 7. /v1.0 /beta /users /groups /sites /drives /devices more… /users/yina /users/yina/department /users/yina/events /users/yina/events?$top=5 $select $orderby $filter $expand $top $skip $skiptoken /{version} ?{query-parameters}/{resource}/{id}/{property}
  • 8. Operation Service endpoint GET my profile https://graph.microsoft.com/v1.0/me GET my files https://graph.microsoft.com/v1.0/me/drive/root/children GET my photo https://graph.microsoft.com/v1.0/me/photo/$value GET my mail https://graph.microsoft.com/v1.0/me/messages GET my calendar https://graph.microsoft.com/v1.0/me/calendar GET my manager https://graph.microsoft.com/v1.0/me/manager GET last user to modify file foo.txt https://graph.microsoft.com/v1.0/me/drive/root/children/foo.txt/lastModifiedByUser GET users in my organization https://graph.microsoft.com/v1.0/users GET group conversations https://graph.microsoft.com/v1.0/groups/<id>/conversations GET people related to me https://graph.microsoft.com/v1.0/me/people GET my tasks https://graph.microsoft.com/beta/me/tasks GET my notes https://graph.microsoft.com/beta/me/notes/notebooks GET files trending around me https://graph.microsoft.com/beta/me/insights/trending … more https://graph.microsoft.com
  • 10. Out of Office​ Set your out-of-office message and date ranges, and optionally send an invite to your most relevant contacts and clear your calendar for the duration of your absence.​ Shout-outs​ Encourage coworkers to share job-related compliments, including automated email notifications sent to recipients’ managers. ​ Book a Room​ Quickly find work spaces for meetings—filter by date, time, and location until you find the perfect spot. Reserve with the tap of a button.​ Onboarding Tasks​ Allows new team members to update their Office 365 user profile, view an onboarding checklist, see their team and access links to team content.​ Leave Request​ Submit a vacation request for manager approval. Select date ranges, add notes and manage your time off. ​ Quick Task​ Triage your Outlook emails quickly into plans in Planner. Watch a distribution list and assign tasks - perfect for a service desk or customer inbox.​ Meeting Capture​ An all-in-one meeting capture tool. View meeting details, capture notes and pictures of whiteboards, assign tasks and send to all meeting attendees in one click.​ Company Pulse​ Browse a feed of custom company news (based in SharePoint) augmented with Exchange, Twitter, Yammer and trending relevant documents.​ 360 Meeting Prep​ Prepare for your upcoming meetings by viewing information about attendees, historical communication in Outlook, and customer accounts in Dynamics CRM. Take action by adding contacts and opportunities to Dynamics CRM. ​ Estimator Pro​ Use this form to gather details, products and costs from a scheduled appointment. Send a summary in an email. ​
  • 11. 'RelevantPeople' retrieves the top 10 most relevant people to the signed- in user or a selected user​ FindRooms retrieves rooms in signed- in user's tenant​ FindRoomsLists retrieves room lists (if any) in signed in user's tenant​ FindMeetingTimes retreives future meeting time suggestions based on the availability of user requested attendees​ UpdateUserProfile allows user to update their O365 profile​ UpdateUserPhoto allows user to update their profile photo​ RelevantDocuments retrieves a list of documents trending around the signed in user or a selected user​ CreateBucket create a bucket in planner​ https://powerapps.microsoft.com/blog/category/templates/
  • 14. Excel REST APIs in Microsoft Graph Sudhi Ramamurthy Office Platform
  • 15. Bring Excel's productivity to your modern apps and add-ins. .
  • 16. Add-ins and Custom Functions REST APIs  Available over Microsoft Graph  Cloud friendly workbook read/write  Uses open standards- REST, JSON, Oauth2 Microsoft Graph Endpoint Web app | Mobile App | Bots Oauth 2.0  Web app running inside Office application  Multi-platform: Win32, online, Mac, iOS  Corporate and store deployment We provide Excel Office-js JS library to enable this technology.
  • 17. Connect the power of Excel with web and mobile apps
  • 20. POST /me/drive/root:/book1.xlsx:/workbook/createSession { "id": "cluster=US1&session=..", "persistChanges": true } GET /me/drive/root:/book1.xlsx:/workbook/worksheets?$select=id,name Workbook-Session-Id: cluster=US1&session=.. "value" : [ {"id": "{00000000-0001-0000-0000-000000000000}", "name": "Sheet1"}, {"id": "{00000000-0002-0000-0000-000000000000}", "name": "Sheet2"}, ] POST /me/drive/root:/book1.xlsx:/workbook/functions/pmt Workbook-Session-Id: cluster=US1&session=.. { "rate": 0.035, "nper": 20, "pv": -2000} { "value": 140.722153566052 }
  • 22. Scenario showcase Bots, Azure Functions and Microsoft Graph Gavin Barron Intergen
  • 29. 5 powerful Microsoft Graph use cases Manage-AzureAppRegistration: Using Graph via PowerShell to create a native Azure app registration for PowerShell to access Graph Useful things to do with Microsoft Graph API Teams Operations Harvesting your SharePoint site collections Troubleshooting assistance with Microsoft Graph API Development Helper function to retrieve the ID of a SharePoint Online document library from the Microsoft Graph Consuming SharePoint Online via the Microsoft Graph Understanding Microsoft Graph Webhooks
  • 31. Q&A