This site is obsolete and should be used for reference only. The information in this documentation is not guaranteed to work for Bot Framework SDK versions past 4.9.1.

To Do Skill

Add task management capabilities to your Assistant. Powered by Microsoft Graph.

Supported scenarios

The following scenarios are currently supported by the Skill:

  • Add a Task
    • Add some items to the shopping notes
    • Put milk on my grocery list
    • Create task to meet Leon after 5:00 PM
  • Find Tasks
    • What tasks do I have
    • Browse my groceries
    • Show my to do list
  • Delete Tasks
    • Remove salad vegetables from my grocery list
    • Remove my to do to pick up Tom at 6 AM
    • Remove all tasks
  • Mark Tasks as Complete
    • Mark the task get some food as complete
    • Task completed reserve a restaurant
    • Check off bananas on my grocery list

Language Understanding

LUIS models for the Skill are provided in .lu file format as part of the Skill. Further languages are being prioritized.

Supported Languages
Chinese (simplified)


Name Description
AddToDo Matches queries to add To Do items to a list
ShowToDo Matches queries to show To Do items or lists
MarkToDo Matches queries to toggle a To Do item
DeleteToDo Matches queries to delete a To Do item


Name Description
ContainsAll Simple entity matching a query specifying “all”
FoodOfGrocery List entity matching grocery items
ListType Simple entity matching lists like “grocery”, “shopping”, etc.
ShopContent Pattern.any entity
ShopVerb List entity matching verbs like “buy”, “purchase”, etc.
TaskContentML Simple entity matching complex items on a To Do list
TaskContentPattern Pattern.any
number Prebuilt entity
ordinal Prebuilt entity



Learn how to provision your Azure resources in the Create a Skill tutorial.

Supported content providers

Office 365 and through the Microsoft Graph is supported at this time.

Authentication connection settings

This skill uses the following authentication scopes:

  • Notes.ReadWrite
  • User.Read
  • User.ReadBasic.All
  • Tasks.ReadWrite
  • Mail.Send

You must use these steps to manually configure Authentication for the ToDo Skill. Due to a change in the Skill architecture this is not currently automated.

Ensure you configure all of the scopes detailed above.

Add customized to do lists

If you want to add your customized list types, for example, your homework list or movie list, please follow these steps:

  1. Add your list type to appsettings.json

     "customizeListTypes": [
  2. Add your list type name and its synonym in Responses/Shared/ToDoString.resx

    Name Value
    Homework Homework
    HomeworkSynonym homework, home work
  3. Modify your LUIS file. Modify Deployment/Resources/LU/en/ so that your LUIS app can tell these new ListType entities. You can provide more utterance to make your LUIS model perform better.

     ## AddToDo
     + - add {TaskContent=History} to my {ListType=homework} list
     + - add {TaskContent=Math} to my {ListType=homework}

    (Optional) If you want to support multiple languages, please modify corresponding .resx files and .lu files, such as Deployment/Resources/LU/zh/

     ## AddToDo
     + - 在{ListType=作业}列表里加上{TaskContent=数学}

    (Optional) After you add new list type, you can modify prompts as needed to make your conversation more friendly. For example, you can modify Responses/Main/ToDoMainResponses.json:

     "ToDoWelcomeMessage": {
         "replies": [
     +       "text": "Hi. I'm To Do bot. I can help you manage your To Do, Shopping, Grocery or Homework list."
     -       "text": "Hi. I'm To Do bot. I can help you manage your To Do, Shopping or Grocery list."
  4. Redeploy your To Do Skill.

Download a transcript