productivity
Microsoft To Do CLI for AI Agents
Use the Microsoft To Do CLI from KosmoKrator to call Microsoft To Do tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Microsoft To Do CLI Setup
Microsoft To Do can be configured headlessly with `kosmokrator integrations:configure microsoft-todo`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure microsoft-todo --set access_token="$MICROSOFT_TODO_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor microsoft-todo --json
kosmokrator integrations:status --json Credentials
Authentication type: Manual OAuth token oauth2_manual_token. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
access_token | MICROSOFT_TODO_ACCESS_TOKEN | Secret secret | yes | Access Token |
url | MICROSOFT_TODO_URL | URL url | no | Microsoft Graph URL |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call microsoft-todo.todo_list_lists '{}' --json kosmo integrations:microsoft-todo todo_list_lists '{}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs microsoft-todo --json
kosmo integrations:docs microsoft-todo.todo_list_lists --json
kosmo integrations:schema microsoft-todo.todo_list_lists --json
kosmo integrations:search "Microsoft To Do" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
microsoft-todo.todo_list_lists
List all Microsoft To Do task lists for the authenticated user. Returns the list ID, display name, and well-known name for each list.
read - Parameters
- none
kosmo integrations:call microsoft-todo.todo_list_lists '{}' --json kosmo integrations:microsoft-todo todo_list_lists '{}' --json microsoft-todo.todo_get_list
Get a specific Microsoft To Do task list by its ID. Returns the list details including display name and well-known name.
read - Parameters
- id
kosmo integrations:call microsoft-todo.todo_get_list '{"id":"example_id"}' --json kosmo integrations:microsoft-todo todo_get_list '{"id":"example_id"}' --json microsoft-todo.todo_create_list
Create a new Microsoft To Do task list. Provide a display name for the list.
write - Parameters
- display_name
kosmo integrations:call microsoft-todo.todo_create_list '{"display_name":"example_display_name"}' --json kosmo integrations:microsoft-todo todo_create_list '{"display_name":"example_display_name"}' --json microsoft-todo.todo_list_tasks
List all tasks in a Microsoft To Do task list. Returns task titles, statuses, body content, and due dates.
read - Parameters
- list_id
kosmo integrations:call microsoft-todo.todo_list_tasks '{"list_id":"example_list_id"}' --json kosmo integrations:microsoft-todo todo_list_tasks '{"list_id":"example_list_id"}' --json microsoft-todo.todo_get_task
Get a specific task from a Microsoft To Do task list by its ID. Returns full task details including title, body, status, due date, and importance.
read - Parameters
- list_id, id
kosmo integrations:call microsoft-todo.todo_get_task '{"list_id":"example_list_id","id":"example_id"}' --json kosmo integrations:microsoft-todo todo_get_task '{"list_id":"example_list_id","id":"example_id"}' --json microsoft-todo.todo_create_task
Create a new task in a Microsoft To Do task list. Provide a title, and optionally a body and due date.
write - Parameters
- list_id, title, body, due_date, due_timezone
kosmo integrations:call microsoft-todo.todo_create_task '{"list_id":"example_list_id","title":"example_title","body":"example_body","due_date":"example_due_date","due_timezone":"example_due_timezone"}' --json kosmo integrations:microsoft-todo todo_create_task '{"list_id":"example_list_id","title":"example_title","body":"example_body","due_date":"example_due_date","due_timezone":"example_due_timezone"}' --json microsoft-todo.todo_get_current_user
Get the authenticated Microsoft user profile. Returns display name, email, and other account details. Useful for verifying which account is connected.
read - Parameters
- none
kosmo integrations:call microsoft-todo.todo_get_current_user '{}' --json kosmo integrations:microsoft-todo todo_get_current_user '{}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
microsoft-todo.todo_list_lists 0 parameters
kosmo integrations:schema microsoft-todo.todo_list_lists --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
microsoft-todo.todo_get_list 1 parameters
kosmo integrations:schema microsoft-todo.todo_get_list --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The unique identifier of the todo task list. |
microsoft-todo.todo_create_list 1 parameters
kosmo integrations:schema microsoft-todo.todo_create_list --json | Parameter | Type | Required | Description |
|---|---|---|---|
display_name | string | yes | The name of the new task list (e.g., "Shopping List", "Work Tasks"). |
microsoft-todo.todo_list_tasks 1 parameters
kosmo integrations:schema microsoft-todo.todo_list_tasks --json | Parameter | Type | Required | Description |
|---|---|---|---|
list_id | string | yes | The unique identifier of the todo task list. |
microsoft-todo.todo_get_task 2 parameters
kosmo integrations:schema microsoft-todo.todo_get_task --json | Parameter | Type | Required | Description |
|---|---|---|---|
list_id | string | yes | The unique identifier of the todo task list. |
id | string | yes | The unique identifier of the task. |
microsoft-todo.todo_create_task 5 parameters
kosmo integrations:schema microsoft-todo.todo_create_task --json | Parameter | Type | Required | Description |
|---|---|---|---|
list_id | string | yes | The unique identifier of the todo task list to add the task to. |
title | string | yes | The title of the task (e.g., "Buy groceries"). |
body | string | no | Optional body/content text for the task. |
due_date | string | no | Optional due date in ISO 8601 format (e.g., "2026-04-30T00:00:00"). |
due_timezone | string | no | Timezone for the due date (e.g., "UTC", "Europe/Amsterdam"). Defaults to "UTC". |
microsoft-todo.todo_get_current_user 0 parameters
kosmo integrations:schema microsoft-todo.todo_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.