Cualquiera que haya montado un flujo de más de quince acciones en el diseñador web de Power Automate conoce la sensación: el lienzo tarda, el panel de contenido dinámico se abre donde no toca, pegas una expresión y el editor decide que el foco estaba en otro sitio.
El método que uso ahora es otro: exportar el paquete, editar la definición fuera y volver a importar.
El flujo de trabajo
- En la lista de flujos, Exportar → Paquete (.zip).
- Descomprimir. Dentro hay un
definition.jsoncon el flujo entero: disparador, acciones, expresiones yrunAfter. - Editar ese archivo con un editor de texto decente, con validación de JSON delante.
- Volver a comprimir e Importar, eligiendo Crear como nuevo.
Ese «crear como nuevo» es la clave. No sobreescribes nada: obtienes un flujo hermano, desactivado, sobre el que puedes probar mientras el de producción sigue trabajando. Si sale bien, activas uno y desactivas el otro.
Si sale mal, borras el nuevo y no ha pasado nada.
Por qué compensa
Ves el grafo entero. Los runAfter son la parte del flujo que el diseñador esconde mejor y la que más incidentes provoca. En el JSON están a la vista, y se entiende de un vistazo qué depende de qué.
Las expresiones se escriben una vez. En el diseñador, una expresión larga es una pelea con un campo que se cierra solo. En el archivo es una línea de texto.
El diff es tu documentación. Si guardas el definition.json en un repositorio, cada cambio queda registrado, con fecha y con la diferencia exacta.
Es la trazabilidad que Power Automate no te da.
El detalle que arruina tardes
Si, aun así, tienes que tocar algo en el diseñador, hay una regla que no admite excepción:
Cualquier expresión, en cualquier campo, se introduce por el panel de contenido dinámico, pestaña Expresión (fx), escrita sin
@y sin llaves. Tiene que quedar como una ficha morada.
Si pegas el texto con @ o con @{ } directamente en el campo, se guarda como literal y acabas con un correo a un cliente que dice, tal cual, @{body('Seleccionar')}.
Relacionado, y también aprendido por las malas: en el campo Mapa de un Seleccionar en modo texto, la expresión va desnuda, concat(...), porque ese campo es de tipo «cualquiera»; en el campo Entradas de un Redactar, en cambio, sí se usa @{...}. Misma herramienta, dos reglas distintas, ninguna señalada en ningún sitio.
Cuando el diseñador es inevitable
Hay cosas que el paquete no trae: reconectar conexiones, aprobar permisos, probar una ejecución. Para eso hay que entrar. Mis reglas cuando toca:
- Una sola pestaña abierta. He visto una expresión destinada a Power Automate aterrizar en un buscador de Power Apps Studio abierto en otra pestaña. El portapapeles cruza pestañas.
- Verificar el foco antes de pegar, no después.
- Guardar en trozos pequeños, con nota de versión, para saber exactamente en qué paso se corrompió algo.
- Pasar el Comprobador de flujos después de cada pegado. Cero errores y cero advertencias, o no se sigue.
Ninguna de estas reglas es elegante. Todas salieron de una tarde perdida.
