An unofficial solution to export all of your data such as lists, tasks, and attachments from Microsoft To Do.
- Export into the Todoist CSV import format
- Export all data into JSON
- Retrieve all lists and tasks, including completed tasks
- Includes notes and sub-tasks in exports
- Retrieve all or task-specific attachments
- Raw data output for piping into other tools
- Token can be specified either as an environment variable, in a file, or as an input parameter
mstodopackage that handles all retrieval interactions for Microsoft To Dotodoistcsvpackage that implements the Todoist CSV import format and all of its typesSuperProductivitypackage that implements the SuperProductivity import formatmstodo-to-todoistcsvpackage that converts a Microsoft To Do list of tasks into a Todoist CSV import format
- Todoist CSV
- JSON
- Generic CSV
- SuperProductivity (WARNING: The export overrides any current state)
If there is an export format you want me to add, feel free to create an issue suggesting a format.
If you already have Go installed, you can install it directly by running:
go install github.com/daylamtayari/Microsoft-To-Do-Export@latestDownload the appropriate binary for your system (Windows, MacOS, or Linux) from the releases page: https://github.com/daylamtayari/Microsoft-To-Do-Export/releases
$ Microsoft-To-Do-Export --help
Microsoft To Do Export
Usage:
Microsoft-To-Do-Export [command]
Available Commands:
attachment Retrieve task attachment
completion Generate the autocompletion script for the specified shell
export Export task lists
help Help about any command
list List task lists
version Retrieve program version
Flags:
--debug Enable debug logging
-h, --help help for Microsoft-To-Do-Export
-t, --token string Token value
--token-file string File containing token
Use "Microsoft-To-Do-Export [command] --help" for more information about a command.
A Microsoft Graph API token is required to use this program.
To retrieve it perform the following steps:
- Go to Microsoft's Graph API Explorer: https://developer.microsoft.com/en-us/graph/graph-explorer
- Sign in with the account that you want to retrieve the tasks from
- Select the
my To Do task listsoption - Click the
Modify permissionstab and consent to theTasks.ReadWritepermission - Navigate to the
Access tokentab and copy the access token
You can pass your token any of the following ways:
- Pass it directly using the
--token YOURTOKENflag - Store it in a file and specify the file in the
--token-file YOURTOKEN.FILEflag - Set it to be the
MSTODO_EXPORT_TOKENenvironment variable:export MSTODO_EXPORT_TOKEN=YOURTOKEN
# Example command:
$ Microsoft-To-Do-Export export --output myexport.csv --type todoist
$ Microsoft-To-Do-Export export --help
Export task lists
Usage:
Microsoft-To-Do-Export export [flags]
Flags:
--completed Include completed tasks (NOTE: IF USING TODOIST EXPORT TYPE, TODOIST'S IMPORT FORMAT HAS NO WAY OF MARKING A TASK AS
COMPLETED SO THIS WILL RESULT IN ALL TASKS MARKED AS UNCOMPLETED)
-h, --help help for export
-o, --output string Output file name (default "mstodo_export.{file_type}")
-r, --raw Output to stdout instead of a file and no table
--type string Output type (accepted values: 'json', 'todoist', 'csv') (default "json")
Global Flags:
--debug Enable debug logging
-t, --token string Token value
--token-file string File containing token
# Example command exporting of all attachments, including from completed tasks:
$ Microsoft-To-Do-Export attachment --all --completed --output todo_attachments
# Example command exporting all attachments from a single task:
$ Microsoft-To-Do-Export attachment --list LISTID --task TASKID --output task_attachmentsFor any assistance or feature requests, please create an issue on the GitHub page.
This project is licensed under GPL v3.0.
The complete license: LICENSE.
For more details, please check out the official page: https://www.gnu.org/licenses/gpl-3.0.en.html
This project is in no way affiliated with Microsoft and Todoist, and their respective affiliates.