Workflow n8n

Automatisation Todoist avec n8n : gestion des tâches en temps réel

  • Ce workflow n8n est conçu pour optimiser la gestion des tâches dans Todoist en automatisant le processus de snooze et de réorganisation des tâches. Dans un environnement de travail où la productivité est essentielle, ce workflow permet aux utilisateurs de s'assurer que les tâches importantes ne sont pas oubliées et qu'elles sont réorganisées efficacement. Parfait pour les équipes de projet, les freelances ou toute personne cherchant à améliorer sa gestion du temps, ce workflow facilite la priorisation des tâches selon leur échéance.
  • Le flux commence par un déclencheur programmé qui s'exécute à 5 heures du matin ou toutes les 5 minutes, permettant ainsi une surveillance continue des tâches. Ensuite, il récupère les tâches snoozées via le nœud Todoist, en vérifiant si elles ne sont pas des sous-tâches et si elles ont une date d'échéance. Si une tâche doit être réactivée, le workflow utilise un nœud de date pour déterminer quand la réactiver. Les tâches sont ensuite regroupées et déplacées vers le projet approprié, en générant un identifiant unique pour chaque mouvement.
  • Les bénéfices de cette automatisation n8n sont multiples : elle réduit le risque d'oubli de tâches importantes, améliore la visibilité sur les priorités et permet un gain de temps considérable dans la gestion quotidienne des tâches. En intégrant ce workflow, les utilisateurs peuvent se concentrer sur des tâches à plus forte valeur ajoutée, tout en ayant l'assurance que leur liste de tâches est toujours à jour.
Tags clés :automatisationn8nTodoistgestion de tâchesproductivité
Catégorie: Scheduled · Tags: automatisation, n8n, Todoist, gestion de tâches, productivité0

Workflow n8n Todoist, gestion de tâches, productivité : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n Todoist, gestion de tâches, productivité : détail des nœuds

  • if after unsnooze date

    Ce noeud vérifie si la date actuelle est après la date de désactivation de la tâche.

  • at 5am

    Ce noeud déclenche le workflow tous les jours à 5 heures du matin.

  • every 5 min

    Ce noeud déclenche le workflow toutes les 5 minutes.

  • Get snoozed tasks

    Ce noeud récupère les tâches mises en veille dans Todoist selon les filtres spécifiés.

  • if task is not a subtask

    Ce noeud vérifie si la tâche en cours n'est pas une sous-tâche.

  • If task has due date

    Ce noeud vérifie si la tâche a une date d'échéance.

  • Get date to unsnooze

    Ce noeud obtient la date à laquelle la tâche doit être désactivée.

  • Get inbox tasks to snooze

    Ce noeud récupère les tâches dans la boîte de réception à mettre en veille selon les filtres spécifiés.

  • Sticky Note3

    Ce noeud crée une note autocollante avec le contenu et les dimensions spécifiées.

  • Set inbox project id

    Ce noeud définit l'identifiant du projet de la boîte de réception.

  • If not same project

    Ce noeud filtre les tâches pour vérifier si elles ne proviennent pas du même projet.

  • Set args to move

    Ce noeud définit les arguments nécessaires pour déplacer une tâche.

  • Generate unique uuid for move

    Ce noeud génère un identifiant unique pour le déplacement de la tâche.

  • Merge all items into a list

    Ce noeud fusionne tous les éléments en une seule liste.

  • Move the tasks

    Ce noeud envoie une requête HTTP pour déplacer les tâches vers un nouvel emplacement.

  • Set snoozed project id

    Ce noeud définit l'identifiant du projet pour les tâches mises en veille.

  • Sticky Note2

    Ce noeud crée une note autocollante avec le contenu et les dimensions spécifiées.

  • Sticky Note

    Ce noeud crée une note autocollante avec le contenu et les dimensions spécifiées.

  • Sticky Note1

    Ce noeud crée une note autocollante avec le contenu et les dimensions spécifiées.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "nodes": [
    {
      "id": "a39274d0-6709-4e66-95a7-8c0fc4c0e8b1",
      "name": "if after unsnooze date",
      "type": "n8n-nodes-base.if",
      "position": [
        1840,
        500
      ],
      "parameters": {
        "conditions": {
          "dateTime": [
            {
              "value1": "={{ DateTime.now() }}",
              "value2": "={{ $json.unsnoozeDate }}"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a4e2d915-4714-41ea-8995-76b7198df675",
      "name": "at 5am",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        780,
        500
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 5
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "7ad8e2f6-0499-4537-8325-9dffc2d7ea3c",
      "name": "every 5 min",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        780,
        280
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "370f380a-923b-4e4f-b025-9e7723662083",
      "name": "Get snoozed tasks",
      "type": "n8n-nodes-base.todoist",
      "position": [
        980,
        500
      ],
      "parameters": {
        "filters": {
          "projectId": "2325216129"
        },
        "operation": "getAll",
        "returnAll": true
      },
      "credentials": {
        "todoistApi": {
          "id": "1",
          "name": "Todoist account"
        }
      },
      "retryOnFail": true,
      "typeVersion": 2,
      "waitBetweenTries": 5000
    },
    {
      "id": "f239a87d-0229-4964-bca0-75bbf371626b",
      "name": "if task is not a subtask",
      "type": "n8n-nodes-base.if",
      "position": [
        1200,
        500
      ],
      "parameters": {
        "conditions": {
          "number": [
            {
              "value1": "={{ $json.parent_id }}",
              "operation": "isEmpty"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b9b29371-254f-45d1-846c-c2db7efae907",
      "name": "If task has due date",
      "type": "n8n-nodes-base.if",
      "position": [
        1420,
        500
      ],
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value1": "={{ !$json.due }}"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "1d1fe683-68b5-4a9c-af29-b20a01c2473b",
      "name": "Get date to unsnooze",
      "type": "n8n-nodes-base.dateTime",
      "position": [
        1640,
        500
      ],
      "parameters": {
        "options": {
          "includeInputFields": true
        },
        "duration": 3,
        "magnitude": "={{ $json.due.date }}",
        "operation": "subtractFromDate",
        "outputFieldName": "unsnoozeDate"
      },
      "typeVersion": 2
    },
    {
      "id": "9e0e3241-d2fd-4bc4-9273-aa5237cbeaa4",
      "name": "Get inbox tasks to snooze",
      "type": "n8n-nodes-base.todoist",
      "position": [
        980,
        280
      ],
      "parameters": {
        "filters": {
          "projectId": "938017196"
        },
        "operation": "getAll",
        "returnAll": true
      },
      "credentials": {
        "todoistApi": {
          "id": "1",
          "name": "Todoist account"
        }
      },
      "retryOnFail": true,
      "typeVersion": 2,
      "waitBetweenTries": 5000
    },
    {
      "id": "90e83f5f-dd9f-431d-92b5-cd52a792dee2",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1220,
        220
      ],
      "parameters": {
        "color": 5,
        "width": 390.83694011071975,
        "height": 182.09360845495712,
        "content": "### 👨‍🎤 Setup\n1. Add your Todoist creds\n2. Create a Todoist project called `snoozed`\n3. Set the project ids in the relevant nodes\n4. Add due dates to your tasks in Inbox. Watch them disappear to `snoozed`. Set their date to tomorrow, watch it return to inbox."
      },
      "typeVersion": 1
    },
    {
      "id": "c7a6b401-f518-45ba-a185-c8bf0cd92394",
      "name": "Set inbox project id",
      "type": "n8n-nodes-base.set",
      "position": [
        2060,
        420
      ],
      "parameters": {
        "fields": {
          "values": [
            {
              "name": "target_project_id",
              "type": "numberValue",
              "numberValue": "2329427682"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "22982318-5036-490a-ba3c-d40db8c3dc89",
      "name": "If not same project",
      "type": "n8n-nodes-base.filter",
      "position": [
        2280,
        500
      ],
      "parameters": {
        "conditions": {
          "number": [
            {
              "value1": "={{ parseInt($json.target_project_id) }}",
              "value2": "={{ parseInt($json.project_id) }}",
              "operation": "notEqual"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "62009b22-d0e3-40a0-b7f9-88dc2ec02284",
      "name": "Set args to move",
      "type": "n8n-nodes-base.set",
      "position": [
        2480,
        500
      ],
      "parameters": {
        "fields": {
          "values": [
            {
              "name": "args",
              "type": "objectValue",
              "objectValue": "={ id: {{ $json.id }}, project_id: {{ $json.target_project_id }} }"
            },
            {
              "name": "type",
              "stringValue": "item_move"
            }
          ]
        },
        "include": "none",
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "4d628334-12a3-451f-b49e-ce749241e411",
      "name": "Generate unique uuid for move",
      "type": "n8n-nodes-base.crypto",
      "position": [
        2680,
        500
      ],
      "parameters": {
        "action": "generate",
        "dataPropertyName": "uuid"
      },
      "typeVersion": 1
    },
    {
      "id": "8b6bf7ae-6d15-473d-8f00-5aaa4ea7d2f3",
      "name": "Merge all items into a list",
      "type": "n8n-nodes-base.itemLists",
      "position": [
        2880,
        500
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData",
        "operation": "concatenateItems",
        "destinationFieldName": "commands"
      },
      "typeVersion": 3.1
    },
    {
      "id": "7882c3c6-0d24-4fe2-99b6-3e878e4d0dea",
      "name": "Move the tasks",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3080,
        500
      ],
      "parameters": {
        "url": "https://api.todoist.com/sync/v9/sync",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "form-urlencoded",
        "authentication": "predefinedCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "commands",
              "value": "={{ JSON.stringify($json.commands) }}"
            }
          ]
        },
        "nodeCredentialType": "todoistApi"
      },
      "credentials": {
        "todoistApi": {
          "id": "1",
          "name": "Todoist account"
        }
      },
      "typeVersion": 4.1
    },
    {
      "id": "259c337b-38f6-4c2a-8e23-9fe5d154a2aa",
      "name": "Set snoozed project id",
      "type": "n8n-nodes-base.set",
      "position": [
        2060,
        600
      ],
      "parameters": {
        "fields": {
          "values": [
            {
              "name": "target_project_id",
              "type": "numberValue",
              "numberValue": "2329427688"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "2795502f-cdeb-4b94-a6fe-ef3657bdc091",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2080,
        780
      ],
      "parameters": {
        "color": 7,
        "width": 202,
        "height": 100,
        "content": "👆 Set `snoozed` project id here. You can find it in the URL. "
      },
      "typeVersion": 1
    },
    {
      "id": "ef6c23d5-386e-48c2-a2ed-eea67fe1f117",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2060,
        260
      ],
      "parameters": {
        "color": 7,
        "width": 202,
        "height": 100,
        "content": "👇🏽 Set `inbox` project id here. You can find it in the URL. "
      },
      "typeVersion": 1
    },
    {
      "id": "6727670f-b340-47cd-b86a-632ef29e2135",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1660,
        660
      ],
      "parameters": {
        "color": 7,
        "width": 202,
        "height": 100,
        "content": "👆🏽 Adjust here the timeline to return tasks to Inbox (here set to 3 days before due date)"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "at 5am": {
      "main": [
        [
          {
            "node": "Get snoozed tasks",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "every 5 min": {
      "main": [
        [
          {
            "node": "Get inbox tasks to snooze",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set args to move": {
      "main": [
        [
          {
            "node": "Generate unique uuid for move",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get snoozed tasks": {
      "main": [
        [
          {
            "node": "if task is not a subtask",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If not same project": {
      "main": [
        [
          {
            "node": "Set args to move",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get date to unsnooze": {
      "main": [
        [
          {
            "node": "if after unsnooze date",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If task has due date": {
      "main": [
        [
          {
            "node": "Get date to unsnooze",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set inbox project id": {
      "main": [
        [
          {
            "node": "If not same project",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set snoozed project id": {
      "main": [
        [
          {
            "node": "If not same project",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "if after unsnooze date": {
      "main": [
        [
          {
            "node": "Set inbox project id",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Set snoozed project id",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "if task is not a subtask": {
      "main": [
        [
          {
            "node": "If task has due date",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get inbox tasks to snooze": {
      "main": [
        [
          {
            "node": "if task is not a subtask",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge all items into a list": {
      "main": [
        [
          {
            "node": "Move the tasks",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate unique uuid for move": {
      "main": [
        [
          {
            "node": "Merge all items into a list",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Todoist, gestion de tâches, productivité : pour qui est ce workflow ?

Ce workflow s'adresse aux professionnels et aux équipes qui utilisent Todoist pour la gestion de leurs tâches. Il est idéal pour les freelances, les chefs de projet et toute personne souhaitant améliorer son efficacité au travail. Un niveau technique intermédiaire est recommandé pour la personnalisation.

Workflow n8n Todoist, gestion de tâches, productivité : problème résolu

Ce workflow résout le problème de la gestion inefficace des tâches en automatisant le processus de snooze et de réorganisation. Il élimine les frustrations liées à l'oubli de tâches importantes et réduit le temps passé à gérer manuellement les priorités. Les utilisateurs bénéficient d'une meilleure organisation et d'une visibilité accrue sur leurs tâches à venir.

Workflow n8n Todoist, gestion de tâches, productivité : étapes du workflow

Étape 1 : Le workflow est déclenché à 5 heures du matin ou toutes les 5 minutes.

  • Étape 1 : Il récupère les tâches snoozées dans Todoist.
  • Étape 2 : Le workflow vérifie si les tâches ne sont pas des sous-tâches et si elles ont une date d'échéance.
  • Étape 3 : Si une tâche doit être réactivée, il détermine la date à laquelle elle doit être réactivée.
  • Étape 4 : Les tâches sont regroupées et déplacées vers le projet approprié.
  • Étape 5 : Un identifiant unique est généré pour chaque mouvement de tâche.

Workflow n8n Todoist, gestion de tâches, productivité : guide de personnalisation

Pour personnaliser ce workflow, commencez par ajuster les paramètres du déclencheur pour définir la fréquence à laquelle vous souhaitez qu'il s'exécute. Modifiez les filtres dans le nœud 'Get snoozed tasks' pour affiner les tâches récupérées selon vos besoins. Vous pouvez également changer les ID de projet dans les nœuds 'Set inbox project id' et 'Set snoozed project id' pour diriger les tâches vers les projets souhaités. Assurez-vous de tester le workflow après chaque modification pour garantir son bon fonctionnement.