Problemas de HITL em Sub Workflow N8N (Chamado por Agente de IA)

Descreva o problema/erro/pergunta

Na versão 2.23.4 eu tinha um fluxo de trabalho principal que usava um agente de IA para chamar um sub-fluxo de trabalho em que o sub-fluxo chamaria um agente de IA conectado a uma etapa de revisão (Slack) e ferramentas (Google Calendar). O sub-fluxo chamaria uma ferramenta e enviaria ao usuário uma mensagem de confirmação antes de executar uma ação. O usuário confirmaria ou negaria os detalhes da ação e isso seria uma resposta fornecida ao sub-fluxo, que a enviaria ao fluxo de trabalho principal. No entanto, nas versões 2.33.4 e 2.34.5, o fluxo de trabalho principal sempre falha quando o sub-fluxo chega à etapa de revisão. O sub-fluxo sempre diz que não há resposta, apesar de estar funcionando corretamente após a etapa de confirmação.
Tenho curiosidade de saber por que isso funcionava em uma versão mais antiga do N8N, mas depois de atualizar para a nova versão começou a falhar. Espero obter algumas informações sobre se é uma limitação do N8N ou um problema de configuração da minha parte. Também estou aberto a sugestões sobre como melhorar a arquitetura do meu fluxo de trabalho. Qualquer informação é bem-vinda.

Qual é a mensagem de erro (se houver)? Problema no nó [Sub Workflow]

Houve um erro: “O fluxo de trabalho não retornou uma resposta”

Compartilhe seu fluxo de trabalho

Fluxo de trabalho principal: Gatilho do Slack -> Agente de IA { Chama Sub-fluxo } -> Resposta do Slack

Sub-fluxo: Acionado por outro fluxo de trabalho -> Agente de IA { Chama etapa de revisão do Slack -> Se confirmado, continuar para executar ferramentas (Google Calendar) Se negado, saída: Ação foi cancelada. } -> Definir campo (resposta: saída da IA)

Compartilhe a saída retornada pelo último nó

No fluxo de trabalho principal, nenhuma saída é fornecida. Ele interrompe o fluxo de trabalho principal e exibe um erro informando que nenhuma saída é fornecida. Ele para prematuramente antes que o sub-fluxo termine de ser executado.

Informações sobre sua configuração n8n

  • versão n8n: 2.33.4 e 2.34.5
  • Banco de dados (padrão: SQLite):
  • configuração n8n EXECUTIONS_PROCESS (padrão: own, main): padrão
  • Executando n8n via (Docker, npm, n8n cloud, app para desktop): Docker
  • Sistema operacional: Ubuntu 26.04 LTS

@Ethan0034

Isso parece ser uma regressão. Que tal registrar um relatório de erro?

@kjooleng @Ethan0034 Isso é um bug no github e foi corrigido, então acho que é uma recaída

e

Oi @Ethan0034 Bem-vindo!
A sub-execução entra em um estado de espera no nó de revisão do Slack, e a chamada de ferramenta do pai é resolvida ali mesmo, em vez de no final do sub-workflow, o que é o que produz a resposta vazia. Desde 2.6 a revisão pode ficar na conexão da ferramenta no workflow principal, então nada dentro do sub-workflow jamais fica em espera.
Na conexão do AI Agent para a ferramenta que você quer confirmar, clique no ícone + e escolha “Add human review step”, depois selecione Slack e defina o aprovador e a mensagem. Coloque isto na mensagem para que o usuário veja os detalhes da ação antes de aprovar:

The AI wants to use {{ $tool.name }} with:
{{ JSON.stringify($tool.parameters, null, 2) }}

Depois remova o nó sendAndWait do sub-workflow. Aprovar executa a ferramenta com os parâmetros do IA, Negar a cancela e reporta a rejeição de volta ao agente. Liste as ferramentas controladas e o que uma negação significa no seu system prompt para que o agente trate uma rejeição com elegância.

@Ethan0034
é recomendado utilizar a versão estável 2.31.4

Eu também apoiaria essa arquitetura.

A pequena coisa que eu adicionaria é fazer a etapa antes da revisão retornar um payload de revisão simples em vez de deixar o sub-fluxo parecer uma mini conversa por conta própria.

Algo como:

```

status: needs_review

tool_name: create_calendar_event

summary: resumo em linguagem simples para Slack

proposed_payload: os dados exatos que serão enviados

on_approve: executar ação de calendário

on_deny: parar e retornar uma mensagem de negação clara

```

Isso dá ao revisor humano algo concreto para aprovar, e dá ao fluxo de trabalho pai um objeto limpo para registrar/depurar. Na minha experiência, fluxos HITL ficam frágeis rapidamente quando a etapa de aprovação, execução de ação e resposta final do agente estão todas escondidas dentro da mesma chamada de ferramenta aninhada.

Nova versão n8n@2.39.0 foi lançada, que inclui o GitHub PR 37087.

Nova versão n8n@2.39.8 foi lançada, que inclui o GitHub PR 38949.