Problema Aleatorio de Ejecución de Nodos en n8n para el Mismo Prompt

Estoy enfrentando un problema extraño en n8n donde, para exactamente el mismo prompt y flujo de trabajo, algunos nodos muestran aleatoriamente que no se devuelven datos, aunque los datos están realmente disponibles. A veces el flujo de trabajo se ejecuta correctamente, y otras veces falla sin que se hayan realizado cambios en el flujo o la configuración.

Este problema parece inconsistente y difícil de reproducir de manera confiable. Actualmente estoy intentando depurar e identificar la causa raíz de este comportamiento.

tengo n8n autohospedado en mi máquina virtual arm (ubuntu)

@Hari_Malam ¿Qué nodo(s) específicamente están devolviendo valores vacíos de manera intermitente — es un nodo de agente IA / modelo de chat, o un nodo regular de solicitud HTTP / base de datos? eso cambia completamente la causa. si es un nodo de IA, la salida vacía intermitente generalmente = no determinismo del modelo o el agente decidiendo a mitad de la ejecución saltar la llamada a la herramienta. si es HTTP/BD, más probable timing o limitación de velocidad upstream.

este es mi flujo completo donde en el nodo final tengo realmente datos del primer nodo pero aún así a veces muestra error

finalmente nodo de respuesta de whatsapp > obtengo valores indefinidos del nodo de disparador de whatsapp aunque tengo esto…

puedes ver que el lado izquierdo tiene datos y arrastré y solté este campo

Creo que el problema está en la sintaxis de expresión en los nodos WhatsApp Reply. Estás usando:

{{ $('WhatsApp Trigger').item.json.metadata.phone_number_id }}

Cambia todas las referencias de .item.json a .first().json:

  • Sender: {{ $('WhatsApp Trigger').first().json.metadata.phone_number_id }}

  • Recipient: {{ $('WhatsApp Trigger').first().json.contacts[0].wa_id }}

.item intenta rastrear la ruta de ejecución hasta el trigger, lo que falla intermitentemente en flujos de trabajo ramificados con enrutamiento de agentes IA. .first() siempre toma el primer elemento de la salida de ese nodo, independientemente de la ruta de ejecución. Como solo recibes un mensaje de WhatsApp por trigger, .first() es seguro y confiable aquí.

Por eso funciona a veces y falla otras: cuando la ruta de ejecución del agente IA es directa, .item se resuelve correctamente. Cuando el agente realiza llamadas de herramientas adicionales o el enrutamiento es más complejo, la ruta se vuelve ambigua y .item devuelve undefined.

Avísame si te ayuda

el problema era aleatorio…
a veces sucedía…
por ahora funciona bien con tu solución…
gracias por tu apoyo