n8n est super pratique pour automatiser tout un tas de tâches, mais parfois les nœuds intégrés ne suffisent pas. Dans cet article, on va voir comment créer un nœud personnalisé, étape par étape, avec un exemple concret : un trigger qui se connecte à Twitch et déclenche un workflow à chaque nouveau message. Si besoin n'hésitez pas à compléter cette vidéo avec la documentation de n8n
Pour commencer
Pas besoin de partir de zéro : n8n propose un starter kit. On va l’utiliser comme base pour notre nœud Twitch.
Structure du projet
Nous allons surtout nous intérésser au dossier nodes qui contient un exemple de noeud que l'on peut utiliser en exemple. Dans notre cas nous aurons besoin de créer les fichiers suivants :
- L’icône :
twitch.svg,twitch.dark.svg - Les métadonnées :
Twitch.node.json
-
Le code TypeScript :
Twitch.node.ts- On exporte une classe
Twitchqui implémenteINodeType. - On ajoute une propriété
descriptiondans laquelle on définit les propriétés de notre noeud. - On implémente la méthode
triggerpour définir la logique de déclenchement de notre noeud.
- On exporte une classe
Tester son nœud
Par défaut n8n cherche les nœuds personnalisés dans le dossier ~/.n8n/custom.
Si ce dossier n'existe pas chez vous vous devrez le créer et initialiser un package.json à l'intérieur.
Ensuite, il faudra y installer le nœud que l'on a créé. Vu que l'on souhaite tester un nœud en local il faudra utiliser le système de lien.
Dans le projet de notre noeud :
Puis dans ~/.n8n/custom on peut importer la dépendance :
On peut ensuite redémarrer notre serveur n8n et notre nouveau nœud devrait apparaitre.