¡Hola a todos!
Hace poco me topé con esto y lo arreglé manualmente. Comparto mis hallazgos aquí por si no es el comportamiento previsto — o en caso de que el Asistente de IA necesite mejoras.
El Problema
Le pedí al Asistente de IA de n8n que renombrara algunos nodos en uno de mis flujos de trabajo. Hizo la edición y todo se veía bien en el lienzo. Pero justo después, el flujo de trabajo se volvió completamente imposible de guardar — cada edición que hice después falló con:
Problema al guardar el flujo de trabajo
Autosave falló: No se puede convertir indefinido o nulo a objeto
La consola del navegador mostró el mismo error disparándose repetidamente desde el renderizador del lienzo y el gestor de guardado:
Los Síntomas (IA)
- Renombrar fue lo único que le pedí al Asistente de IA, pero después de su edición, el JSON del flujo de trabajo volvió con varios campos a nivel de nodo explícitamente establecidos en
null— cosas comocredentials,webhookId,notes,notesInFlow,executeOnce,retryOnFail,alwaysOutputDatayonError. - Cualquier nodo que normalmente no necesitara esas propiedades simplemente omite la clave por completo en una exportación estándar de n8n. La edición del Asistente de IA en cambio las escribió como
null. - Una vez que esa forma llegó al lienzo, cada acción subsecuente (mover un nodo, guardar, autoguardar) se bloqueó con el mismo error de
Object.keys, porquenodeTransforms.tsintenta normalizar esos campos y no espera unnullliteral.
La Causa Raíz (IA)
nodeTransforms.ts (utilizado tanto por la lógica de diferencias del lienzo como por useWorkflowSaving.ts) llama a Object.keys(...) en ciertas propiedades de nodo (como credentials) al calcular la diferencia a guardar. Object.keys(null) lanza una excepción, así que tan pronto como un nodo en el flujo de trabajo tenga null en lugar de una clave omitida, guardar/autoguardar todo el flujo de trabajo se rompe — no solo ese nodo.
Parece que la ruta de edición de nodos del Asistente de IA serializa el objeto del nodo sin descartar las claves que se resolvieron en null, lo que produce una forma de nodo técnicamente JSON válida pero no segura para el frontend.
La Solución (manualmente)
Exporta el JSON del flujo de trabajo, elimina cualquier clave en cualquier nodo cuyo valor sea null (en lugar de establecerlo en null), y reimporta. Por ejemplo, en los nodos afectados, elimina claves como:
"credentials": null,
"webhookId": null,
"notes": null,
"notesInFlow": null,
"executeOnce": null,
"retryOnFail": null,
"alwaysOutputData": null,
"onError": null
para que el objeto del nodo simplemente no tenga esas claves si no las utiliza. Después de eliminar los campos null y reimportar (Importar desde Archivo en un flujo de trabajo nuevo, no pegar en el lienzo), el flujo de trabajo se guardó y autoguardó normalmente de nuevo.
¡Espero que esto te ahorre algunas horas de depuración!
Esto parece un error en cómo el Asistente de IA serializa las ediciones de nodos — agradecería confirmación del equipo de n8n, ya que cualquiera que edite nodos en lote con él podría encontrarse con el mismo problema.

