sp-dev-fx-webparts/samples/react-outlook-add-todo-task
luismanez b3983e2a3c Merge remote-tracking branch 'upstream/master' into react-outlook-add-todo-task 2020-10-16 09:28:38 +02:00
..
assets New sample Add ToDo Task from Email (Outlook) 2020-06-03 09:35:02 +02:00
config New sample Add ToDo Task from Email (Outlook) 2020-06-03 09:35:02 +02:00
officeAddin New sample Add ToDo Task from Email (Outlook) 2020-06-03 09:35:02 +02:00
src Task body with "Open in ourtlook" link 2020-10-16 09:23:02 +02:00
teams New sample Add ToDo Task from Email (Outlook) 2020-06-03 09:35:02 +02:00
.editorconfig New sample Add ToDo Task from Email (Outlook) 2020-06-03 09:35:02 +02:00
.gitignore New sample Add ToDo Task from Email (Outlook) 2020-06-03 09:35:02 +02:00
.yo-rc.json New sample Add ToDo Task from Email (Outlook) 2020-06-03 09:35:02 +02:00
README.md Merge remote-tracking branch 'upstream/master' into react-outlook-add-todo-task 2020-10-16 09:28:38 +02:00
gulpfile.js New sample Add ToDo Task from Email (Outlook) 2020-06-03 09:35:02 +02:00
package-lock.json New sample Add ToDo Task from Email (Outlook) 2020-06-03 09:35:02 +02:00
package.json New sample Add ToDo Task from Email (Outlook) 2020-06-03 09:35:02 +02:00
tsconfig.json New sample Add ToDo Task from Email (Outlook) 2020-06-03 09:35:02 +02:00
tslint.json New sample Add ToDo Task from Email (Outlook) 2020-06-03 09:35:02 +02:00

README.md

Create To Do Task from Email (Outlook Add in)

Summary

This web part allows us to create a new To Do task using the new ToDo MS Graph endpoint. If deployed as an Outlook Add In, the Task title comes from email subject. Let´s say this is similar to the OOTB "Flag" action, but here you can select the ToDo List where to store the Task, and you can modify the Title before adding it.

Create ToDo task

Graph To-Do Preview endpoints

As of today, To Do endpoint is not very well documented yet. It was presented in latest Build 2020. Here are some of the basic operations. You can get more information and see the Build session from this link: https://developer.microsoft.com/en-us/office/blogs/introducing-the-new-microsoft-graph-to-do-api/

Get lists

GET https://graph.microsoft.com/beta/me/todo/lists

Create new List

POST https://graph.microsoft.com/beta/me/todo/lists

{
  displayName: "My new List"
}

Get tasks in list

GET https://graph.microsoft.com/beta/me/todo/lists/{listId}/tasks

Create new Task in List

POST https://graph.microsoft.com/beta/me/todo/lists/{listId}/tasks

{
  "importance": "high",
  "status": "notStarted",
  "title": "New task to do",
  "body": {
    "content": "You have a new task to do",
    "contentType": "text"
  }
}

Used SharePoint Framework Version

SPFx v1.10.0

Solution

Solution Author(s)
react-outlook-add-todo-task Luis Mañez (MVP, ClearPeople, @luismanez)

Version history

Version Date Comments
1.0.0 Jun 3, 2020 Initial release
1.1.0 Sep 3, 2020 To Do item body coming from email body
1.2.0 Oct 16, 2020 To Do item body included a "open in outlook" link

Disclaimer

THIS CODE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.


Minimal Path to Awesome

  • clone repo
  • gulp bundle --ship
  • gulp package-solution --ship
  • deploy package to SharePoint App Catalog (check tenant deploy)
  • Using O365 CLI to configure MS Graph permissions to allow creating ToDo tasks
spo serviceprincipal grant add --resource "Microsoft Graph" --scope "Tasks.ReadWrite"

Features

This sample illustrates the following concepts on top of the SharePoint Framework:

  • New ToDo MS Graph endpoint
  • Using MSGraphClient
  • Outlook SPFx add-in
  • Using async / await for the async calls
  • FluentUI components