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.

ℹOnly To Do. It is its own connection: the Outlook and Outlook Calendar credentials don't work here, and this one doesn't reach the mailbox or the calendar. Each Microsoft 365 service is connected on its own, with its own consent.
  • 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) or myapps.microsoft.com (work), and the credential stops working; Reconnect it from Settings → Credentials.

The action node

Eighteen operations, in four groups.

GroupOperationWhat it doesTo Do
TasksCreate taskWith notes, a due date, a reminder, importance, categories and a link back to where it came from.writes
TasksGet taskOne task whole: its notes, dates, steps and links.reads
TasksList tasksThe open, completed or all tasks of a list, optionally containing some words.reads
TasksUpdate taskOnly the fields you fill in change. Can remove the due date or the reminder.writes
TasksComplete taskMarks it as done.writes
TasksReopen taskMarks a completed task as not done.writes
TasksDelete taskWith its steps and attachments. It doesn't come back.deletes
ListsList listsYour lists with their IDs — the default one and the shared ones marked.reads
ListsCreate listA new list.writes
ListsRename listA new name for a list.writes
ListsDelete listThe list and every task in it. It doesn't come back.deletes
StepsAdd stepA step on a task's checklist — already checked if you like.writes
StepsList stepsA task's steps, in order, and which are checked.reads
StepsCheck stepChecks a step off — or unchecks it.writes
StepsDelete stepRemoves a step.deletes
AttachmentsAdd attachmentA file from the flow, under 3 MB.writes
AttachmentsList attachmentsThe files on a task: name, type and size.reads
AttachmentsDownload attachmentA 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.

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.

⚠Deleting a task, a list or a step happens for real on every run — Run test included — and To Do can't bring it back from here. Point the first tests at a list made for testing.

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.

ToolArguments
create_microsoft_todo_tasklist_id? · title · notes? · due_date? · reminder? · time_zone? · importance? · categories? · link_url? · link_title?
get_microsoft_todo_tasklist_id? · task_id · time_zone?
list_microsoft_todo_taskslist_id? · show? · search? · max_results? · time_zone?
update_microsoft_todo_tasklist_id? · task_id · title? · notes? · due_date? · reminder? · status? · remove_due_date? · remove_reminder? · …
complete_microsoft_todo_tasklist_id? · task_id
reopen_microsoft_todo_tasklist_id? · task_id
delete_microsoft_todo_tasklist_id? · task_id
list_microsoft_todo_lists—
create_microsoft_todo_listname
rename_microsoft_todo_listlist_id · name
delete_microsoft_todo_listlist_id
add_microsoft_todo_steplist_id? · task_id · name · checked?
list_microsoft_todo_stepslist_id? · task_id
check_microsoft_todo_steplist_id? · task_id · step_id · checked?
delete_microsoft_todo_steplist_id? · task_id · step_id
list_microsoft_todo_attachmentslist_id? · task_id

What you control

  • Deleting starts blocked. Unblock delete_microsoft_todo_task, delete_microsoft_todo_list or delete_microsoft_todo_step in 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_id works on the default list; list_microsoft_todo_lists gives 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 notes field saying how many were left out.

Testing a tool

⚠Only a tool call picks the tool. In AI toolkit mode, only an AI Node, an MCP client or a voice agent chooses which tool the node runs. Run Test, a flow or a webhook run the operation saved on the node: an operation in their payload that names another tool is refused.
✦To try a tool, call it from an AI Node or from an MCP client. Its arguments look like this:
jsonA tool call
{ "operation": "create_microsoft_todo_task", "title": "Call Sam about the proposal", "due_date": "2026-10-15" }
⚠A node in toolkit mode is not part of the pipeline. Events arriving through connections made before you switched are refused — the node only runs the tool it is asked for.

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.

ℹMicrosoft's subscriptions to To Do expire in under three days. HostWebhook renews them on its own every night. If Microsoft removes one or reports that notifications were missed, HostWebhook creates a new one and delivers the tasks that changed in between — without repeating any. Tasks deleted in that window can't be recovered.

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.