Problema de Chamada na Ferramenta de Workflow n8n

Estou criando este Workflow, que chamará outro fluxo como ferramenta dentro do agente:

Editar campos

O subworkflow não é chamado e não mostra valor

Olá @testn8n_Santiago,

a estrutura parece estar basicamente correta. Algumas coisas para verificar:

  1. No nó da ferramenta Sub-Workflow (o “Random Number Generator” como ferramenta no AI Agent): No campo “Tool Description”, está claro descrito para o que o agent deve usar a ferramenta? O agent decide com base nessa descrição se vai chamar a ferramenta. Uma descrição muito vaga geralmente faz com que o agent simplesmente ignore a ferramenta.
  2. No Sub-Workflow em si: O trigger “When Executed by Another Workflow” espera parâmetros de entrada específicos? Se sim, eles precisam corresponder exatamente ao que o agent passa como Tool-Input.
  3. Você consegue testar o Sub-Workflow isoladamente, ou seja, chamá-lo diretamente com o nó “Execute Workflow” e um entrada de teste, sem o AI Agent no meio? Isso mostraria se o Sub-Workflow em si funciona, ou se o problema está na conexão da ferramenta com o agent.

Se quiser, você também poderia compartilhar o conteúdo do System-Prompt do AI Agent, isso geralmente ajuda a entender por que o agent não está chamando uma ferramenta.

No nó Sub-Workflow Tool (o “Random Number Generator” como ferramenta no AI Agent) tenho esta descrição:

No Sub-Workflow em si: O trigger “When Executed by Another Workflow” espera parâmetros de entrada específicos? Se sim, devem coincidir exatamente com o que o agent fornece como Tool-Input.

Este é o 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.

Também compartilho o JSON

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

Olá @testn8n_Santiago,

obrigado pelo JSON, agora o erro está bem claro. Dois problemas:

  1. O fluxo de trabalho do Tool está chamando a si mesmo. No nó “Random Number Generator” do Tool, o workflowId aponta exatamente para este fluxo de trabalho (x2ClIhsa1nxXALcp), e não para um sub-fluxo separado. O Tool deve apontar para um fluxo de trabalho independente que inicia exclusivamente com “When Executed by Another Workflow” e contém o nó Code. Do jeito que está configurado agora, quando o Tool é chamado, todo o fluxo de trabalho reinicia, incluindo Manual Trigger e Edit Fields, o que não é o comportamento desejado.
  2. matchingColumns contém “hola”, um valor que não corresponde ao schema (o schema define apenas max_random_number). Isso é provavelmente um resíduo de teste e deve ser removido ou corrigido para max_random_number.

Solução: Separe o sub-fluxo de trabalho (“When Executed by Another Workflow” + nó Code) em um fluxo de trabalho separado e independente. Salve-o, copie seu workflow-ID e faça com que o nó Tool do fluxo de trabalho principal aponte para este novo ID em vez de apontar para si mesmo.

Olá Rene

Fiz a recomendação de criar dois fluxos:

E na Saída do Random Number Generator é gerado este erro.
[

{

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

}

]

E compartilho agora os dois fluxos em JSON

SubFlujo.json (1,5 KB)

WSANTIAG_Chamada de Agentes.json (4,3 KB)

Olá Santiago,

a separação em dois workflows está correta. O erro é literal e simples de resolver: o SubFluxo está salvo mas não ativado ("active": false no JSON).

Para corrigi-lo: abra o SubFluxo no n8n e ative o toggle “Active” no canto superior direito do editor. Um Tool Workflow deve estar ativo para que outro workflow possa invocá-lo, embora você o execute manualmente para testá-lo, isso não conta como “ativo” para chamadas externas.

Depois de ativá-lo, execute novamente o AI Agent e deve funcionar.

1 curtida