Fonctionnalité expérimentale. L’intégration n8n n’est pas encore entièrement testée. L’administrateur l’active sciemment dans Paramètres → Avancé → Autres ; tant qu’elle est désactivée, l’onglet n8n et ce chapitre du guide restent masqués, et les points de terminaison
/api/n8n/*sont inactifs. L’intégration n8n fait partie du plan Pro. Dans le plan Standard, la carte « Autres » avec son interrupteur n’existe pas, il n’est donc pas possible d’activer l’intégration.
Qu'est-ce que n8n ?
n8n est une plateforme d'automatisation de processus. L'intégration avec Task Manager fonctionne dans les deux sens :
- Webhooks sortants (Task Manager → n8n) - l’application envoie elle-même des notifications à votre workflow n8n lorsque quelque chose se produit (création d’une tâche, changement de statut, ajout d’un message, échéance qui approche, etc.).
- API entrante (n8n → Task Manager) - n8n peut appeler l’application pour créer des tâches, ajouter des messages ou récupérer des données.
Activation de l'intégration
Cliquez sur l’icône de la roue dentée (⚙) → onglet n8n. L’onglet se divise en deux parties : « Automatisations personnelles » - configuration vous concernant exclusivement, et « Automatisations globales » - réglages système communs à tous les utilisateurs, visibles uniquement par l’administrateur. Pour que les événements soient envoyés, l’administrateur doit activer l’interrupteur « Activer l’intégration n8n » dans la partie globale.
A. Webhooks sortants - notifications de l’application vers n8n
Configuration
- Dans l’onglet n8n, cliquez sur « Nouveau webhook ».
- Indiquez le nom du webhook ainsi que l'URL du webhook copiée depuis n8n (nœud Webhook comme déclencheur, méthode POST).
- Cochez les événements à envoyer.
- (Facultatif) définissez un secret - l’application signera les requêtes avec celui-ci (HMAC), afin que n8n puisse vérifier leur authenticité.
- Enregistrez. Vous pouvez envoyer un ping de test pour vérifier la connexion.
Événements disponibles (sélection)
- Tâches :
task.created,task.updated,task.status_changed,task.completed,task.deleted,task.deadline_approaching,task.overdue - Discussions / messages :
chat.message_sent,chat.mention,chat.file_uploaded - Utilisateurs / espace de travail :
user.created,user.login,user.logout,workspace.created - Système :
system.daily_summary,system.weekly_summary
Chaque requête vers n8n contient le nom de l'événement ainsi que des données (data) avec le contexte (par ex. id de la tâche, espace de travail, auteur).
B. API entrante - n8n pilote l’application
Configuration
- Dans l’onglet n8n, cliquez sur « Nouvelle clé API ».
- Copiez le jeton généré (affiché une seule fois).
- Dans n8n, utilisez le node HTTP Request avec l'en-tête d'autorisation :
Les actions sont exécutées dans le contexte de l'utilisateur qui a créé la clé (ses droits et son accès aux espaces de travail).Authorization: Bearer TWÓJ_TOKEN
Points d'accès disponibles
GET /api/n8n/ping.php- test du jeton et vérification de l’état (renvoie des informations sur la clé et l’utilisateur).GET /api/n8n/workspaces.php- liste des espaces de travail disponibles.GET /api/n8n/users.php- liste des utilisateurs (uniquement les clés créées par l’administrateur global).GET /api/n8n/tasks.php?workspace_id=&status=&limit=- liste des tâches.POST /api/n8n/tasks.php- création d’une tâche. Corps JSON :
La description est nettoyée du code HTML dangereux de la même façon que dans l'application et est soumise à la même limite de taille.{ "workspace_id": 1, "subject": "Nowe zadanie z n8n", "description": "Opcjonalny opis", "priority": "high", "deadline_date": "2025-12-31", "status": "none", "assignees": [2, 5] }PATCH /api/n8n/tasks.php- mise à jour d'une tâche existante, entre autres un changement de statut. Corps JSON (task_idrequis, le reste des champs est facultatif - vous ne renseignez que ce que vous souhaitez modifier) :{ "task_id": 42, "status": "in_progress", "priority": "high", "deadline_date": "2026-08-01", "subject": "Nowy temat", "description": "Nowy opis" }status:none|in_progress|done|cancelled. Le changement de statut fonctionne exactement comme dans l’application : une entrée « a modifié le statut en… » apparaît dans le fil de discussion de la tâche, les personnes assignées reçoivent une notification par e-mail et un webhooktask.status_changedest envoyé à n8n (ainsi quetask.completedpourdone).deadline_date: nullefface l'échéance. Changer l'échéance déplace les rappels qui y sont attachés.- Les autres champs déclenchent le webhook
task.updated. descriptionest enregistrée de la même manière que lors d'une modification depuis la fenêtre de la tâche : le HTML dangereux est supprimé, lorsque le chiffrement est activé, la description est stockée chiffrée dans la base, et les cases cochées dans la liste de tâches restent à leur position, même si le nouvel ordre des éléments a changé dans la nouvelle description. La tâche reçoit la mention « (modifiée) » uniquement si le sujet ou le contenu de la description ont réellement changé.- Si la nouvelle description supprime une liste de tâches à laquelle quelqu'un a ajouté ses propres éléments, rien n'est enregistré (y compris le statut de la même requête) et vous recevez une erreur
409avec le codeDOPISKI_BEZ_LISTYet un champindeksy. Pour quand même supprimer la liste avec les ajouts, renvoyez la même modification avec le champ"usun_dopiski"égal à la liste du champindeksy. - Le sujet, l'échéance, la priorité et la description sont enregistrés en premier, puis seulement le statut - un refus d'enregistrement de la description ne laisse pas le statut modifié.
- Redéfinir le même statut n'envoie rien (sans risque en cas de nouvelles tentatives dans n8n).
- Si votre nœud HTTP ne prend pas en charge la méthode PATCH - envoyez le même corps via POST : la présence de
task_idfait basculer l’endpoint en mode mise à jour. - Codes d'erreur :
400task_idmanquant, aucun champ à modifier ou trop d'éléments dans la liste de tâches (TOO_MANY),413description trop volumineuse (PAYLOAD_TOO_LARGE, généralement une image collée),422valeur invalide (statut/priorité/format de date),404la tâche n'existe pas ou est en dehors de l'accès de la clé,403droits insuffisants pour modifier le statut/éditer,409la description supprime une liste contenant des ajouts d'autres utilisateurs.
POST /api/n8n/messages.php- ajout d’un message à une tâche ou à une discussion. Corps JSON :{ "entity_type": "task", "entity_id": 42, "content": "Treść wiadomości" }
Exemples de scénarios d'automatisation
- Formulaire Google → n8n →
POST /api/n8n/tasks.php(nouvelle tâche dans Task Manager) - E-mail Gmail avec un objet donné → n8n → tâche avec une description tirée du contenu de l'e-mail
- Changement de statut dans Jira → n8n → message/mise à jour de la tâche liée
- Webhook sortant
task.created→ n8n → entrée dans une feuille Google / notification sur Slack task.deadline_approaching→ n8n → rappel e-mail/SMS d'une échéance qui approche
Résolution des problèmes
- Pas de notifications dans n8n - vérifiez que l'intégration est activée, que le webhook est actif et que l'URL est correcte. Utilisez le « ping de test » et le diagnostic dans l'onglet n8n : il indique si l'adresse du webhook répond (vérification effectuée de la même manière qu'à l'envoi - sans redirections et avec vérification du certificat, donc une instance n8n avec un certificat auto-signé apparaîtra comme inaccessible), combien d'événements attendent dans la file de réessai et quand le dernier envoi a réussi.
- Le secret du webhook est stocké chiffré dans la base. Après avoir changé la clé
ENCRYPTION_KEYdansconfig.php, les secrets enregistrés deviennent illisibles - l'application envoie alors les événements sans signature, générez donc un nouveau secret pour le webhook et saisissez-le dans n8n. - Absence d’autorisation (401) dans l’API entrante - le jeton est invalide ou a été supprimé. Créez une nouvelle clé API et mettez à jour l’en-tête
Authorizationdans n8n. - La tâche n’est pas créée - assurez-vous que
workspace_idexiste, que l’utilisateur de la clé y a accès et qu’il dispose du droit d’ajouter des tâches.
