Problema de llamada en la herramienta de flujo de trabajo n8n

Estoy creando este Workflow, el cual llamara otro flujo como herramienta dentro del agente:

Edit fields

No me llama el subworkflow y no me muestra valor

Hola @testn8n_Santiago,

la estructura se ve fundamentalmente correcta. Algunos puntos para verificar:

  1. En el nodo Sub-Workflow Tool (el “Random Number Generator” como herramienta en el AI Agent): ¿Está claramente descrito en el campo “Tool Description” para qué debe usar el agent la herramienta? El agent decide basándose en esta descripción si llama o no la herramienta. Una descripción demasiado vaga suele hacer que el agent simplemente ignore la herramienta.
  2. En el Sub-Workflow mismo: ¿El trigger “When Executed by Another Workflow” espera parámetros de entrada específicos? Si es así, deben coincidir exactamente con lo que el agent proporciona como Tool-Input.
  3. ¿Puedes probar el Sub-Workflow de forma aislada, es decir, llamarlo directamente con el nodo “Execute Workflow” y una entrada de prueba, sin el AI Agent en el medio? Eso mostraría si el Sub-Workflow en sí funciona, o si el problema está en la conexión de la herramienta al agent.

Si quieres, también podrías compartir el contenido del System-Prompt del AI Agent, eso suele ayudar a entender por qué el agent no llama una herramienta.

En el nodo Sub-Workflow Tool (el “Random Number Generator” como herramienta en el AI Agent) tengo esta descripcion:

En el Sub-Workflow mismo: ¿El trigger “When Executed by Another Workflow” espera parámetros de entrada específicos? Si es así, deben coincidir exactamente con lo que el agent proporciona como Tool-Input.

Este es el 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.

Tambien comparto el JSON

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

Hola @testn8n_Santiago,

gracias por el JSON, ahora el error es claramente visible. Dos problemas:

  1. El flujo de trabajo de la herramienta se llama a sí mismo. En el nodo de herramienta “Random Number Generator”, el workflowId apunta exactamente a este flujo de trabajo (x2ClIhsa1nxXALcp), no a un sub-flujo de trabajo separado. La herramienta debe apuntar a un flujo de trabajo independiente que comience exclusivamente con “When Executed by Another Workflow” y contenga el nodo Code. Tal como está configurado ahora, cuando se llama a la herramienta, todo el flujo de trabajo se reinicia, incluido el Manual Trigger y Edit Fields, lo que no es el comportamiento deseado.
  2. matchingColumns contiene “hola”, un valor que no coincide con el esquema (el esquema solo define max_random_number). Probablemente es un residuo de prueba y debe eliminarse o corregirse a max_random_number.

Solución: Separa el sub-flujo de trabajo (“When Executed by Another Workflow” + Code-Node) en un flujo de trabajo nuevo y separado. Guárdalo, copia su ID de flujo de trabajo, y en el nodo de herramienta del flujo de trabajo principal apunta a esta nueva ID en lugar de a sí mismo.

Hola Rene

He hecho la recomendación de crear dos flujos:

Y en el Output de Random Number Generator se genera este error.
[

{

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

}

]

Y comparto ahora los dos flujos en JSON

SubFlujo.json (1,5 KB)

WSANTIAG_Llamada de Agentes.json (4,3 KB)

Hola Santiago,

la separación en dos workflows es correcta. El error es literal y simple de resolver: el SubFlujo está guardado pero no activado ("active": false en el JSON).

Para corregirlo: abre el SubFlujo en n8n y activa el toggle “Active” arriba a la derecha del editor. Un Tool Workflow debe estar activo para que otro workflow pueda invocarlo, aunque tú lo ejecutes manualmente para probarlo, eso no cuenta como “activo” para llamadas externas.

Después de activarlo, vuelve a ejecutar el AI Agent y debería funcionar.

1 me gusta