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.
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
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.