Problème d'appel de l'outil Workflow n8n

Je crée ce Workflow, qui appellera un autre flux comme outil dans l’agent :

Edit fields

Le sous-workflow ne s’appelle pas et n’affiche aucune valeur

Bonjour @testn8n_Santiago,

la structure semble fondamentalement correcte. Quelques éléments à vérifier :

  1. Dans le nœud Sub-Workflow-Tool (le « Random Number Generator » en tant qu’outil de l’AI Agent) : la description du champ « Tool Description » explique-t-elle clairement à quoi l’agent doit utiliser cet outil ? L’agent décide en fonction de cette description s’il appelle effectivement l’outil. Une description trop vague fait souvent en sorte que l’agent ignore simplement l’outil.
  2. Dans le Sub-Workflow lui-même : le trigger « When Executed by Another Workflow » attend-il des paramètres d’entrée spécifiques ? Si oui, ils doivent correspondre exactement à ce que l’agent transmet en tant qu’entrée d’outil.
  3. Peux-tu tester le Sub-Workflow de manière isolée, c’est-à-dire l’appeler directement avec le nœud « Execute Workflow » et une entrée de test, sans l’AI Agent entre les deux ? Cela montrerait si le Sub-Workflow lui-même fonctionne, ou si le problème vient de la liaison de l’outil à l’agent.

Si tu le souhaites, tu pourrais aussi partager le contenu du System-Prompt de l’AI Agent, cela aide souvent à comprendre pourquoi l’agent n’appelle pas un outil.

Au nœud Sub-Workflow Tool (le « Random Number Generator » comme outil dans l’AI Agent), j’ai cette description :

Dans le Sub-Workflow lui-même : Le déclencheur « When Executed by Another Workflow » attend-il des paramètres d’entrée spécifiques ? Si c’est le cas, ils doivent correspondre exactement à ce que l’agent fournit comme Tool-Input.

Voici le system prompt

  • ALWAYS use the tool
  • NEVER create the number manually
  • Pass the following parameters:
    • min: 1
    • max: {{ $json.max_random_number }}

Return only the numeric result.

Je partage également le JSON

WSANTIAG_Llamada de Agentes (1).json (5,9 KB)

Bonjour @testn8n_Santiago,

merci pour le JSON, l’erreur est maintenant clairement identifiable. Deux problèmes :

  1. Le workflow des outils s’appelle lui-même. Dans le nœud de l’outil « Random Number Generator », workflowId pointe exactement sur ce workflow (x2ClIhsa1nxXALcp), et non sur un sous-workflow séparé. L’outil doit pointer vers un workflow indépendant qui démarre uniquement avec « When Executed by Another Workflow » et contient le nœud de code. Avec la structure actuelle, l’appel de l’outil redémarre le workflow entier, y compris le Manual Trigger et Edit Fields, ce qui n’est pas le comportement souhaité.
  2. matchingColumns contient « hola », une valeur qui ne correspond pas au schéma (le schéma ne définit que max_random_number). C’est probablement un reste de test et devrait être supprimé ou corrigé en max_random_number.

Solution : Séparez le sous-workflow (« When Executed by Another Workflow » + Code Node) dans un workflow distinct et séparé. Enregistrez-le, copiez son ID de workflow, et pointez le nœud de l’outil du workflow principal vers ce nouvel ID au lieu de pointer vers lui-même.

Bonjour Rene

J’ai fait la recommandation de créer deux flux :

Et dans la sortie du Générateur de nombres aléatoires, cette erreur est générée.
[

{

“response”: “There was an error: \“Workflow is not active and cannot be executed.\””

}

]

Et je partage maintenant les deux flux en JSON

SubFlujo.json (1,5 KB)

WSANTIAG_Appel d’Agents.json (4,3 KB)

Bonjour Santiago,

la séparation en deux workflows est correcte. L’erreur est littérale et simple à résoudre : le SubFlujo est sauvegardé mais non activé ("active": false dans le JSON).

Pour corriger cela : ouvre le SubFlujo dans n8n et active le bouton bascule « Active » en haut à droite de l’éditeur. Un Tool Workflow doit être actif pour qu’un autre workflow puisse l’invoquer, même si tu l’exécutes manuellement pour le tester, cela ne compte pas comme « actif » pour les appels externes.

Après l’avoir activé, réexécute l’AI Agent et cela devrait fonctionner.

1 « J'aime »