Qu'est-ce que l'intégration n8n dans Task Manager ?

L’intégration n8n de Task Manager transfère des données entre les tâches et d’autres systèmes. Une demande envoyée via un formulaire peut devenir une tâche sans ressaisie. La création d’une tâche peut déclencher l’ajout d’une ligne dans une feuille Google ou l’envoi d’une notification sur Slack. L’équipe continue de travailler dans Task Manager comme d’habitude.

L'intégration n8n fait partie de la version Pro. C'est une fonctionnalité expérimentale, désactivée par défaut. L'administrateur l'active dans Paramètres → Avancé → Autres. Lorsqu'elle est désactivée, l'onglet n8n n'apparaît pas dans l'interface, et les points de terminaison /api/n8n/* rejettent les requêtes avec le code 503. Le chapitre du guide consacré à n8n disparaît également du contexte de l'Assistant IA.

n8n est une plateforme distincte permettant de créer des flux entre applications. Task Manager lui envoie des événements et accepte en retour les appels qu’elle lui transmet.

Comment ça marche ?

Les données sont envoyées de Task Manager vers n8n via un webhook. Vous indiquez son nom, l’URL du nœud *Webhook* dans n8n et choisissez les événements. Vous pouvez également ajouter un secret pour signer les requêtes (HMAC). Vous avez le choix entre 26 événements, notamment task.created, task.status_changed, task.completed et chat.message_sent. Les événements système (system.daily_summary et les autres system.*), ainsi que user.created, sont envoyés uniquement aux webhooks globaux créés par un administrateur. Chaque requête contient le nom de l’événement, un horodatage et des données contextuelles. Vous pouvez envoyer un ping de test avant de créer l’ensemble du flux.

Dans l’autre sens, les échanges s’effectuent à l’aide d’une clé API. Le jeton au format tm_live_<32hex> n’est affiché qu’une seule fois. Dans n8n, vous le fournissez dans l’en-tête Authorization: Bearer. Les points de terminaison disponibles sont ping.php, workspaces.php, users.php, tasks.php et messages.php. POST /api/n8n/tasks.php crée une tâche avec un sujet, une description, une priorité, une échéance et une liste de personnes assignées. PATCH met à jour une tâche existante. Le champ task_id est obligatoire ; les autres champs sont facultatifs. Si le node HTTP ne prend pas en charge PATCH, vous pouvez envoyer le body via POST. La présence de task_id fait passer le point de terminaison en mode mise à jour.

Le changement de statut depuis n8n suit le même processus que dans l’application. Une entrée « a changé le statut en… » apparaît dans le fil de discussion de la tâche, les personnes qui y sont affectées reçoivent un e-mail et Task Manager envoie task.status_changed (ainsi que task.completed pour le statut done). Réattribuer le même statut ne déclenche pas de nouvel événement. Les webhooks en échec sont placés dans une file d’attente. Celle-ci prévoit des délais de 60, 300 et 1800 secondes et un maximum de quatre tentatives, mais les nouvelles tentatives sont exécutées par le cron retry ou par le traitement de la file lors de certaines requêtes à l’application. Sans cron ni activité dans l’application, les nouvelles tentatives n’auront pas lieu à ces intervalles. Une erreur d’intégration ne bloque pas votre travail dans l’application.

La clé utilise les autorisations de la personne qui l’a créée et son accès aux espaces de travail. users.php est accessible uniquement avec des clés d’administrateur global. Les adresses de webhook appartenant à des plages IP privées ou réservées sont bloquées ; la politique n8n_private_network_policy peut prendre les valeurs off, admin et all. En cas de valeur incorrecte, elle fonctionne comme off.

Task Manager : paramètres de l'intégration n8n avec la liste des webhooks et la clé API.
Webhooks sortants et clé API dans une seule fenêtre de paramètres - c'est tout ce dont n8n a besoin.

Qu'y gagnez-vous ?

Vous n’avez pas à recopier dans une tâche une demande envoyée par un client via un formulaire. Le matin, vous pouvez commencer par traiter la demande au lieu de transférer des données d’une fenêtre à l’autre.

Vous n’avez pas non plus à penser à mettre à jour deux systèmes une fois le travail terminé. Lorsqu’une tâche est clôturée, l’information peut être transmise grâce au flux configuré. Le client n’a pas à attendre que quelqu’un signale manuellement le changement dans l’autre système.

Votre équipe n’a pas besoin d’apprendre à utiliser n8n pour profiter de l’intégration prête à l’emploi. Lorsqu’une tâche est clôturée par un flux externe, les personnes qui y sont affectées reçoivent un e-mail et une entrée signalant le changement apparaît dans le fil de discussion. Une panne de l’intégration n’interrompt pas le travail sur les tâches.

Exemple du quotidien

Une entreprise de maintenance reçoit des demandes dans un système de tickets externe. Un flux n8n reçoit un nouveau ticket et envoie POST /api/n8n/tasks.php. Une tâche est créée avec l’adresse dans la description, la priorité high et l’échéance dans deadline_date - dans l’espace de travail auquel le propriétaire de la clé a accès, et avec les personnes de la liste assignees qui y ont également accès.

Lorsque le technicien clôture la tâche, Task Manager envoie task.completed au webhook configuré pour cet événement, et le flux met à jour le statut dans le système du client. Un webhook distinct pour task.deadline_approaching (l’événement est émis par une tâche récurrente « deadline », il nécessite donc un cron activé) peut déclencher l’envoi d’un SMS de rappel à l’approche de l’échéance. Le technicien n’a pas besoin d’utiliser n8n.

Questions fréquentes

L'intégration n8n est-elle disponible dans la version Standard ?

Non, c'est une fonctionnalité de la version Pro. Dans la version Standard, il n'y a pas d'interrupteur d'intégration dans les Paramètres, il est donc impossible de l'activer.

L’intégration n8n fonctionne-t-elle dès l’installation ?

Non. Il s’agit d’une fonctionnalité expérimentale, désactivée par défaut. L’administrateur l’active dans Paramètres → Avancé → Autres. D’ici là, l’onglet n8n est masqué et les endpoints /api/n8n/* renvoient le code 503.

Les intégrations nécessitent-elles un développeur ?

Pour créer un flux dans n8n, l’aide d’une personne technique peut être utile. Il faut copier l’adresse du webhook, fournir un jeton et préparer le body JSON. Il n’est pas nécessaire de disposer de ces connaissances pour utiliser un flux prêt à l’emploi.

Puis-je modifier le statut d’une tâche depuis un système externe ?

Oui. Envoyez une requête PATCH à /api/n8n/tasks.php avec task_id et le statut none, in_progress, done ou cancelled. Le changement déclenche une entrée dans le fil de discussion de la tâche, l’envoi d’un e-mail aux personnes qui y sont affectées et un webhook sortant.

Que se passe-t-il si n8n ne répond pas ?

Les webhooks en échec sont placés dans une file d’attente. Celle-ci prévoit des délais de 60, 300 et 1800 secondes et un maximum de quatre tentatives, mais les nouvelles tentatives sont exécutées par le cron retry ou par le traitement de la file lors de certaines requêtes à l’application. Sans cron ni activité dans l’application, les nouvelles tentatives n’auront pas lieu à ces intervalles. Une erreur d’intégration ne bloque pas votre travail dans l’application.

La désactivation de l’intégration supprime-t-elle la configuration ?

Non. Les webhooks et les clés API restent dans la base de données et sont de nouveau disponibles lorsque vous réactivez l’intégration.