Resources · n8n integration

Microsoft To Do n8n integrationAutomate Microsoft To Do with n8n.

Can a workflow really run Microsoft To Do end to end? Close to it. The Microsoft To Do n8n integration covers 15 operations across 3 resources: lists, tasks and the links that tie a task back to its source. There is no trigger node here, so another step starts the run.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the Microsoft To Do n8n integration actually cover?

The Microsoft To Do n8n integration is one app node, n8n-nodes-base.microsoftToDo, that reaches the Microsoft Graph endpoints behind To Do using your own OAuth2 credential. It groups 15 operations under 3 resources: List for the task lists, Task for the items inside them, and Linked Resource for the pointers that send a task back to the record it came from.

A shared inbox that turns into a list. An email step feeds Create a task with a Subject and a Due date, and the request lands in the right list instead of somebody's memory. Pair it with Gmail and the sender details ride along in the Content field, so whoever opens the task has the context already.

A Monday plan built from a spreadsheet. A schedule step reads the week's rows from Google Sheets, Create a list opens a fresh list, and one Create a task runs per row. At the end of the week, Get many tasks with Return All pulls everything back and a summary goes to Slack.

Tasks that remember where they came from. Create a linked resource attaches an Application Name and a Web URL to a task, so a card opened from ClickUp or a ticket from Jira Software stays one click away. The External ID field keeps the source identifier, which makes the reverse lookup easy later.

Some things sit outside the node. It exposes those 15 operations and nothing more, so an endpoint the node does not cover needs the HTTP Request node, which calls any To Do endpoint while reusing the same Microsoft credential through predefined authentication. That fallback is the normal answer, not a workaround.

Two limits are worth knowing before you build. There is no To Do trigger in n8n, so a workflow always starts elsewhere: a Schedule Trigger on a fixed interval, an n8n Webhook called by another service, or the trigger of another app. And on the read operations, Return All chains the API pages to bring everything back, while leaving it off caps the result at Limit. The n8n review goes into how that plays out on bigger accounts.

Connect

How do you connect Microsoft To Do to n8n?

  1. 01

    Register an application with Microsoft

    Open the Microsoft Application Registration Portal at aka.ms/appregistrations and select Register an application. Give it a Name, then under Supported account types choose the option that covers any organizational directory and personal Microsoft accounts. Copy the OAuth Callback URL shown in your n8n credential, paste it into Redirect URI, pick Web as the platform, and register.

  2. 02

    Generate a client secret

    Back on the application page, open Certificates & secrets and add a new client secret with a description such as n8n credential. Copy the string in the Value column and paste it into n8n as the Client Secret. The Application (client) ID from the overview page goes into Client ID. Then use the connect button in n8n, sign in to Microsoft and allow the app.

  3. 03

    Point the node at the right credential

    A credential is created once in the n8n Credentials menu and reused by every workflow, so the node simply offers it in a dropdown. For app-only access with no signed-in user, select Microsoft Entra Service Principal (App-Only) in the Authentication dropdown instead. On a government cloud tenant, US Government, US Government DOD or China, set the matching Microsoft Graph API Base URL in the credential.

Actions

What can the Microsoft To Do node do?

The Microsoft To Do node exposes 15 operations across 3 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

Resources × operations matrix
ResourceCreateGetGet ManyUpdateDelete
Linked Resource
List
Task

Linked Resource

5 operations
01

Create a linked resource

linkedResource.create

What you see in n8n

Notes & use cases

Attaches a pointer from a task back to the record it came from, so the person who opens the task can jump straight to the source.

Key parameters

  • Task List Name or ID: choose the list from the dropdown, or pass an identifier with an expression such as {{ $json.taskListId }}.
  • Task ID: the task that receives the link, often {{ $json.id }} from the task you just created.
  • Application Name: the name of the source app sending the linked entity.
  • Web URL: in Additional Fields, the deeplink to the source record, while External ID stores its identifier on that system.
Use cases
a bug filed in a tracker becomes a task whose link reopens the ticket.
02

Delete a linked resource

linkedResource.delete

What you see in n8n

Notes & use cases

Drops one link from a task and leaves the task itself in place.

Key parameters

  • Task List Name or ID: the list holding the task, picked from the dropdown or set by expression.
  • Task ID: the task whose link is going away.
  • Linked Resource ID: the identifier of the link itself, which Get many linked resources returns.
Use cases
a source record gets archived and its deeplink now leads nowhere, so a cleanup workflow strips the link while keeping the task history.
03

Get a linked resource

linkedResource.get

What you see in n8n

Notes & use cases

Returns a single link with the values stored on it, which is how a workflow reads a source identifier before deciding what to do next.

Key parameters

  • Task List Name or ID: the list the task belongs to.
  • Task ID: the task carrying the link.
  • Linked Resource ID: the exact link to read, not the task identifier.
Use cases
before updating a task, a branch reads its link to recover the External ID and query the original system with it.
04

Get many linked resources

linkedResource.getAll

What you see in n8n

Notes & use cases

Lists every link attached to one task, which is useful when a task ended up connected to several systems.

Key parameters

  • Task List Name or ID: the list to look in.
  • Task ID: the task whose links come back.
  • Return All: on, n8n walks the API pages and returns every link; off, it stops at Limit.
Use cases
an audit run checks which tasks still point at a tool that is being decommissioned.
05

Update a linked resource

linkedResource.update

What you see in n8n

Notes & use cases

Rewrites the values on an existing link rather than deleting it and building a new one.

Key parameters

  • Task List Name or ID and Task ID: where the link lives.
  • Linked Resource ID: the link being rewritten.
  • Update Fields: the collection holding the 4 editable values, Application Name, Name, External ID and Web URL.
Use cases
a tracker migration changes every record URL, and a single pass refreshes the Web URL on tasks that already exist.

List

5 operations
06

Create a list

list.create

What you see in n8n

Notes & use cases

Opens a new task list in the account and returns its identifier, which the following steps use to file tasks in the right place.

Key parameters

  • List Name: the display name of the list, the only required value here. An expression such as {{ $json.client }} makes the name follow the data.
Use cases
a new client signs, and the workflow opens a list named after them before dropping the onboarding steps into it.
07

Delete a list

list.delete

What you see in n8n

Notes & use cases

Removes a task list from the account. This one acts on the list, not on a single task.

Key parameters

  • List ID: the identifier of the list, unique in the user's mailbox. It is an identifier and not the display name, so fetch it with Get many lists and pass it through, for example {{ $json.id }}.
Use cases
a project closes and an end-of-quarter workflow clears the lists that were created for it.
08

Get a list

list.get

What you see in n8n

Notes & use cases

Reads one list and returns what To Do holds on it, which confirms a list still exists before a workflow writes into it.

Key parameters

  • List ID: the identifier of the list, unique in the user's mailbox, usually stored earlier in the run or read from a spreadsheet of identifiers.
Use cases
a nightly job checks the target list before creating tasks, so a deleted list produces a clear error instead of a silent gap.
09

Get many lists

list.getAll

What you see in n8n

Notes & use cases

Brings back the task lists of the account. No required field here, which makes it the natural first step when you need identifiers.

Key parameters

  • Return All: on, every list comes back page after page; off, the run stops at Limit.
  • Limit: the maximum number of lists returned when Return All stays off.
Use cases
a mapping step matches list names to identifiers once, then feeds the rest of the workflow.
10

Update a list

list.update

What you see in n8n

Notes & use cases

Renames an existing list. The tasks inside it stay where they are.

Key parameters

  • List ID: the identifier of the list, unique in the user's mailbox.
  • New List Name: the display name that replaces the old one, both values required.
Use cases
a naming convention changes across the team, and one run relabels every list from a table of old and new names without touching their contents.

Task

5 operations
11

Create a task

task.create

What you see in n8n

Notes & use cases

Files a task in a chosen list. This is the operation most workflows are built around.

Key parameters

  • List Name or ID: the destination list, chosen from the dropdown or set by expression.
  • Subject: a brief description of the task, the line people read first.
  • Additional Fields: adds Content for the body, Due and Reminder as dates in the given time zone, Importance among low, normal and high, and Status.
Use cases
an incoming form creates a task due the next morning, flagged high.
12

Delete a task

task.delete

What you see in n8n

Notes & use cases

Removes a single task from a list, which is the right move when the task should never have been created.

Key parameters

  • List Name or ID: the list the task sits in.
  • Task ID: the task to remove, typically carried from an earlier step as {{ $json.id }}.
Use cases
a duplicate arrives from the source system, a comparison step spots it, and the extra task disappears before anyone starts working on it twice.
13

Get a task

task.get

What you see in n8n

Notes & use cases

Reads one task and returns its current values, so a workflow can branch on what the task looks like right now.

Key parameters

  • List Name or ID: where to look.
  • Task ID: the task to read.
Use cases
a reminder workflow reads a task before nagging anyone, checks its Status, and stops if the work is already marked completed. Reading first also keeps an update from overwriting a change someone made in the app.
14

Get many tasks

task.getAll

What you see in n8n

Notes & use cases

Pulls the tasks of one list, which is how a workflow reports on a list rather than on a single item.

Key parameters

  • List Name or ID: the list to read, the only required field.
  • Return All: on, n8n chains the API pages until the list is exhausted; off, it returns at most Limit tasks.
Use cases
a Friday run exports a full list to a sheet, where Return All matters because a partial export reads like finished work.
15

Update a task

task.update

What you see in n8n

Notes & use cases

Changes an existing task in place, including closing it.

Key parameters

  • List Name or ID and Task ID: which task gets edited.
  • Update Fields: holds the 6 editable values, Subject, Content, Due Date Time, Reminder, Importance and Status, where completed is what marks a task as done.
Use cases
a deal closes in the CRM and the matching task flips to completed without anyone opening the app.
Need help

Need help automating Microsoft To Do with n8n?

A person reads every message.

FAQ

Questions people ask next

01Is the Microsoft To Do n8n integration free?
Yes, on the n8n side. The Microsoft To Do node ships with n8n, so there is nothing to install and nothing extra to pay for, whether you run n8n Cloud or a self-hosted instance of the Community Edition under the Sustainable Use license. The same workflow behaves the same way in both cases, which means you can build on your laptop and move the thing to Cloud later. What a Microsoft account costs on its own is a separate question and this page does not cover it. The one real cost is the setup time for the OAuth2 application, and that happens once.
02What credentials does the Microsoft To Do node need?
OAuth2, through the generic Microsoft credential that is shared by the Microsoft nodes in n8n. You register an application with the Microsoft Identity Platform, paste the OAuth Callback URL from n8n into the Redirect URI, then copy the Application (client) ID and the client secret value back into the credential and connect your account. Two prerequisites matter: an Azure account, and a user account with access to the service. If a corporate Microsoft Entra account manages that user, an administrator has to allow users to consent to apps accessing company data on their behalf. For app-only access with no signed-in user, pick the Microsoft Entra Service Principal option in the Authentication dropdown.
03What are the limits of the Microsoft To Do node?
The node exposes 15 operations over 3 resources, and nothing beyond that list. Anything else on the To Do side goes through the HTTP Request node, which calls the endpoint directly while reusing the same Microsoft credential, so you are never fully blocked. On reads, remember that Return All is what chains the API pages: leave it off and the run stops at Limit, which is the usual reason an export looks short. Linked resources need both the list and the task identifier, so a workflow that only kept a task identifier has to look the list up again. And identifier fields expect identifiers, not display names.
04Can n8n react to a new Microsoft To Do task in real time?
Not with a dedicated trigger, because n8n has no Microsoft To Do trigger node. A workflow that watches To Do starts with something else. The common setup is a Schedule Trigger on a fixed interval followed by Get many tasks, then a comparison against what was already processed. If the change starts somewhere other than To Do, which is usually the case, use that system instead: a webhook is a URL another service calls when something happens, and the n8n Webhook node gives you one. The trigger of another app works just as well when the task should be created from an email, a form or a calendar entry.
05n8n or Make for Microsoft To Do?
It comes down to hosting, data control and how you want to pay. Make is hosted by Make, with no self-hosting option, and billed per operation, which is easy to start with and predictable only as long as volume is. n8n runs on n8n Cloud or on your own server, so the data stays where you decide, and the same workflow moves between the two without being rebuilt. For To Do specifically, both cover the everyday task operations. The tiebreaker is usually what surrounds them: if your workflow already loops, branches and calls HTTP endpoints for the parts the node does not handle, n8n gives you more room.
Hack'celeration Lab

Get our weekly integration tips.

No spam. Unsubscribe anytime.