Skill Workflow n8n
Créez, déployez et gérez des workflows n8n entièrement via l'API en utilisant des snippets de nœuds préconstruits et des patterns éprouvés en production.
Configuration
Avant la première utilisation, remplissez les détails de votre instance ci-dessous. Obtenez votre clé API depuis Paramètres n8n > API.
- URL :
https://VOTRE_INSTANCE.app.n8n.cloud - Clé API :
VOTRE_CLE_API - ID de projet :
VOTRE_ID_PROJET(facultatif, pour les instances multi-projets)
Identifiants
Mappez vos alias d'identifiants ici. Obtenez les ID depuis GET /api/v1/credentials.
| Alias | Type d'identifiant | ID | Nom |
|---|---|---|---|
| gmail | gmailOAuth2 | ||
| sheets | googleSheetsOAuth2Api | ||
| slack | slackOAuth2Api | ||
| openai | openAiApi | ||
| anthropic | anthropicApi | ||
| telegram | telegramApi | ||
| notion | notionApi |
Ajoutez des lignes si nécessaire. Le champ name doit correspondre exactement au nom que vous avez donné à l'identifiant dans votre instance n8n (Paramètres > Identifiants). Les snippets de nœuds dans ./references/nodes/ utilisent des identifiants fictifs — Claude remplace vos ID à partir de ce tableau lors de la construction des workflows.
Démarrage rapide : Nouveau workflow
- Consultez
./references/nodes/pour les snippets de nœuds préconstruits. Copiez, renommez, définissez les positions. - Construisez le JSON (tableau de nœuds + objet de connexions).
- Écrivez dans
/tmp/<nom>.json. - Exécutez :
bash ./references/deploy.sh /tmp/<nom>.json - Terminé. Le script gère le POST, le transfert de projet, la vérification et la mise à jour de l'index.
Format des connexions
"Nom Source" : { "main" : [[{"node" : "Cible", "type" : "main", "index" : 0}]] }
- Fan-out (une source, plusieurs cibles) :
"main" : [[{"node" : "A", ...}, {"node" : "B", ...}]] - Fusion d'entrées : la source A se connecte avec
"index" : 0, la source B avec"index" : 1 - Branchement IF :
"main" : [ [cibles vraies], [cibles fausses] ] - Sous-nœud IA :
"ai_languageModel" : [[{"node" : "Nom du modèle", "type" : "ai_languageModel", "index" : 0}]] - Sous-nœud outil IA :
"ai_tool" : [[{"node" : "Nom de l'outil", "type" : "ai_tool", "index" : 0}]]
Structure JSON du workflow
{
"name" : "Nom du workflow",
"nodes" : [...],
"connections" : {...},
"settings" : { "executionOrder" : "v1", "callerPolicy" : "any" }
}
- Le corps du POST ne doit PAS inclure le champ
active(lecture seule, utilisez PATCH pour activer) - Supprimez toutes les clés de paramètres sauf :
executionOrder,callerPolicy,saveDataSuccessExecution,errorWorkflow(si existant) - Clés qui DOIVENT être supprimées avant PUT :
binaryMode,availableInMCP,timeSavedMode
Points d'accès API
POST /api/v1/workflows — créer
GET /api/v1/workflows/{id} — récupérer (TOUJOURS avant PUT)
PUT /api/v1/workflows/{id} — mettre à jour
PATCH /api/v1/workflows/{id} — activer/désactiver : { "active" : true }
PUT /api/v1/workflows/{id}/transfer — transférer vers un projet
GET /api/v1/executions/{id}?includeData=true — récupérer les données d'exécution
GET /api/v1/credentials — lister tous les identifiants
Règles
- GET avant PUT — ne modifiez jamais à partir du cache, récupérez toujours la version actuelle d'abord
- Vérifier après PUT — récupérez à nouveau et confirmez que les modifications ont bien été appliquées
- Les connexions utilisent les NOMS des nœuds, jamais les UUID
- Privilégiez les nœuds natifs de la plateforme plutôt que la Requête HTTP (affiche les logos de la plateforme dans l'interface)
- Nœuds Code avec des caractères
!: écrivez d'abord le JS dans/tmp/*.js, puis lisez-le (l'échappement des chaînes Python transforme!en\!) includeData=truelors de la récupération des exécutions (sans cela,data.resultData.runDataest nul)- Valeurs autorisées pour
callerPolicy:any,none,workflowsFromAList,workflowsFromSameOwner
Syntaxe des expressions (corps de la Requête HTTP)
- FONCTIONNE :
={{ ({ key : value }) }}— objet entre parenthèses, pas de JSON.stringify - CASSÉ :
={{ JSON.stringify({...}) }}— provoque une "syntaxe invalide" - CASSÉ :
={{ }}intégré dans un corps JSON statique — ne s'évalue pas - Référence inter-nœuds :
$item(0).$node["NomDuNoeud"].json.champ
Bibliothèque de nœuds
Les snippets de nœuds préconstruits se trouvent dans ./references/nodes/. Chaque fichier est un objet JSON de nœud prêt à l'emploi.
Workflow obligatoire :
- Avant de construire un nœud, parcourez
./references/nodes/*.jsonpour voir ce qui est disponible. - Si le type de nœud existe dans la bibliothèque, copiez son JSON et personnalisez-le (nom, position, paramètres). N'écrivez PAS à partir de zéro.
- Si le type de nœud n'existe PAS dans la bibliothèque, construisez-le à partir de zéro.
- Après avoir déployé le workflow, sauvegardez tout nouveau type de nœud que vous avez construit dans la bibliothèque sous la forme
./references/nodes/<nom-du-noeud>.json.
Références approfondies (chargez uniquement si nécessaire)
./references/patterns.md— patterns de répétition, état persistant, pièges d'expression./references/rules.md— règles PUT/POST, liste blanche des paramètres, conventions de nommage./references/node-types.md— référence des paramètres pour les types de nœuds courants