Linear Issue Status Synchronization to Todoist Tasks - n8n Workflow

Automate project tracking by syncing Linear issue creation, updates, and removal to Todoist tasks. Use this advanced n8n workflow to keep your tasks aligned.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?

Teams using Linear for project management who rely on Todoist for personal task organization.
Developers needing an automatic, filtered synchronization of assigned Linear tasks.
Users looking for sophisticated, production-ready n8n templates for tool integration.
Individuals aiming to reduce context switching between development and productivity tools.

Overview

Keeping track of development issues across multiple platforms can quickly become overwhelming. This robust automation provides a seamless, one-way synchronization pipeline between Linear and Todoist. This n8n workflow solves the challenge of maintaining up-to-date task lists by instantly reflecting changes made in Linear (issue creation, status updates, or deletion) in your designated Todoist project.

It utilizes powerful conditional logic to ensure only relevant issues—specifically those assigned to the user and having a due date—are synced. This high-level of customization is a hallmark of an effective n8n workflow. Furthermore, this n8n automation handles complex scenarios, such as properly formatting sub-issue titles by fetching parent information and managing task completion status automatically.

How it Works

The execution of this comprehensive n8n workflow begins immediately upon a change in Linear:


  1. Trigger and Initial Routing: The New issue or updated issue Linear n8n trigger initiates the flow upon any issue event (create, update, or remove). A Switch based on action n8n node then analyzes the action type and directs the subsequent flow path.

  2. Handle Removal (Action: Remove): If the Linear issue is deleted, the n8n workflow performs a lookup in Todoist (Check if task already exists1). If the task is found, the Remove task Todoist n8n node deletes the corresponding Todoist task.

  3. Handle Sync (Actions: Create/Update): For creation or update events, the n8n workflow first checks if a matching Todoist task already exists (Check if task already exists3).

  4. Assignee and Due Date Filtering: An If n8n node (If action's due date is not empty and assignee is me) ensures the flow only continues if the Linear issue has a due date and is assigned to the specified user (based on the email placeholder).

  5. Sub-Issue Enrichment: If the Linear issue is a sub-issue, the n8n workflow uses a Linear n8n node (Get parent issue) to retrieve the parent title. A Set n8n node then combines the titles, providing context like [Parent Issue] -> Sub-Issue Title for the Todoist task content.

  6. Final Action - Update Path: If the task existed, a Task finished ? Switch n8n node checks the Linear state. If the state is 'Done', the Close task Todoist n8n node completes the task. Otherwise, the Update task n8n node refreshes the task details.

  7. Final Action - Creation Path: If the task did not exist, the appropriate Create task Todoist n8n node is executed, creating a new task with the issue URL, description, and Linear ID included.

Installation Guide

To deploy this powerful n8n workflow template, follow these steps:


  1. Import the JSON: Copy the provided n8n workflow JSON data and paste it into your n8n instance using the 'New' menu -> 'Import from JSON'.

  2. Linear Credentials: You will need to set up OAuth2 credentials for Linear. Ensure your Linear n8n trigger node is configured to listen to the correct team and resources.

  3. Todoist Credentials: Configure your Todoist API key credentials for the Todoist n8n node operations (Create, Update, Delete, Close).

  4. Customization: Crucially, update the email placeholder ([email protected]) within the If action's due date is not empty and assignee is me and related n8n node filters to match your actual Linear email address. This ensures only tasks assigned to you are synced.

  5. Activate: Save the n8n workflow and toggle it to 'Active'. The Linear n8n trigger will now listen for incoming webhooks.

Node Details

New issue or updated issue (Linear Trigger): This is the initiating n8n trigger. It listens for issue events (create, update, remove) from Linear, providing the webhook data to the rest of the n8n workflow.
Switch based on action (Switch n8n node): Routes the flow dynamically based on the action field in the Linear payload (create, update, or remove). This is central to the core logic flow control of the n8n workflow.
Check if task already exists (Todoist n8n node): Performs a getAll operation in Todoist, using a custom filter to search for the Linear Issue ID within existing task content or description, preventing duplicate task creation.
If task already exists (If n8n node): Checks if the output from the Todoist search is non-empty. This branching determines whether the n8n workflow should perform a task update/delete or a new task creation.
If action's due date is not empty and assignee is me (If n8n node): Filters the incoming data stream. The flow only proceeds if the Linear issue has a dueDate and the issue is explicitly assigned to the user specified by a hardcoded email address, making this n8n node critical for personalization.
Get parent issue (Linear n8n node): Executes if the issue is a sub-issue. It fetches data about the parent issue based on the parentId field, which is used to enrich the Todoist task title.


  • Update task / Close task / Create task (Todoist n8n node): These are the final action nodes responsible for interacting with Todoist, performing the required operation based on the current state of the Linear issue and the routing decisions made throughout the n8n workflow.

Related n8n Workflows

Free

Nodes: 8 Nodes
Updated: December 26 2025
View all
Created by

A young student with a passion for automation

Featured*