Microsoft To Do
Put your Microsoft To Do lists in a flow: add, update and complete tasks, check off steps and attach files with the action node, and fire a flow when a task is created, updated, completed or deleted with the trigger. The action node can also be handed to an AI Node as an AI toolkit.
Connect an account
Click Connect Microsoft To Do — in the node's credential picker or in Settings → Credentials — and sign in with Microsoft. A personal account (outlook.com, hotmail.com, live.com) and a work or school account both work. Microsoft asks you to allow HostWebhook to read, create, change and delete the account's To Do lists and tasks. One credential is one account, with all its lists.
- Work accounts whose organization requires an administrator to approve new apps show a request screen instead: an admin approves HostWebhook once, in Microsoft Entra.
- Revoking. Remove HostWebhook from
account.microsoft.com→ Privacy → Apps and services (personal) ormyapps.microsoft.com(work), and the credential stops working; Reconnect it from Settings → Credentials.
The action node
Eighteen operations, in four groups.
| Group | Operation | What it does | To Do |
|---|---|---|---|
| Tasks | Create task | With notes, a due date, a reminder, importance, categories and a link back to where it came from. | writes |
| Tasks | Get task | One task whole: its notes, dates, steps and links. | reads |
| Tasks | List tasks | The open, completed or all tasks of a list, optionally containing some words. | reads |
| Tasks | Update task | Only the fields you fill in change. Can remove the due date or the reminder. | writes |
| Tasks | Complete task | Marks it as done. | writes |
| Tasks | Reopen task | Marks a completed task as not done. | writes |
| Tasks | Delete task | With its steps and attachments. It doesn't come back. | deletes |
| Lists | List lists | Your lists with their IDs — the default one and the shared ones marked. | reads |
| Lists | Create list | A new list. | writes |
| Lists | Rename list | A new name for a list. | writes |
| Lists | Delete list | The list and every task in it. It doesn't come back. | deletes |
| Steps | Add step | A step on a task's checklist — already checked if you like. | writes |
| Steps | List steps | A task's steps, in order, and which are checked. | reads |
| Steps | Check step | Checks a step off — or unchecks it. | writes |
| Steps | Delete step | Removes a step. | deletes |
| Attachments | Add attachment | A file from the flow, under 3 MB. | writes |
| Attachments | List attachments | The files on a task: name, type and size. | reads |
| Attachments | Download attachment | A copy in HostWebhook, for the next node to attach, read or upload. | reads |
Every field takes a template: {{payload.name}} from a form, {{payload.id}} and {{payload.listId}} for the task that fired the Microsoft To Do trigger. Categories are comma-separated names.
Picking a list
In Microsoft To Do a task always lives in a list, so most operations ask for one. You pick it from the account's own lists — the default one (Tasks) is marked, and so are the shared ones. Left empty, the default list is used — except to rename or delete a list, which always need one picked. Refresh reloads the lists after you create one in To Do. To take it from the flow instead, choose Type an ID or a template under the list.
Due dates, reminders and time zones
A due date is a day — 2026-10-15 — because To Do keeps the day, not a time. A reminder is a date and time — 2026-10-15T09:00 — or pick either from the calendar next to the field. Both are read in the node's Time zone, which starts as your workspace's; a time that already carries its offset (…-06:00, …Z) keeps it. Keep the workspace zone the same as your To Do app's, so the due day you write is the day To Do shows.
What the node returns comes back the same way: the due date as a day, and the reminder in that zone with its offset — 2026-10-15T09:00:00-06:00.
The link back
Create task can put a link on the task — to the order, the ticket or the email it came from — with the text you choose. It shows on the task in To Do, and comes back in links when you read the task.
Attachments
Add attachment takes a file from the flow — {{payload._file}}, or one of an email's {{payload.attachments}} — under 3 MB, one per run. Download attachment keeps a copy in HostWebhook, up to your plan's file size, for the next node.
AI toolkit mode
Once the account is connected, the node asks for a Mode. AI toolkit turns it into sixteen tools that an AI Node — or an MCP client, through one of your MCP servers — calls by name. Adding and downloading attachments stay in single operation: they move files of the flow, and a model has none to pass.
| Tool | Arguments |
|---|---|
| create_microsoft_todo_task | list_id? · title · notes? · due_date? · reminder? · time_zone? · importance? · categories? · link_url? · link_title? |
| get_microsoft_todo_task | list_id? · task_id · time_zone? |
| list_microsoft_todo_tasks | list_id? · show? · search? · max_results? · time_zone? |
| update_microsoft_todo_task | list_id? · task_id · title? · notes? · due_date? · reminder? · status? · remove_due_date? · remove_reminder? · … |
| complete_microsoft_todo_task | list_id? · task_id |
| reopen_microsoft_todo_task | list_id? · task_id |
| delete_microsoft_todo_task | list_id? · task_id |
| list_microsoft_todo_lists | — |
| create_microsoft_todo_list | name |
| rename_microsoft_todo_list | list_id · name |
| delete_microsoft_todo_list | list_id |
| add_microsoft_todo_step | list_id? · task_id · name · checked? |
| list_microsoft_todo_steps | list_id? · task_id |
| check_microsoft_todo_step | list_id? · task_id · step_id · checked? |
| delete_microsoft_todo_step | list_id? · task_id · step_id |
| list_microsoft_todo_attachments | list_id? · task_id |
What you control
- Deleting starts blocked. Unblock
delete_microsoft_todo_task,delete_microsoft_todo_listordelete_microsoft_todo_stepin the node's tool list if the agent should have them. Any other tool can be blocked the same way — creating tasks, for an agent that should only read. - Lists. A tool called without
list_idworks on the default list;list_microsoft_todo_listsgives the model the others. - Characters per call sent to the model. 20,000 by default. Lists that don't fit are cut whole tasks at a time, with a
notesfield saying how many were left out.
Testing a tool
operation in their payload that names another tool is refused.{ "operation": "create_microsoft_todo_task", "title": "Call Sam about the proposal", "due_date": "2026-10-15" }The trigger
Pick a Microsoft To Do credential, the list to watch (from the account's lists), and what fires it — one or more of:
- Task created — a new task in the list.
- Task updated — its title, notes, due date, importance, a step added or checked off… A change you can't see doesn't fire it.
- Task completed — marked as done. It arrives once, as completed, not also as updated.
- Task deleted — removed from the list.
Optionally, only tasks whose title contains something (upper or lower case). The events and the title filter can change while the trigger is active; a different list needs Apply changes.
Activating subscribes to the list with Microsoft. Each notification carries a secret that belongs to this trigger, and HostWebhook checks it before reading anything. Each state of a task is delivered once, even when Microsoft sends several notifications for it. Deactivating deletes the subscription.
What the trigger sends downstream
The same task the action node's Get task returns, with what happened and the list in front — a flow reads {{payload.title}} the same way from either. Dates are in the workspace time zone:
{
"event": "completed",
"service": "microsoft_todo",
"deleted": false,
"list": "Tasks",
"id": "AQMkADAwATM0MDAAMS0yMDkyLWVjMzYtMDACLTAwCgBGAAAD",
"listId": "AQMkADAwATM0MDAAMS0yMDkyLWVjMzYtMDACLTAwCgAuAAAD",
"title": "Call Sam Rivera about the proposal",
"status": "completed",
"completed": true,
"importance": "high",
"notes": "Ask about the second-round dates.",
"dueDate": "2026-10-15",
"reminder": "2026-10-15T09:00:00-06:00",
"isReminderOn": true,
"completedDate": "2026-10-14",
"timeZone": "America/Mexico_City",
"categories": ["Clients"],
"hasAttachments": false,
"isRecurring": false,
"links": [{ "url": "https://crm.example.com/deals/4815", "title": "Deal #4815", "application": "HostWebhook" }],
"createdAt": "2026-10-12T15:04:05Z",
"lastModifiedAt": "2026-10-14T17:30:00Z",
"steps": [{ "name": "Send the deck", "checked": true }, { "name": "Agree on the dates", "checked": false }]
}A deleted task arrives with deleted: true. Microsoft only tells its ID, so the title is the one HostWebhook last knew — it remembers the list's tasks from the moment you activate, and every task it sees change. Its steps come as null.
Complete it, add a step or update it with the action node using {{payload.id}} and {{payload.listId}}.
Trying it out
The trigger's Test push reads the latest changed tasks of the list, applies your filters, and shows them exactly as a delivery will arrive — without running the flow. To see a real one, activate the trigger and add a task to that list: Microsoft usually notifies within a couple of minutes, and at most fifteen.
Good to know
Busy or throttled
Microsoft limits how fast one account can be called. When it answers that it is busy, the node waits the time it asks for (up to ten seconds) and tries once more before giving up with Microsoft's message.
Flagged email
To Do's Flagged email list is a view of the flagged messages in Outlook, not a list you can add tasks to, so it isn't offered in the list pickers.