Resources · n8n integration

Todoist n8n integrationAutomate Todoist with n8n.

A task list saves time only when something else fills it. The Todoist n8n integration opens 36 operations spread over 6 resources, from adding a task by writing one sentence to exporting a whole project. Todoist has no trigger node, so the workflow starts on a Schedule or a Webhook.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What can the Todoist n8n integration actually automate?

The Todoist node ships with n8n and talks to the Todoist API for you: it creates, reads, updates, moves and closes items in the account behind the credential, the connection record you save once in n8n. Six resources are covered, 36 operations sit under them, so most of what a team does by hand in the app has an equivalent step inside a workflow, meaning a chain of automated steps that runs without anyone clicking.

Three shapes cover most of what gets built. The first is an intake queue that fills itself. A form reply or an inbound message reaches n8n, task.quickAdd reads one line of text, and the task lands in the right project with its label and its due date already set. Nobody retypes anything, and the request stops living in a mailbox.

The second is the morning digest. task.getAll with Return All turned on returns every task matching a filter, a formatting step lines them up, and the summary goes out to Slack as a single message. Deadlines become readable without opening the app, which is the point for teams that report on due dates rather than on activity.

The third is the mirror. project.getAll and task.getAll read the account at a fixed interval, then task.create or task.update write back what changed elsewhere, often in Notion for teams that document in one place and execute in another, or against Google Calendar when due dates have to sit next to meetings.

The node stops at 6 resources. Any Todoist API endpoint it does not expose is still reachable with the HTTP Request node, which reuses the same credential through its predefined authentication, so there is no second token to keep track of. That is the honest fallback, and it costs one node instead of a custom integration.

Two limits shape every design here. Todoist has no trigger node in n8n, so a run starts on a Schedule Trigger at a fixed interval, on a Webhook node called by another service (a URL that service calls when something happens on its side), or on the trigger of another tool in the same workflow. And identifiers rule everything: projects, sections and labels are picked from a list or passed as IDs, which is why most flows read before they write. The n8n training drills that reflex on a working automation, and the n8n review looks at where the platform fits.

Connect

How do you connect Todoist to n8n?

  1. 01

    Copy the API token from Todoist

    In Todoist, open Settings, then Integrations, and select the Developer tab. The API token sits there, ready to copy. It is the only value the API key method needs, which makes it the shortest path to a working node. Keep the tab open: the token goes straight into n8n in the next step, and it is tied to the account it came from.

  2. 02

    Create the Todoist credential in n8n

    In n8n, open the Credentials menu, create a Todoist credential and paste the token into the API Key field. A credential is set up once and reused everywhere: every Todoist node in every workflow picks it from a dropdown, and rotating the token later means editing one record instead of visiting each node. The same credential also serves the HTTP Request node.

  3. 03

    Or set up OAuth2 on a self-hosted instance

    OAuth2 is documented for self-hosting. Open the Todoist App Management Console, select Create a new app, give it a name such as n8n integration, then create it. Copy the OAuth Redirect URL that n8n displays into the OAuth redirect URL field of the app, and bring the Client ID and the Client Secret back into the n8n credential.

Actions

What the Todoist node can do, operation by operation

The Todoist node exposes 36 operations across 6 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

Resources × operations matrix
ResourceCreateGetGet ManyUpdateDeleteArchiveCloseGet CollaboratorsMoveQuick AddReopenUnarchive
Task
Project
Section
Comment
Label
Reminder

Task

9 operations
01

Close a task

task.close

What you see in n8n

Notes & use cases

Closing a task from a workflow does what ticking the checkbox does in the app: the task leaves the active list and stops showing up in filters.

Key parameters

  • Task ID: the identifier of the task to close, usually carried over from an earlier node as {{ $json.id }}.
Use cases
a support ticket is resolved in the helpdesk and the matching Todoist task closes a second later, so nobody has to remember where the duplicate lived.
02

Create a task

task.create

What you see in n8n

Notes & use cases

The structured way to add work: every field is set explicitly instead of being read from a sentence, which keeps the result predictable when the data comes from another system.

Key parameters

  • Project Name or ID: the destination project, chosen from the list or given as an ID.
  • Content: the task text itself.
  • Additional Fields: 13 optional fields, among them Due String (a due date written in plain words, read in local time), Due Date in YYYY-MM-DD, Priority from 1 (normal) to 4 (urgent) and Assignee ID for a shared task.
Use cases
a signed deal in the CRM opens its onboarding task in the right project, due on the date the contract starts.
03

Delete a task

task.delete

What you see in n8n

Notes & use cases

Deletion is permanent and the node has no undo operation, so it belongs in cleanup flows rather than in day-to-day routing.

Key parameters

  • Task ID: the task to remove, often the identifier stored when the workflow created it.
Use cases
a nightly run removes the placeholder tasks a workflow produced while it was being tested, which keeps a shared project readable for everyone else.
04

Get a task

task.get

What you see in n8n

Notes & use cases

A single task comes back with its fields, which is how a workflow checks the current state before deciding what to do next.

Key parameters

  • Task ID: the identifier of the task to read, often pulled from a message or a database row as {{ $json.taskId }}.
Use cases
before sending a reminder, the workflow rereads the task to confirm it is still open and to reuse its wording in the notification.
05

Get many tasks

task.getAll

What you see in n8n

Notes & use cases

This is the reporting operation of the node: one call, every task that matches, ready to be counted, formatted or exported.

Key parameters

  • Return All: on, n8n walks the pages of the API and brings back everything; off, Limit caps how many tasks come back.
  • Filters: Filter takes any supported Todoist filter, while Project Name or ID, Section Name or ID, Label Name or ID and IDs (a comma separated list) narrow the result further.
  • Lang: the language the filter is written in, when it is not English.
Use cases
on Monday morning, everything due that week leaves as one digest instead of a notification per task.
06

Move a task

task.move

What you see in n8n

Notes & use cases

Moving leaves the content alone: same task, same identifier, new project, and a new section inside it when needed.

Key parameters

  • Task ID: the task to move.
  • Project Name or ID: the destination project, required even when only the section changes.
  • Section Name or ID: optional, the section the task lands in.
Use cases
a request that turns out to belong to the product backlog leaves the triage project as soon as a label says so.
07

Quick add a task

task.quickAdd

What you see in n8n

Notes & use cases

Quick Add reads natural language the way the app does, so one written sentence becomes a complete task.

Key parameters

  • Text: the sentence to parse. The due date is written in free form, a project starts with #, a label with @, an assignee with +, a priority reads as p1, a deadline sits between {}, and everything after // becomes the description.
  • Additional Fields: Note adds the content of a note, Reminder takes a date in free form text, and Auto Reminder adds the default reminder when the due date has a time.
Use cases
a message sent from the field becomes a task in the right project, no form needed.
08

Reopen a task

task.reopen

What you see in n8n

Notes & use cases

The mirror of Close: a completed task returns to the active list and shows up again in filters and digests.

Key parameters

  • Task ID: the closed task to bring back.
Use cases
a customer answers again on a thread that was marked done, and the follow-up task returns to the list instead of being recreated with a new identifier that breaks the link to the original.
09

Update a task

task.update

What you see in n8n

Notes & use cases

Only the fields you fill in are sent, so a workflow can push a new due date or a new priority without rewriting the task.

Key parameters

  • Task ID: the task to edit.
  • Update Fields: Content and Description for the text, Due String, Due Date or Due Date Time for the timing, plus Priority, Label Names, Assignee ID and Deadline Date in YYYY-MM-DD.
Use cases
an invoice that stays unpaid pushes its chase task to priority 4 and moves the due date to tomorrow.

Project

8 operations
10

Archive a project

project.archive

What you see in n8n

Notes & use cases

Archiving takes the project out of the active list without deleting anything it holds. It is the end of engagement gesture.

Key parameters

  • Project ID: the project to archive, accepted as a string or as a number.
Use cases
when a deal is marked closed in the CRM, its project archives in the same run, and the sidebar stops growing month after month.
11

Create a project

project.create

What you see in n8n

Notes & use cases

Every client, campaign or sprint can get its own container, created by the workflow with the same naming rule each time.

Key parameters

  • Name: the name of the project.
  • Additional Fields: Color picks from the Todoist palette (berry_red, teal, lavender and the rest), Parent ID nests it under an existing project, Is Favorite pins it, and View Style opens it as list or board.
Use cases
a signed quote creates the project, names it after the client and colors it by service line so the sidebar stays readable.
12

Delete a project

project.delete

What you see in n8n

Notes & use cases

Deleting a project cannot be undone from the node: no operation brings it back, and nothing in n8n keeps a copy of what was inside. The step is better placed behind a human approval than in an automatic branch.

Key parameters

  • Project ID: the project to delete, given as a string or as a number.
Use cases
the sandbox project a demo workflow generates disappears at the end of the day, and the account stays free of leftovers nobody dares touch.
13

Get a project

project.get

What you see in n8n

Notes & use cases

Turning an identifier into a readable record is the job here: one project in, its data out.

Key parameters

  • Project ID: the project to read, as a string or as a number.
Use cases
a weekly report swaps raw project identifiers for their names before the summary is sent, which is the difference between a table people read and one they skip.
14

Get project collaborators

project.getCollaborators

What you see in n8n

Notes & use cases

The people who share a project come back here, and nowhere else in the node. It is the only operation that answers who, rather than what.

Key parameters

  • Project ID: the shared project to inspect, as a string or as a number.
Use cases
before a task is assigned automatically, the workflow checks that the Assignee ID it plans to use belongs to someone who can actually see the project, which avoids tasks landing on a person who never opens them.
15

Get many projects

project.getAll

What you see in n8n

Notes & use cases

One call, every project in the account. The operation takes no parameter at all: no filter, no pagination setting, nothing to configure, so sorting, counting and filtering all happen in the next node of the workflow.

Use cases
a monthly audit lists the projects and flags the ones nobody has touched, before someone decides which of them to archive. The same list also feeds a lookup table that turns identifiers into names later in the run.
16

Unarchive a project

project.unarchive

What you see in n8n

Notes & use cases

An archived project comes back among the active ones. This is the counterpart of Archive and the quickest way to reopen work that was closed too early.

Key parameters

  • Project ID: the archived project to restore.
Use cases
a client signs a second phase, and the project archived over the summer reappears in the same automation that creates the new tasks.
17

Update a project

project.update

What you see in n8n

Notes & use cases

Renaming, recoloring or pinning a project happens through this operation, and only the fields you fill in travel.

Key parameters

  • Project ID: the project to edit.
  • Update Fields: Name, Color, Is Favorite and View Style (list or board).
Use cases
a project turns red as soon as a workflow finds an overdue task inside it, so the color carries the alert without a message.

Section

5 operations
18

Create a section

section.create

What you see in n8n

Notes & use cases

Sections split a project into stages, and creating them from a workflow gives every new project the same layout.

Key parameters

  • Project Name or ID: the project the section is added to.
  • Name: the name of the section.
  • Additional Fields: Order sets where the section sits among the others.
Use cases
right after a project is created, three sections are added in one pass so the board opens with its stages already in place.
19

Delete a section

section.delete

What you see in n8n

Notes & use cases

Removing a section changes the structure of a project, so the operation tends to clean up a template rather than run every day.

Key parameters

  • Section ID: the section to delete, usually read from Get many sections earlier in the run.
Use cases
a project template ships with a review column the team never uses, and the workflow drops it right after the project is created, so nobody has to tidy the board by hand.
20

Get a section

section.get

What you see in n8n

Notes & use cases

Confirming that a section identifier still points to something is the practical use of this read, and the returned record gives the next node its name.

Key parameters

  • Section ID: the section to read.
Use cases
a workflow checks the target section before moving a batch of tasks into it, and stops cleanly if the section has been deleted in the meantime, instead of failing halfway through the list.
21

Get many sections

section.getAll

What you see in n8n

Notes & use cases

Sections come back as a list, across the account or inside a single project, which gives a workflow the map it needs before it moves anything.

Key parameters

  • Filters: Project Name or ID restricts the list to one project, chosen from the list or passed through an expression.
Use cases
a routing flow reads the sections of the support project once, matches them by name and reuses the identifiers for the rest of the run.
22

Update a section

section.update

What you see in n8n

Notes & use cases

The node exposes a single editable field on a section, and that is its name. Nothing else about a section can be changed from a workflow.

Key parameters

  • Section ID: the section to rename.
  • Update Fields: Name, the new section name.
Use cases
when a team changes its process, the stages are renamed across every project in one run instead of being edited board by board.

Comment

5 operations
23

Create a comment

comment.create

What you see in n8n

Notes & use cases

Posts a comment on a task that already exists in Todoist and returns that comment with an identifier of its own.

Key parameters

  • Task ID: the task the comment lands on, almost always mapped from an earlier node with an expression, the n8n syntax that pulls a value out of the incoming item, such as {{ $json.id }}.
  • Content: the text of the comment, usually assembled from the data that came in (an order number, a form answer).
Use cases
a support request arrives, the workflow opens the task for the assignee and drops the full message underneath it. Whoever picks it up reads everything in Todoist and never reopens the shared mailbox.
24

Delete a comment

comment.delete

What you see in n8n

Notes & use cases

Removes one comment for good. The node answers with a confirmation and not with the text it just erased, so anything worth keeping gets read first, with Get a comment.

Key parameters

  • Comment ID: the identifier of the comment itself, not the one of the task it hangs under. It comes from Get many comments, or from the step that wrote the comment earlier in the same execution.
Use cases
a workflow still under test leaves stray comments on real tasks. A cleanup branch takes back the identifiers written during the trials and puts the project back in order.
25

Get a comment

comment.get

What you see in n8n

Notes & use cases

Fetches one precise comment from its identifier and hands the content to the nodes that follow.

Key parameters

  • Comment ID: the identifier of the comment to read. Chain the operation after Get many comments when the workflow has to find the right one first.
Use cases
an approval flow stores the comment identifier when the request is filed, then reads that same comment when the answer goes out. The reply carries the wording of the person who asked, not a rough summary of it.
26

Get many comments

comment.getAll

What you see in n8n

Notes & use cases

Returns a list of comments instead of a single one, and one of the two filters below sets its scope: a single task, or every comment in a project.

Key parameters

  • Task ID: inside Filters, keeps only the comments attached to one task.
  • Project ID: inside Filters, widens the read to every comment in a project.
Use cases
every Friday a workflow reads the comments of the running project and turns them into a digest for the people who never open the app.
27

Update a comment

comment.update

What you see in n8n

Notes & use cases

Replaces the text of a comment that is already published. A task reporting on the same job three times a day stays readable, because the status lives in one comment rather than in a stack of them.

Key parameters

  • Comment ID: the comment to rewrite, kept from the execution that created it.
  • Content: inside Update Fields, the new text. It takes the place of the old one, so the workflow sends the complete line and not only the part that moved.
Use cases
a nightly import writes its result into one comment, and each run rewrites the previous one.

Label

5 operations
28

Create a label

label.create

What you see in n8n

Notes & use cases

Adds a label to the Todoist account and returns the identifier that the later steps will reuse.

Key parameters

  • Name: the name of the label, the only required field.
  • Color: inside Additional Fields, a closed list of named values such as sky_blue, olive_green or magenta. A color gets picked from the list, never typed as a hex code.
  • Order: where the label sits in the list; Is Favorite marks it as a favorite.
Use cases
a campaign kickoff creates its label once, in its own color, and keeps the identifier for everything that follows.
29

Delete a label

label.delete

What you see in n8n

Notes & use cases

Drops a label from the account. The call has no way back: recovering the label means creating it again.

Key parameters

  • Label ID: the identifier of the label, the one Get many labels returns. The name alone will not do.
Use cases
quarterly housekeeping. A workflow lists the labels, keeps the ones a team still works with, and deletes those an automation created for a one-off operation nobody remembers.
30

Get a label

label.get

What you see in n8n

Notes & use cases

Reads one label and returns the state Todoist holds for it.

Key parameters

  • Label ID: the identifier of the label being looked up, stored by the step that created it or taken from a list read.
Use cases
a workflow that watches naming rules reads the label before touching it, compares what it finds with the rule, and calls Update a label only when the two disagree. The check costs one read and saves a pointless write.
31

Get many labels

label.getAll

What you see in n8n

Notes & use cases

Lists every label in the account in one call, with nothing to set up first. That is how a workflow works on stable identifiers instead of trusting a name that somebody may have changed since.

Use cases
a reporting workflow copies the labels into a spreadsheet every morning. The team sees at a glance which ones are still alive and which ones are left over from a campaign that ended.
32

Update a label

label.update

What you see in n8n

Notes & use cases

Edits a label in place. Only the fields added under Update Fields travel to Todoist, so changing a color leaves the name untouched.

Key parameters

  • Label ID: the label concerned.
  • Name: its new name.
  • Color: one of the values in the list, red or lavender for instance, when the meaning of the label changes.
  • Order and Is Favorite: move the label up the list or put it in the favorites.
Use cases
an account is escalated, the workflow repaints its label in red and marks it a favorite. The change shows in the sidebar before anyone opens a task.

Reminder

4 operations
33

Create a reminder

reminder.create

What you see in n8n

Notes & use cases

Attaches a reminder to an existing task so Todoist speaks up at the right moment.

Key parameters

  • Task ID: the task carrying the reminder.
  • Due Date Type: how the moment is written, each choice opening its own field: natural_language with Natural Language Representation (tomorrow 2pm), full_day with Date in YYYY-MM-DD, floating_time with Date Time and no timezone, fixed_timezone with Timezone like America/New_York.
  • Minute Offset: under Additional Fields, fires a relative reminder that many minutes before the due date; Notify User ID points it at one person on a shared task.
Use cases
a signed quote opens the onboarding task and books a reminder 45 minutes before the kickoff call.
34

Delete a reminder

reminder.delete

What you see in n8n

Notes & use cases

Cancels a reminder without touching the task: the task stays, the notification goes away.

Key parameters

  • Reminder ID: the identifier of the reminder, returned by Get many reminders or by the step that set it up.
Use cases
a task closed ahead of time still carries its reminder. The workflow that closes it deletes the reminder in the same run, and nobody gets a notification for work that is already done.
35

Get many reminders

reminder.getAll

What you see in n8n

Notes & use cases

Brings back every reminder the account holds, with no parameter to fill in first. The node offers no filter either, so the sorting and the picking happen in the nodes that follow.

Use cases
before a holiday week, a workflow reads every reminder, keeps the ones that fall while the team is away, and posts them where the person on duty will actually see them.
36

Update a reminder

reminder.update

What you see in n8n

Notes & use cases

Moves or retunes a reminder that is already in place, rather than deleting it and creating another one at the risk of losing the link to the task.

Key parameters

  • Reminder ID: the reminder being edited.
  • Due: inside Update Fields, holds the new moment at which it should fire.
  • Type and Minute Offset: switch between absolute and relative, or change how many minutes before the task due date it goes off; Notify User ID passes it to somebody else.
Use cases
a delivery slips by a week. The workflow that moves the task moves its reminder too, instead of leaving an alert on the old date.
Need help

Need help automating Todoist with n8n?

A person reads every message.

FAQ

Questions that come up before building

01Is the Todoist n8n integration free?
Yes on the n8n side. The Todoist node ships with n8n, so there is nothing to install and nothing extra to pay for the connector itself, on n8n Cloud as well as on a self-hosted instance running the Community Edition under its Sustainable Use license. A workflow built on one runs the same way on the other, which matters if you start on Cloud and move to your own server later. What a Todoist plan costs is a separate question and this page does not cover it, since it depends on the subscription the team already has.
02What credentials does the Todoist node need?
Two methods are supported: an API key or OAuth2. The API key is the short path: in Todoist, open Settings, then Integrations, select the Developer tab, copy the API token and paste it into the API Key field of the n8n credential. OAuth2 is documented for self-hosted instances and needs an app created in the Todoist App Management Console, which hands you a Client ID and a Client Secret; the OAuth Redirect URL displayed by n8n goes into that app first. Either way, the credential is saved once in the Credentials menu and every workflow selects it afterwards.
03What are the limits of the Todoist node in n8n?
Three are worth knowing before you design anything. The node covers 6 resources and 36 operations, and any other Todoist API endpoint goes through the HTTP Request node, which reuses the same credential through its predefined authentication. Reads stop early unless you ask for more: Get many tasks returns up to Limit until Return All is switched on. And most operations expect an identifier rather than a name, so a flow usually reads the project or the section first, then passes the ID along in an expression such as the one n8n writes for you when you drag a field.
04Does Todoist have a trigger node in n8n?
No. Todoist has no trigger node in n8n, so nothing inside the app can start a workflow on its own. A run begins with another trigger: a Schedule Trigger firing at a fixed interval, the n8n Webhook node called by a third-party service, or the trigger of another tool sitting in the same workflow. In practice a schedule that reads with Get many tasks and compares the result with what it saw before covers most needs, and an inbound webhook covers the rest whenever the other system is able to send one.
05n8n or Make for Todoist?
It depends on where the data has to live and how you want the bill built. Make is hosted by Make, with no self-hosting option, and is billed per operation, so a workflow that reads a long task list every hour is priced by volume. n8n runs on n8n Cloud or on a server you control, which keeps task content inside your own infrastructure, and the same workflow behaves identically in both places. Both draw their logic visually. Pick Make for a fully managed setup, and n8n when hosting, data control or a predictable cost weigh more.
Hack'celeration Lab

Get our weekly integration tips.

No spam. Unsubscribe anytime.