Nodo Executive Sub-workflow

Hola a todos. Un amigo mío me presentó este foro diciéndome que puedo obtener ayuda para mi problema con n8n.

Estoy teniendo un problema con un nodo de sub-flujo ejecutivo.

Estoy pasando algunos valores del nodo anterior al sub-flujo, pero n8n sigue quejándose de una de las entradas. El flujo funciona bien hasta que llega al sub-flujo.

Lo confuso es que el valor se ve correcto en el nodo anterior.

por favor necesito ayuda y se me está acabando el tiempo.

@Chuks_Saint ¡Bienvenido!.

Sí, tu amigo tenía razón, esta comunidad es para ayudarte a resolver tus problemas cuando trabajas con n8n.. y tenemos varios colaboradores profesionales aquí para eso.

¿Puedes compartir una captura de pantalla del nodo Execute Sub-workflow con las entradas del flujo de trabajo visibles?

Además, ¿qué tipo se supone que debe ser la entrada problemática… strings, number, boolean, o array?

Y si es posible, expande los datos de entrada del nodo anterior para que podamos comparar el valor real con lo que estás pasando al subflujo de trabajo.

claro, compartí mi pantalla abajo.

el error se muestra en fieldList. con:
“clientId, status, createdAt”
y el error:
Invalid value: Expected Array, received string

@Chuks_Saint después de revisar cuidadosamente… encontré el problema.

tu entrada fieldsList está configurada como un array, pero la estás pasando como una cadena única:

“clientId, status, createdAt”
por lo que n8n está recibiendo:

JSON
{
"fieldsList":  "clientId, status, createdAt"
}

en lugar de

JSON
{
"fieldsList" : [
"clientId",
"status",
"createdAt"
]
}

cambia la expresión/valor que va a fieldsList para que devuelva un array real.
Por ejemplo, si el nodo anterior contiene el valor separado por comas, puedes usar:

{{$json.fieldsList.split(',')}}

o, si ya tienes los campos como un array en una etapa anterior, pasa ese array directamente en lugar de convertirlo a una cadena.

la documentación de mapeo de datos de n8n explica que las expresiones pueden usarse para hacer referencia y pasar datos de nodos anteriores, así que lo importante aquí es que el tipo de datos de la expresión coincida con el tipo de parámetro.

por favor consulta la documentación de n8n como referencia

Ah, ahora lo veo.

Estaba uniendo los campos en una cadena antes y luego pasando ese valor directamente al sub-flujo de trabajo.

Lo cambié a {{$json.fieldList.split(’ ')}} y el error de validación desapareció. El sub-flujo de trabajo está funcionando ahora, ¡muchas gracias!

¡Hola @Chuks_Saint! ¡Bienvenido!
La cadena unida en tu captura de pantalla es “clientId,status,createdAt”, y split(’ ') en una cadena unida por comas no separa los nombres, devuelve un elemento o deja comas pegadas a ellos. Esto aún pasa la verificación de matriz, así que el subworkflow obtiene nombres de campo incorrectos. Divide por la coma y elimina los espacios:

{{ $json.fieldList.split(',').map(f => f.trim()) }}

Por favor, considera también marcar la respuesta que lo solucionó como la solución, ayuda a los lectores futuros a encontrar lo que realmente funcionó.

bueno :+1: por favor no olvides hacer clic en el botón de solución para ayudar a otros que tengan los mismos problemas