Automatizar la transcripción a sistemas troncales con Power Automate for desktop — Sustituir la entrada manual desde Excel y papel por automatización de UI
· Actualizado el: · Go Komura · Power Automate, RPA, Flujo de escritorio, Automatización de UI, Excel, Sistema troncal, Automatización de procesos, Consultoría técnica
Recibo con frecuencia consultas del tipo «cada día, la persona encargada vuelve a teclear a mano en el sistema de gestión de ventas los pedidos que llegan por el formulario web o por correo» o «transcribir a fin de mes al sistema troncal el Excel de asistencia y solicitudes lleva dos días enteros». Lo que tienen en común estos casos es que el sistema de destino es una aplicación de negocio antigua que lleva 10 o 20 años en uso (pantallas de la era WinForms o VB6, un cliente propietario) y no tiene ni API ni función de importación de CSV.
Reformar el sistema sería la solución de fondo, pero no es raro que la entrada manual continúe porque el proveedor ya no existe, no hay código fuente disponible, o el coste de la reforma no compensa. La herramienta realista para cubrir ese hueco es la automatización de UI con Power Automate for desktop (PAD). Como reproduce tal cual la entrada por teclado y las operaciones de ratón que hace una persona, permite automatizar sin tocar el sistema de destino. Con Windows 11 hay además la comodidad de poder probarlo sin instalar nada adicional.
Sin embargo, la automatización de UI también es una herramienta en la que «hacerla funcionar por primera vez es fácil, pero mantenerla funcionando de forma estable es difícil». Este artículo se centra en el trabajo de transcripción y organiza, desde la decisión de si conviene o no elegir la automatización de UI, hasta el alcance del uso gratuito y el límite de las licencias, el diseño para una ejecución estable y la recuperación ante fallos. La distinción de usos de Power Automate en general y la teoría general del manejo de errores los traté en «Automatizar el trabajo con Power Automate — Distinción entre flujo en la nube y flujo de escritorio, y diseño del manejo de errores»; este artículo es el desarrollo específico para el trabajo de transcripción.
1. Conclusión principal
- La automatización de UI es el último recurso. Antes de nada, hay que buscar si el destino tiene alguna vía de importación de CSV, inserción directa en base de datos, API o integración de archivos. Si existe aunque sea una, esa opción será decididamente más estable.
- PAD viene incorporado de serie en Windows 11 y también puede instalarse gratis en Windows 10. Con la grabadora y más de 400 acciones, un flujo de transcripción que lee Excel y escribe en pantalla se puede montar sin escribir código.12
- Si solo se trata de crear el flujo y ejecutarlo localmente (ejecución asistida), no hay coste adicional. Es igual con una cuenta de trabajo o educativa que con una cuenta Microsoft. En cambio, iniciar el flujo automáticamente desde un flujo en la nube, la ejecución programada y compartir el flujo requieren una licencia de Power Automate Premium.34
- La ejecución desatendida (unattended), como en un proceso nocturno por lotes, exige además el registro de la máquina y una licencia de Power Automate Process. También en el plano técnico existen requisitos propios, como que «todos los usuarios deben tener la sesión cerrada».56
- La clave de una ejecución estable son tres puntos: cómo se construyen los selectores, la espera de elementos y el manejo de excepciones fila a fila. Un flujo lleno de esperas (Wait) fijas acabará rompiéndose tarde o temprano.789
- Para saber «hasta dónde se entró» en caso de fallo, se incorpora desde el principio un diseño en el que el Excel de origen tiene una columna de estado y una columna de número de registro que se escriben de vuelta fila a fila. Así, aunque se vuelva a ejecutar, no se produce doble entrada.
- Como la fatalidad de romperse con los cambios de pantalla no desaparece, el trabajo con mucho volumen, que no se puede detener o cuya aplicación de destino se actualiza con frecuencia pertenece al terreno del desarrollo de integración de datos o de la reforma del sistema troncal. El criterio de decisión se organiza en el capítulo 8.
2. Qué problema plantea la transcripción
Transcribir desde Excel o papel al sistema troncal plantea un problema mayor que «se pierde tiempo en una tarea sencilla». En las consultas que recibo se repiten estos tres puntos:
- El tiempo se concentra en los días de cierre. La entrada diaria de pedidos aún se reparte, pero el procesamiento de facturación de fin de mes o el resumen de asistencia concentran la transcripción en uno o dos días justo después del cierre. Durante ese periodo, la persona encargada apenas puede hacer otra cosa. En muchas empresas se absorbe con horas extra o con refuerzos de otras áreas.
- Los errores de entrada se propagan aguas abajo. Un dígito mal tecleado, una fila desplazada, un código de producto confundido. Los errores de transcripción se descubren ya convertidos en facturas o en cifras de inventario, así que investigar el origen y corregirlo cuesta varias veces más que el propio error de entrada. Añadir una doble verificación reduce los errores, pero también aumenta el tiempo.
- Se convierte en una tarea que solo puede hacer esa persona. Conocimientos como «en esta pantalla hay que entrar en este orden o da error» o «solo con este cliente se entra de forma especial» se acumulan en la cabeza de la persona encargada, y cuando falta, el trabajo se detiene.
El valor de la automatización no se limita al ahorro de tiempo. Como el flujo entra exactamente lo que se ha decidido, desaparecen los errores de transcripción, y como el procedimiento queda plasmado en forma de flujo, también se mitiga la dependencia de una sola persona. Aplanar el pico de los días de cierre también es un beneficio importante.
Cabe señalar que, si el origen de la transcripción es papel o fax, antes hace falta un paso de «lectura». La OCR de pedidos por fax se trata en el artículo publicado simultáneamente «Leer pedidos por fax con AI Builder y procesarlos con Power Automate», así que este artículo parte de la premisa de que el origen «ya está en forma de datos, como un Excel».
3. Opciones de automatización — la automatización de UI es el último recurso
Lo primero que quiero subrayar es que la automatización de operaciones de pantalla (automatización de UI) es la última de las opciones. Como la automatización de UI depende de «circunstancias de la presentación» como el diseño de pantalla, la resolución o la velocidad de respuesta, es inevitable que, por muy cuidadosamente que se construya, sea más frágil que un método que intercambia datos de forma directa. Antes de nada, conviene comprobar si el sistema troncal de destino tiene alguna de las siguientes vías.
| Vía de integración | Qué comprobar | Estabilidad | Notas |
|---|---|---|---|
| Función de importación de CSV o de archivos de longitud fija | Si en el fondo de algún menú hay «importación de datos externos» o «alta masiva». Consultarlo con el manual o el soporte del proveedor | Alta | Los sistemas de negocio antiguos disponen de ella con más frecuencia de lo que parece. La generación del archivo de importación se puede automatizar con PAD o PowerShell |
| Inserción directa en base de datos | Si se conoce el tipo de base de datos y los datos de conexión. Si el contrato de mantenimiento del proveedor permite la escritura directa | Alta | Existe el riesgo de saltarse la lógica de negocio (numeración, comprobaciones de integridad), así que la lectura puede ser directa, pero la escritura debe hacerse con cautela y verificación previa |
| API o middleware de integración | Si un paquete de versión más reciente ofrece alguna opción de integración | Alta | Hay que sopesarlo frente al coste de la opción |
| Integración por archivos (carpeta vigilada) | Si existe algún mecanismo que importe los archivos depositados en una carpeta indicada | Alta | Es una forma habitual en sistemas de formularios o de almacén |
| Automatización de UI (PAD) | Cuando no existe ninguna de las anteriores | Media | El único método que no requiere tocar la pantalla. Tema de este artículo |
Otra opción es eliminar directamente la transcripción, es decir, reformar o reconstruir el propio sistema troncal. La decisión de añadir una función de importación a una aplicación VB6, o de rehacerla en web desde la propia entrada de pedidos, se trata en «¿Hasta cuándo funcionará una aplicación VB6? — El estado del soporte del runtime y un camino realista hacia .NET» y en «Casos en los que no conviene convertir una aplicación de Windows a web — Un cuadro de decisión y la solución realista de «dividir»». Como la reforma implica un coste de desarrollo, también es realista un orden como automatizar primero con PAD para ganar tiempo, e invertir en la reforma cuando el volumen de trabajo crezca y se vea el límite.
4. Fundamentos de Power Automate for desktop
La barrera de entrada es baja
PAD viene incorporado de serie en Windows 11. Buscando «Power Automate» en el menú Inicio aparece la aplicación, y en el primer inicio se descarga automáticamente y ya se puede empezar a usar.2 En Windows 10 y en Windows Server 2016 también hay derecho de uso, y se puede instalar gratis desde el centro de descargas.2 Existen dos formas de instalación, la versión de Microsoft Store y la del instalador MSI; si se piensa llegar más adelante a la integración en la nube (registro de máquina) descrita después, conviene elegir la versión MSI, que permite instalar junto con la aplicación de runtime de máquina.10
Crear el esqueleto con la grabadora
PAD dispone de una grabadora que registra las operaciones y las convierte en una lista de acciones. Como registra las operaciones de ratón y teclado en relación con los elementos de UI, resulta bastante práctica para construir el esqueleto de un flujo de transcripción. Aquí es donde algo resulta especialmente útil para el trabajo de transcripción: se puede elegir entre dos métodos de grabación, UIA (UI Automation) y MSAA (Microsoft Active Accessibility). UIA es el método recomendado para aplicaciones relativamente nuevas como WPF o WinForms, mientras que MSAA es el método pensado para aplicaciones antiguas, como VB6 o Win32 clásico, de las que UIA no puede obtener los elementos. Cuando en la pantalla de un sistema troncal antiguo no se consigue capturar bien un elemento, cambiar el modo de grabación de la grabadora a MSAA a veces permite capturarlo.11
Ahora bien, la grabadora es solo para el esqueleto. No puede grabar bifurcaciones condicionales ni bucles, así que se da por hecho que, tras grabar, hay que terminar el flujo editándolo en el diseñador.11
Elementos de UI y selectores
PAD memoriza los botones y cuadros de texto de la pantalla como «elementos de UI». En la práctica, lo que los identifica es el selector, una combinación de la jerarquía de ventanas y de atributos. La vida útil de un flujo de transcripción depende, casi por completo, de cómo se construya este selector. Si el selector incluye un índice numerado consecutivo o un ID que cambia dinámicamente, un día, aunque la pantalla se vea idéntica, dejará de poder capturarse de repente.
El selector representa la jerarquía (relación padre-hijo) con >, y cada elemento se escribe en la forma elemento[atributo="valor"]. Por ejemplo, para la ventana del Bloc de notas sería algo como :desktop > window[Name="Notes.txt - Notepad"][Process="Notepad"].7 Como el selector que genera automáticamente la grabadora fija ese «valor» tal cual con la cadena de texto que se veía en pantalla en ese momento, se produce el tipo de roturas siguiente.
| Selector frágil | Qué ocurre | Cómo corregirlo |
|---|---|---|
Especificar con coincidencia exacta un título que incluye fecha o cantidad, como window[Name="Entrada de pedidos - 2026/07/18"] |
Al día siguiente, cuando cambia la fecha, deja de coincidir con la misma pantalla | Cambiar el operador del atributo Name de «Equal to» a Contains y dejar el valor solo como «Entrada de pedidos» |
Fijar en profundidad la jerarquía del contenedor (panel), como pane > pane > pane > edit |
Con solo añadir un marco a la pantalla, la jerarquía se desplaza y deja de poder capturarse | Desactivar los niveles intermedios y dejar únicamente la ventana padre estable y el elemento de destino |
| Depender del orden entre elementos hermanos (el tercer Edit, por ejemplo) | Con que se añada o quite un solo campo de entrada, se escribe en el campo contiguo | Identificar no por orden, sino por un atributo propio del elemento, como Id (AutomationId). Si no se puede obtener, probar también a recapturarlo con MSAA |
Especificar con coincidencia exacta una cadena procedente de los datos, como edit[Name="Cliente: Yamada Shoji"] |
Falla cada vez que cambia el cliente | Sustituir la parte variable por una variable de PAD (%CustomerName%), o bien usar Regular expression match |
Los operadores disponibles en la pantalla de edición del selector son seis: Equal to, Not equal to, Contains, Starts with, Ends with y Regular expression match (el dialecto de expresión regular es el de .NET). Ahora bien, el editor visual solo permite usar variables cuando el operador es «Equal to», así que conviene tener presente que «sustituir una parte por una variable» y «usar Contains para una coincidencia parcial» son mutuamente excluyentes.7
Dicho esto, para las operaciones importantes conviene registrar selectores de reserva. Un mismo elemento de UI puede tener varios selectores, que se prueban en orden y, si uno falla, se recurre al siguiente. Cuando un selector se rompe, la función Repair selector puede generar candidatos de reparación. Esta misma idea se menciona también en la guía general, pero como en un flujo de transcripción está directamente ligada a la vida útil del flujo, aquí se han mostrado ejemplos concretos.7
Hay una precaución propia del trabajo de transcripción. Las acciones de automatización de UI dan por supuesto que la ventana de destino está en primer plano y, si no lo está, la traen automáticamente al frente.12 Es decir, mientras se ejecuta, el PC queda básicamente «reservado para el flujo». Conviene evitar que la persona encargada haga otra tarea en el mismo PC mientras el flujo corre, porque provoca clics o entradas erróneas.
Estructura básica de la transcripción: leer de Excel y escribir en pantalla
La forma básica de un flujo de transcripción es «leer con una acción de Excel → escribir fila a fila en pantalla dentro de un bucle». Con Launch Excel se abre el archivo, y con Read from Excel worksheet se lee el rango, que se convierte en una variable de tabla de datos. Si se activa la opción «usar la primera fila como nombres de columna», en el bucle posterior se puede referenciar el valor por el nombre de columna, como CurrentItem['CodigoCliente'], lo que hace el flujo más resistente a cambios en el orden de las columnas.13 Para escribir de vuelta el resultado se usa Write to Excel worksheet. Si se quiere añadir al final de una fila, se puede buscar la fila libre con Get first free row on column.13
5. Alcance gratuito y límites de las licencias
En la decisión de adoptar PAD, siempre se pregunta «hasta dónde es gratis y a partir de dónde es de pago». El límite está entre «crear y ejecutar manualmente» y «ejecutar de forma automática o gestionar a nivel de organización».
| Qué se puede hacer | Cuenta Microsoft | Cuenta de trabajo o educativa (sin licencia adicional) | Power Automate Premium |
|---|---|---|---|
| Creación de flujos, grabadora, más de 400 acciones, manejo de excepciones | Sí | Sí | Sí |
| Dónde se guarda el flujo | OneDrive (personal) | Dataverse del entorno predeterminado | Dataverse de varios entornos |
| Ejecución manual desde la consola de PAD (ejecución asistida) | Sí | Sí | Sí |
| Inicio desde un flujo en la nube (programado o por evento) | No | No | Sí |
| Compartir el flujo, gestión centralizada de los registros de ejecución | No | No | Sí |
Crear y ejecutar manualmente no tiene coste adicional con ninguna cuenta.34 Con cuenta Microsoft, el flujo se guarda en OneDrive; con cuenta de trabajo o educativa, se guarda en el Dataverse del entorno predeterminado. Si se va a usar en la empresa, pensando en la gestión posterior, lo básico es empezar con una cuenta de trabajo.4
El límite se cruza cuando se quiere que el flujo «funcione sin que nadie pulse un botón». Para iniciar el flujo de escritorio a una hora determinada o por un evento, hace falta configurar que se invoque desde un flujo en la nube, lo que requiere los siguientes preparativos.14
- Registro de la máquina: se registra en la nube de Power Automate el PC que ejecutará el flujo. Al iniciar sesión con la aplicación de runtime de máquina incluida en la versión MSI, la máquina queda registrada. Las ediciones Home de Windows 10/11 no admiten esta conexión directa.10
- Conexión del flujo de escritorio: se crea una conexión (credenciales de la cuenta de Windows) para que el flujo en la nube inicie sesión en esa máquina.14
- Licencia: el usuario que crea la conexión debe tener la licencia correspondiente a la forma de ejecución.14 Para la ejecución asistida (attended), que corre en un PC con una persona con la sesión iniciada, hace falta Power Automate Premium (una licencia de usuario que incluye el derecho de RPA asistido).106
- La ejecución desatendida (unattended) exige además una licencia de Power Automate Process, que se asigna a la máquina. La licencia Process no se asigna al usuario sino a la máquina (o al flujo), y por cada máquina se obtiene un cupo de ejecución desatendida (un bot desatendido). Un detalle importante: la máquina a la que se asigna la licencia Process debe estar previamente registrada por un usuario con licencia Premium. Es decir, comprar solo la licencia Process no basta si no hay un usuario Premium.56
Procedimiento de registro de la máquina y conexión del flujo de escritorio
Este es el punto donde más se atasca la implantación, así que dejo por escrito el orden de las operaciones y el nombre de cada elemento (se indica también la etiqueta de la versión en inglés).
- Instalar la aplicación de runtime de máquina. Al instalar PAD con el instalador MSI, en la pantalla de instalación se marca la casilla «Instalar la aplicación de runtime de máquina para conectar con el portal en la nube de Power Automate (Install the machine-runtime app to connect to the Power Automate cloud portal)».10
- Iniciar sesión y registrar. Al iniciar «Power Automate machine runtime» desde el menú Inicio e iniciar sesión, la máquina se registra automáticamente en el entorno seleccionado en ese momento. Si no hay ninguno registrado, se pide elegir el entorno de ejecución. Una vez completado el registro, se muestran el nombre de la máquina (Machine name), la descripción (Machine description) y el entorno (Machine environment).10
- Comprobar los requisitos previos. El usuario que hace el registro necesita el rol «Environment Maker» o «Desktop Flows Machine Owner» del entorno. La conexión directa requiere PAD 2.8.73.21119 o posterior y no funciona en las ediciones Home de Windows 10/11.10
- Confirmar el registro. Al abrir «Monitor» > «Machines» en el portal de Power Automate se ve la lista de máquinas registradas, su estado y el número de flujos en ejecución.10
- Crear la conexión del flujo de escritorio. En el lado del flujo en la nube se añade la acción de flujo de escritorio, se elige agregar una nueva conexión desde el «…» de la esquina superior derecha de la acción, se selecciona «Directamente a la máquina (Directly to machine)» en el campo «Connect», y se crea introduciendo el nombre de la máquina y las credenciales de la cuenta de Windows con la que se inicia sesión en ella.10
- Asignar un bot desatendido (solo para ejecución desatendida). En la página de detalles de la máquina del portal se abre «Settings» y, con el control deslizante de «Unattended bots», se asigna la capacidad de proceso y se guarda. El número asignado aquí es la cantidad de ejecuciones desatendidas que esa máquina puede correr en simultáneo.15
En resumen, si el funcionamiento es «la persona encargada pulsa el botón por la mañana y ve delante de sí cómo corre la transcripción», todo se completa dentro del alcance gratuito. Si el funcionamiento es «se termina sola de madrugada sin que nadie esté presente», hace falta Premium + Process (más una máquina registrada). Como referencia de coste, a fecha de julio de 2026, el precio público para Japón es de 2.248 yenes al mes por usuario para Power Automate Premium y de 22.488 yenes al mes por bot (es decir, por el cupo de ejecución desatendida de una máquina) para Power Automate Process (ambos con pago anual y sin impuestos).16 Como la configuración mínima para desatender el proceso es «1 bot de licencia Process + 1 usuario Premium», el cálculo arroja alrededor de 25.000 yenes al mes, unos 300.000 yenes al año, como coste fijo añadido. La comparación pasa a ser «¿vale la pena pagar 300.000 yenes al año para desatender 30 minutos de transcripción cada noche?». Los precios se revisan con el tiempo, así que antes de decidir conviene comprobar el importe más reciente en la página de precios de Power Automate. Si la transcripción diaria ronda los 30 minutos, basta con empezar con la ejecución asistida gratuita y plantearse la desatención cuando el volumen aumente. La forma de pensar el conjunto de las licencias (incluido el límite entre conectores estándar y prémium) se trata en detalle en el artículo publicado simultáneamente «Licencias de Power Automate y el límite entre conectores estándar y prémium».
6. Diseño para una ejecución estable
Esperar elementos, no usar un Wait fijo
En un sistema troncal antiguo, el tiempo de respuesta de una búsqueda o un registro oscila mucho según la carga. Un flujo ajustado con un Wait fijo del tipo «esperar 3 segundos» acabará rompiéndose sin falta el día en que el sistema vaya lento. Lo básico es usar la acción Wait for window content para esperar «hasta que aparezca (o desaparezca) un elemento de UI o un texto determinado».8 También se puede configurar un tiempo de espera en la obtención de la ventana (Get window), eligiendo entre «fallar tras un número de segundos determinado si no se encuentra» o «seguir esperando hasta que aparezca».8 Esperar a que aparezca el mensaje equivalente a «registro completado» antes de pasar a la siguiente fila es especialmente importante en un flujo de transcripción. Si se empieza la siguiente entrada sin esperar, la pantalla cambia mientras el registro de la fila anterior aún no ha terminado, y los datos se mezclan.
El manejo de excepciones se organiza «por registro»
En un flujo de transcripción, la práctica habitual es que el manejo de excepciones no envuelva todo el flujo, sino que envuelva con On Block Error solo el registro correspondiente a una fila dentro del bucle. Cuando ocurre un error, se registra el detalle del fallo de esa fila, se devuelve la pantalla a su estado inicial (por ejemplo, cerrando la pantalla de entrada y volviendo al menú) y se pasa a la siguiente fila. De este modo, aunque solo una de cada cien filas tenga un código de producto equivocado, las otras 99 quedan registradas y solo esa fila queda en manos de una persona. Para los errores temporales (retrasos de respuesta, por ejemplo) también se puede combinar la configuración de reintento por acción.9 Los detalles del manejo de errores (obtener el detalle con Get last error, el diseño de la limpieza posterior, etc.) se dejan para la guía general y para el artículo publicado simultáneamente «Manejo de errores y diseño de reintentos en Power Automate».
Que quede claro «hasta dónde se ingresó» aunque falle
La automatización de UI no dispone de transacciones como un sistema web. Si el flujo se cae a mitad de camino y no se sabe «hasta qué fila quedó registrada en el sistema troncal», solo quedan dos opciones: volver a ejecutar y duplicar la entrada, o cotejar todas las filas a simple vista. Hay dos diseños que lo evitan.
- Dar al Excel de origen una columna de estado. Se preparan una columna de estado con los valores «sin procesar», «en proceso», «completado» y «error», y una columna con el número de registro numerado por el sistema troncal. Antes de empezar la entrada de una fila se pone «en proceso»; al confirmar en pantalla que el registro se ha completado y leer el número de registro, se escribe de vuelta «completado» junto con ese número. Como el flujo siempre trabaja únicamente sobre las filas «sin procesar», por muchas veces que se vuelva a ejecutar, no se tocan las filas ya introducidas (es seguro frente a reejecuciones).
- Solo una persona revisa las filas que quedaron en «en proceso». Si el flujo se cae, es porque estaba a mitad de una entrada, así que las únicas filas sospechosas son las que quedaron en «en proceso». Basta con comprobar el sistema troncal solo en esa fila antes de volver a ejecutar, con lo que el ámbito de cotejo pasa de cien filas a una sola.
Esta columna de estado también funciona directamente como registro de ejecución. «¿Se terminó ayer toda la transcripción?» se puede saber abriendo el Excel, sin necesidad de mirar el historial de ejecución del flujo. Es una forma fácil de explicar al equipo.
Trampas del entorno en la ejecución desatendida
Son muy frecuentes las consultas sobre un flujo que funcionaba bien en ejecución asistida y deja de funcionar en cuanto se desatiende. La causa suele estar en la diferencia de entorno.
- El requisito de la sesión: en la ejecución desatendida, Power Automate crea una nueva sesión de escritorio remoto (RDP) en la máquina de destino y, al terminar la ejecución, cierra la sesión. Durante la ejecución, la pantalla de la máquina de destino permanece bloqueada. Como requisito previo, todos los usuarios de la máquina deben tener la sesión cerrada; en Windows 10/11, si queda la sesión de alguien (aunque sea en estado bloqueado), la ejecución falla. En Windows Server, da error si queda una sesión bloqueada del mismo usuario que se usa en la conexión. Si después de una tarea de mantenimiento se tiene el hábito de alejarse dejando la sesión «bloqueada» o «desconectada», el flujo nocturno se detiene. Cerrar sesión sin falta es la consigna clave.5
- Permisos: el usuario usado en la conexión debe poder crear una sesión RDP en esa máquina (normalmente, pertenecer al grupo Remote Desktop Users). Además, la ejecución desatendida no admite operaciones que impliquen elevación a permisos de administrador.5
- Resolución de pantalla: la resolución predeterminada de la sesión RDP puede diferir de la pantalla con la que se creó el flujo. Si la resolución baja, los elementos de UI que eran visibles al crear el flujo pueden quedar fuera de la pantalla y provocar un fallo de «elemento no encontrado», o una operación basada en coordenadas puede pulsar otro lugar.5 Como medida, en las propiedades del flujo se puede fijar la «resolución de pantalla para la ejecución desatendida» al mismo valor que en el momento de la creación.17 Las diferencias de escalado de PPP también son causa del mismo tipo de fallo, así que lo más seguro es igualarlo al 100 % tanto en la creación como en la ejecución.18
Lista de verificación para la desatención
Los requisitos de la ejecución desatendida abarcan licencias, registro, entorno y operación, y basta con que falte uno solo para que no funcione. A continuación se reúnen en una sola tabla las condiciones que aparecieron en los capítulos 5 y 6. Antes de dar el paso a la desatención, repáselas una a una de arriba abajo.
| Categoría | Qué comprobar | Qué pasa si falta |
|---|---|---|
| Licencia | El usuario que crea la conexión tiene Power Automate Premium6 | No se puede registrar la máquina ni crear la conexión |
| Licencia | Se asignó un bot desatendido (capacidad de proceso procedente de la licencia Process) a la máquina de destino15 | La ejecución desatendida no arranca |
| Registro | La máquina está registrada con la aplicación de runtime de máquina de la versión MSI10 | No se puede invocar desde el flujo en la nube |
| Registro | La máquina de destino no es la edición Home de Windows 10/1110 | No se puede usar la conexión directa |
| Sesión | A la hora de ejecución, todos los usuarios tienen la sesión cerrada (no queda ninguna bloqueada ni desconectada)5 | Falla la ejecución |
| Permisos | El usuario usado en la conexión puede crear una sesión RDP (grupo Remote Desktop Users)5 | No se puede crear la sesión y falla |
| Permisos | El flujo no incluye operaciones que impliquen elevación a permisos de administrador5 | Falla por no estar soportado |
| Pantalla | Se fijó la resolución de pantalla de la ejecución desatendida al mismo valor que al crear el flujo17 | Los elementos quedan fuera de pantalla y no se encuentran |
| Pantalla | El escalado de PPP se igualó al 100 % tanto en la creación como en la ejecución18 | El reconocimiento de elementos o las operaciones por coordenadas se desvían |
| Operación | Se ha informado a todos los implicados de que, tras el mantenimiento, hay que «cerrar sesión» en vez de «bloquear» | El flujo nocturno se detiene |
| Operación | Con la columna de estado del Excel de origen, una persona puede confirmar a la mañana siguiente hasta dónde avanzó | En caso de fallo, no se sabe qué alcance de trabajo hay que rehacer |
Tras verificar todo esto, se configura el inicio programado (por ejemplo, a las 6 de la mañana cada día laborable) en el lado del flujo en la nube. El diseño de la programación, incluida la determinación de días laborables y el cierre de mes, se trata en el artículo publicado simultáneamente «Flujos de ejecución periódica y diseño de días laborables en Power Automate».
7. Ejemplo de diseño de un flujo de transcripción
Combinando las piezas vistas hasta aquí, un flujo de transcripción típico del tipo «Excel de lista de pedidos → pantalla de entrada de pedidos del sistema troncal → escribir el resultado de vuelta en Excel» quedaría diseñado así.
flowchart TD
Start([Inicio: manual o desde un flujo en la nube]) --> ReadX[Read from Excel worksheet<br/>Leer la lista de pedidos; primera fila = nombres de columna]
ReadX --> Filter{¿Hay filas con estado «pendiente»?}
Filter -- No --> Report[Agregar resultados y registrar/notificar] --> End([Fin])
Filter -- Sí --> Launch[Iniciar el sistema troncal e iniciar sesión<br/>Confirmar la pantalla de menú esperando el elemento]
Launch --> Loop[Recorrer las filas pendientes una a una<br/>Envolver el interior del bucle con On Block Error]
Loop --> Mark[Actualizar la columna de estado a «en proceso»]
Mark --> Entry[Abrir la pantalla de entrada de pedidos e ingresar los campos<br/>Wait for window content en cada cambio de pantalla]
Entry --> Confirm[Botón de registrar → esperar el mensaje de finalización<br/>Obtener de la pantalla el número de registro asignado]
Confirm --> WriteBack[Poner el estado en «completado» y escribir el número de registro]
WriteBack --> Loop
Loop -. Error en una fila .-> Handler[Registrar el detalle del error en la fila<br/>Fallo antes del registro = «error»; fallo después = queda en «en proceso»<br/>Volver al menú y pasar a la siguiente fila]
Handler --> Loop
Loop -- Todas procesadas --> Close[Cerrar sesión del sistema troncal y salir] --> Report
Al trasladar este diagrama a la lista de acciones de PAD, queda la secuencia siguiente. Si se apilan las acciones en este orden en el diseñador, el diagrama anterior se convierte tal cual en algo funcional.
| # | Acción | Punto clave de la configuración |
|---|---|---|
| 1 | Launch Excel | Se indica la ruta de la lista de pedidos, se abre y se recibe la instancia de Excel en una variable |
| 2 | Read from Excel worksheet | Se obtienen todos los valores disponibles de la hoja y, en la configuración avanzada, se activa «El rango incluye nombres de columna en la primera fila». El resultado es ExcelData |
| 3 | Set variable | Se asigna 2 a RowIndex (como la primera fila son los nombres de columna, los datos empiezan en la fila 2) |
| 4 | Run application | Se inicia el sistema troncal (si funciona en modo residente, se captura la ventana existente con Get window) |
| 5 | Wait for window content | Se espera a que aparezca un elemento propio de la pantalla de menú tras iniciar sesión |
| 6 | For each | Se recorre ExcelData fila por fila con CurrentItem |
| 7 | If | Si CurrentItem['Estado'] no es «sin procesar», se incrementa RowIndex en 1 con Increase variable y se salta a la siguiente con Next loop |
| 8 | On block error | Se envuelven los pasos 9 a 13 como un bloque correspondiente a una fila, con el destino de error apuntando a la etiqueta del paso 14 |
| 9 | Write to Excel worksheet | Se escribe «en proceso» en la columna de estado de la fila RowIndex |
| 10 | Populate text field in window | Se extrae el valor por nombre de columna, como CurrentItem['CodigoCliente'], y se introduce en cada campo. Las fechas y números se formatean como texto antes de pasarlos |
| 11 | Press button in window | Se pulsa el botón «Registrar» |
| 12 | Wait for window content | Se espera a que aparezca el elemento equivalente a «registro completado» (no usar un Wait fijo) |
| 13 | Get details of the UI element in window → Write to Excel worksheet | Se lee de la pantalla el número de registro asignado, se pone «completado» en la columna de estado de la fila RowIndex y se escribe ese valor en la columna de número de registro |
| 14 | (bloque de manejo de errores) Get last error → Write to Excel worksheet | Se obtiene el detalle del error, se registra en la columna de error de la fila RowIndex y se devuelve la pantalla al menú, por ejemplo con Close window |
| 15 | Increase variable | Se incrementa RowIndex en 1 y se vuelve al principio del bucle |
| 16 | Close Excel | Se guarda con «Guardar documento» y se cierra; también se cierra sesión y se cierra el sistema troncal |
RowIndex se mantiene en una variable aparte porque For each no devuelve el número de fila. Si no se incrementa siempre en 1 (paso 7) también en las filas que se saltan, el destino de la escritura de vuelta se va desplazando fila a fila.
Algunos apuntes de diseño adicionales.
- La validación del valor de entrada se hace antes de la operación de UI. Número de dígitos del código de producto, si hay caracteres en un campo numérico, ausencia de un campo obligatorio. Justo después de leer el Excel se valida en el propio flujo, y las filas anómalas se marcan como «error» antes de tocar el sistema troncal. Rechazarlas de antemano es muchas veces más estable que gestionar con operaciones de UI un cuadro de diálogo de error del sistema troncal.
- Solo se puede poner «error» en los fallos previos a pulsar el botón de registrar. Si el manejo de errores cambia la columna de estado a «error» de manera uniforme, también quedarán como «error» las filas que fallaron después de que la operación de registro tuvo éxito (durante la espera del mensaje de finalización o a mitad de la escritura de vuelta), lo que puede llevar al accidente de que la persona encargada vuelva a ejecutar esa fila y quede registrada por duplicado en el sistema troncal. Los fallos posteriores a la operación de registro deben dejar la columna de estado en «en proceso», las filas que terminan en «en proceso» no deben ser objeto de reejecución, y solo tras cotejar con una persona si quedó registrado en el sistema troncal se decide pasarlas a «completado» o volver a «sin procesar». La clave de este diseño no es eliminar la ambigüedad, sino trasladar lo ambiguo, tal cual, a la confirmación de una persona.
- Hay que prever el cuadro de diálogo de error de la pantalla. Aun así, ocurrirán errores de entrada (falta de stock, error de crédito del cliente, etc.). Los diálogos previsibles se capturan con una bifurcación condicional del tipo «¿contiene la ventana…?» y se registran en el detalle de error de la fila; los imprevistos se dejan en manos de On Block Error.9
- Conviene tener una idea del volumen y del tiempo. No es raro que la automatización de UI tarde decenas de segundos por registro. Si son cien registros en una hora, cabe de sobra en una ejecución desatendida nocturna, pero si hay miles cada día, es una señal para replantearse la propia automatización de UI como medio (siguiente capítulo).
- La normalización del origen se resuelve de antemano. Las trampas propias del CSV y Excel, como la variación de codificación de caracteres, el formato de fecha o la mezcla de caracteres de ancho completo y medio, se organizan en «El CSV no es «solo texto» — Aspectos prácticos del CSV en aplicaciones de negocio en C# (codificación de caracteres, compatibilidad con Excel, protección contra inyección)».
8. Hasta dónde llegar con PAD
La automatización de UI se romperá tarde o temprano si la pantalla cambia. Esto no es algo que el diseño pueda evitar por completo; es la fatalidad de este método. Precisamente por eso hace falta tener un criterio para distinguir entre «la transcripción que se puede automatizar con PAD» y «la que debe pasar a desarrollo o reforma».
| Situación | Decisión |
|---|---|
| Decenas o cientos de registros al día, y si falla se puede reejecutar al siguiente día laborable | Con PAD basta. Empezar por la ejecución asistida |
| La pantalla de la aplicación de destino lleva años sin cambiar (aplicación heredada «congelada») | Apto para PAD. Irónicamente, una «pantalla que no cambia» encaja bien con la automatización de UI |
| La aplicación de destino recibe actualizaciones de versión con frecuencia (por ejemplo, una pantalla web de un SaaS) | Decidir asumiendo que el mantenimiento del selector será continuo. Si se rompe con cada actualización, la automatización de UI no es adecuada |
| Miles de registros o más al día, con un tiempo de ejecución que presiona el horario laboral | La velocidad de proceso de la automatización de UI se queda corta. Terreno del desarrollo adicional de una función de importación de CSV o del desarrollo (por encargo) de integración de datos |
| Un proceso de negocio troncal cuya interrupción detiene el envío o la facturación del día | Si no se puede permitir «volver a la entrada manual hasta que se arregle», la automatización de UI no es apta. Considerar la reforma del sistema troncal o el desarrollo de integración entre sistemas |
| Se quiere que, de paso en la transcripción, se tomen decisiones de negocio complejas (asignación de stock, fijación de precios) | Meter lógica de negocio en el flujo acaba siendo inmantenible. La lógica de negocio debe residir en el sistema |
Como criterio orientativo, uso la pregunta de «aunque este flujo estuviera roto durante una semana, ¿el negocio seguiría funcionando volviendo a la entrada manual?». Si la respuesta es sí, hay suficiente valor en automatizar con PAD. Si no, esa transcripción ya no es un asunto de «automatización», sino un requisito de «integración de sistemas», y es el momento de plantearse añadir una función de importación, la integración con base de datos, o la digitalización del propio proceso de pedidos y ventas (EDI o llevar los pedidos por fax a la web).
Otro punto: los flujos de PAD también tienden a convertirse en «un activo que solo puede tocar quien lo hizo». Quién debe hacerse cargo del contenido del flujo, de las conexiones y de la máquina de ejecución se trata en el artículo publicado simultáneamente «Cómo evitar la dependencia de una sola persona en Power Automate — Para que el flujo no se detenga aunque quien lo creó se marche».
9. Resumen
La transcripción a un sistema troncal sin API ni importación de CSV se puede automatizar «sin tocar el sistema» mediante la automatización de UI de PAD. Con Windows 11 se puede empezar a usar de serie, y si solo se trata de crear el flujo y ejecutarlo localmente, no hay coste adicional. Solo con liberar a la persona encargada de una hora diaria de transcripción y eliminar la investigación y corrección de errores de transcripción, el esfuerzo de la implantación ya se recupera con creces.
Ahora bien, es fundamental no equivocar el orden ni el diseño. Buscar primero una vía de importación de CSV, base de datos, API o integración de archivos antes de recurrir a la automatización de UI. Empezar con la ejecución asistida gratuita y, para la desatención, tener claros los requisitos de licencia Premium + Process y de una máquina con la sesión cerrada. Estabilizar con selectores, espera de elementos y manejo de excepciones fila a fila, y dejar siempre constancia de «hasta dónde se entró» mediante la escritura de vuelta de la columna de estado. Y, cuando el volumen, la criticidad o la frecuencia de cambio de pantalla superen el ámbito propio de la automatización de UI, no forzarla, sino pasar a la reforma del sistema troncal o al desarrollo de integración de datos.
En nuestra empresa atendemos consultas de forma continua, desde la revisión del diseño de la automatización de transcripción con PAD hasta el desarrollo por encargo de funciones de importación adicionales, la integración entre sistemas y la migración de aplicaciones heredadas. No dude en consultarnos aunque esté todavía en la fase de «¿esto también se puede hacer con nuestro sistema troncal?».
Artículos relacionados
- Automatizar el trabajo con Power Automate — Distinción entre flujo en la nube y flujo de escritorio, y diseño del manejo de errores
- ¿Hasta cuándo funcionará una aplicación VB6? — El estado del soporte del runtime y un camino realista hacia .NET
- Casos en los que no conviene convertir una aplicación de Windows a web — Un cuadro de decisión y la solución realista de «dividir»
- Manejo de errores y diseño de reintentos en Power Automate
- El CSV no es «solo texto» — Aspectos prácticos del CSV en aplicaciones de negocio en C# (codificación de caracteres, compatibilidad con Excel, protección contra inyección)
Áreas de consultoría relacionadas
KomuraSoft LLC atiende desde la consultoría sobre el diseño y la estabilización de la automatización de transcripción con Power Automate for desktop, hasta el desarrollo de integración de datos y la reforma de aplicaciones heredadas cuando la automatización de UI ya no basta.
Referencias
-
Microsoft Learn, Get started with Power Automate in Windows 11. Sobre la aplicación Power Automate preinstalada en Windows 11, y que con más de 400 acciones y la grabadora se pueden crear flujos sin experiencia de programación. ↩
-
Microsoft Learn, Power Automate licensing FAQ. Sobre que los usuarios de Windows 11 pueden usar en el entorno predeterminado los flujos de escritorio de RPA asistido sin coste adicional (sin poder compartirlos ni crearlos en otros entornos), que al buscar Power Automate en la barra de búsqueda de Windows se descarga automáticamente en el primer inicio, y que Windows 10 y Windows Server 2016 también tienen derecho de uso y pueden obtenerlo desde el centro de descargas. ↩ ↩2 ↩3
-
Microsoft Learn, Get started with a work or school account. Sobre que el uso de Power Automate for desktop con una cuenta de trabajo o educativa no tiene coste adicional, que el entorno predeterminado necesita una base de datos Dataverse, y que para desbloquear funciones de RPA como la ejecución automática o la compartición de flujos hace falta actualizar a Premium. ↩ ↩2
-
Microsoft Learn, Prerequisites and limitations. Comparación de funciones según el tipo de cuenta de inicio de sesión (cuenta Microsoft / cuenta de trabajo o educativa / cuenta prémium de organización). Sobre que la grabadora, las acciones y el manejo de excepciones están disponibles con cualquier cuenta, que la conexión con flujos en la nube (inicio y programación), la compartición y la gestión centralizada con informes son exclusivas de Premium, y que el almacenamiento es OneDrive o Dataverse. ↩ ↩2 ↩3
-
Microsoft Learn, Run unattended desktop flows. Sobre que la ejecución desatendida requiere el plan Power Automate Process, que Power Automate crea una sesión RDP y cierra la sesión al terminar la ejecución, que la pantalla queda bloqueada durante la ejecución, que se necesita que todos los usuarios tengan la sesión cerrada (en Windows 10/11 falla si queda alguna sesión, incluida una bloqueada), que el usuario de la conexión necesita permiso para crear una sesión RDP (grupo Remote Desktop Users), que no se admite la ejecución con elevación a administrador, y que la resolución predeterminada de la sesión RDP puede diferir de la de creación y provocar fallos de elemento no encontrado. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8
-
Microsoft Learn, Types of Power Automate licenses. Sobre que el derecho de RPA asistido (registro de máquina, activación de la ejecución asistida, etc.) está incluido en la licencia de usuario Premium, que el RPA desatendido necesita una licencia Process asignada a la máquina (un bot desatendido por máquina), y que asignar la licencia Process a una máquina presupone que esa máquina fue registrada por un usuario Premium. ↩ ↩2 ↩3 ↩4
-
Microsoft Learn, Build a custom selector. Sobre que el selector representa la jerarquía con
>y cada elemento se escribe en la formaelemento[Atributo="Valor"](por ejemplo,:desktop > window[Name="Notes.txt - Notepad"][Process="Notepad"]), que los operadores disponibles son seis: Equal to / Not equal to / Contains / Starts with / Ends with / Regular expression match, con el motor de expresiones regulares de .NET, que el uso de variables en el editor visual se limita al operador Equal to, que un mismo elemento de UI puede tener varios selectores registrados con recurso al siguiente en caso de fallo, y que se puede activar o desactivar cada nivel de la jerarquía para cambiar el ámbito de búsqueda. Se menciona también la generación de candidatos de reparación con Repair selector. ↩ ↩2 ↩3 ↩4 -
Microsoft Learn, UI automation actions. Sobre la acción Wait for window content, que espera hasta que aparece o desaparece un texto o elemento de UI determinado, y la configuración del tiempo de espera de la acción Get window (elegir entre fallar si no se encuentra en el tiempo indicado o seguir esperando hasta que aparezca). ↩ ↩2 ↩3
-
Microsoft Learn, Handle errors in desktop flows. Sobre el manejo de excepciones por bloque con On Block Error y la configuración de reintento por acción (Retry action if an error occurs). ↩ ↩2 ↩3
-
Microsoft Learn, Manage machines. Sobre el registro de la máquina mediante la aplicación de runtime de máquina (incluida en el instalador MSI; se elige «Install the machine-runtime app to connect to the Power Automate cloud portal» durante la instalación), que al iniciar sesión en el machine runtime se registra automáticamente en el entorno seleccionado y se muestran el nombre, la descripción y el entorno de la máquina, que el registro requiere el rol Environment Maker o Desktop Flow Machine Owner, que la conexión directa requiere la versión 2.8.73.21119 o posterior y no funciona en Windows 10 Home ni Windows 11 Home, que las máquinas registradas se pueden ver en Monitor > Machines del portal, que al crear la conexión de flujo de escritorio se elige «Directly to machine» y se introducen el nombre de la máquina y las credenciales, que iniciar un flujo de escritorio desde un flujo en la nube requiere un plan de usuario prémium con RPA asistido, y que la ejecución desatendida requiere asignar a la máquina capacidad de proceso (un bot desatendido). ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10
-
Microsoft Learn, Record desktop flows. Sobre que la grabadora registra las operaciones de ratón y teclado en relación con los elementos de UI y las convierte en acciones, que se puede elegir como método de grabación UIA (recomendado para frameworks nuevos como WPF y WinForms) o MSAA (para aplicaciones heredadas no compatibles con UIA, como VB6 o Win32 clásico), y que las bifurcaciones y los bucles no se pueden grabar, por lo que se da por hecho editar después de grabar. ↩ ↩2
-
Microsoft Learn, Automate desktop applications. Sobre que las acciones de automatización de UI requieren que la ventana de destino esté en primer plano y, si no lo está, la mueven automáticamente al frente. ↩
-
Microsoft Learn, Excel actions. Sobre la creación de instancia con Launch Excel, la lectura de una celda o un rango con Read from Excel worksheet (conversión a tabla de datos, opción de tratar la primera fila como nombres de columna), la escritura con Write to Excel worksheet, y la obtención de la primera fila libre con Get first free row on column. ↩ ↩2
-
Microsoft Learn, Trigger desktop flows from cloud flows. Sobre los requisitos previos para iniciar un flujo de escritorio desde un flujo en la nube (máquina o grupo de máquinas registrado, cuenta de trabajo o educativa, conexión de flujo de escritorio, que quien crea la conexión tenga la licencia correspondiente a la forma de ejecución), y el intercambio de datos entre la nube y el escritorio mediante variables de entrada y salida. ↩ ↩2 ↩3
-
Microsoft Learn, Process capacity. Sobre que al asignar a una máquina la capacidad de proceso procedente de la licencia Process se convierte en un bot desatendido, que cada bot desatendido permite ejecutar un flujo de escritorio desatendido en simultáneo, que la asignación se hace con el control deslizante «Unattended bots» en «Settings» de la página de detalles de la máquina, que el número máximo de bots por máquina depende del sistema operativo, y que la capacidad se comparte dentro del entorno. ↩ ↩2
-
Microsoft, Power Automate の価格. Sobre el precio público para Japón a fecha de julio de 2026: Power Automate Premium equivale a 2.248 yenes al mes por usuario (con pago anual), Power Automate Process equivale a 22.488 yenes al mes por bot (con pago anual), y ambos importes no incluyen el impuesto al consumo. ↩
-
Microsoft Learn, Set screen resolution on unattended mode. Sobre que, cuando la resolución en la ejecución desatendida es menor que en la creación y los elementos quedan ocultos provocando fallos, se puede fijar la resolución mediante las propiedades del flujo (Display resolution for unattended runs) o mediante el registro de Windows. ↩ ↩2
-
Microsoft Learn, Troubleshoot unattended desktop flow execution failures. Sobre que la diferencia de resolución o de escalado de PPP entre la sesión asistida y la desatendida es causa de fallos, y medidas como igualar el PPP al 100 % tanto en el diseño como en la ejecución. ↩ ↩2
Artículos relacionados
Artículos recientes con las mismas etiquetas para profundizar en temas cercanos.
Automatizar procesos empresariales con Power Automate — Cuándo usar el flujo en la nube o el de escritorio, y cómo diseñar el manejo de errores
Diferencias entre el flujo en la nube y el de escritorio de Power Automate, cuándo usar PowerShell o VBA, licencias, manejo de errores, e...
La licencia de Power Automate ── hasta dónde es gratuita con Microsoft 365 y cuándo se necesita Premium
Con Microsoft 365, los flujos en la nube de Power Automate con conectores estándar son gratuitos, pero HTTP, SQL Server, Dataverse, RPA y...
Sustituir los libros de registro en Excel por listas de SharePoint — decir adiós a los libros que «se rompen» con uso compartido, historial e integración de flujos
Guía práctica para migrar libros de registro en Excel de carpetas compartidas a listas de SharePoint (Microsoft Lists), con la edición si...
Cómo evitar la dependencia de una persona en Power Automate — para que los flujos no se detengan cuando quien los creó se va
Cómo evitar que los flujos de Power Automate se detengan al irse su creador: propietarios, flujos huérfanos, cuentas de ejecución y el in...
Leer con AI Builder los pedidos que llegan por FAX — un diseño realista para reducir la transcripción manual, y sus límites
Explica cómo reducir con AI Builder la transcripción manual de pedidos por FAX: PDF desde el multifuncional, modelo personalizado, revisi...
Temas relacionados
Estas páginas sitúan el tema en un contexto más amplio de servicios y decisiones.
Temas técnicos de Windows
Portal sobre desarrollo de Windows, investigación de fallos y aprovechamiento de activos existentes.
Servicios relacionados con este tema
El artículo está directamente relacionado con los siguientes servicios.
Reutilización y migración de activos existentes
Reutilización y migración de activos COM / ActiveX / OCX y dependencias de 32 o 64 bits.
Preguntas frecuentes
Preguntas habituales en las consultas sobre el tema del artículo.
- ¿Se puede usar Power Automate for desktop de forma gratuita?
- Sí. Windows 11 incorpora la aplicación Power Automate de serie, y en Windows 10 también puede instalarse sin costo desde el centro de descargas de Microsoft. Con una cuenta de trabajo o educativa también se dispone, sin coste adicional, del conjunto completo de funciones para crear flujos y ejecutarlos manualmente (ejecución asistida): grabadora, más de 400 acciones y manejo de excepciones. Sin embargo, iniciar flujos automáticamente desde un flujo en la nube, compartir flujos y centralizar los registros de ejecución requieren una licencia de pago de Power Automate Premium.
- ¿Qué se necesita para ejecutar un flujo de transcripción de noche o de madrugada sin que haya nadie presente?
- La ejecución desatendida (unattended) requiere una configuración que se invoque desde un flujo en la nube, lo que presupone el registro de la máquina de destino, la creación de una conexión de flujo de escritorio y una licencia de Power Automate Process asignada a esa máquina. El propio registro de la máquina debe hacerlo un usuario con licencia Premium. En el plano técnico, la ejecución desatendida funciona creando una nueva sesión de escritorio remoto, por lo que todos los usuarios de la máquina de destino deben haber cerrado sesión; si queda aunque sea una sesión bloqueada, la ejecución falla en Windows 10/11.
- Dicen que la automatización de UI es frágil. ¿Es viable en la práctica?
- Es viable si la pantalla del sistema troncal de destino es estable. La mayoría de las roturas se deben al método de identificación de los elementos de UI (el selector) y a esperas insuficientes, así que el diseño mejora mucho la estabilidad si se cambian los atributos que varían a operadores tipo Contains o expresión regular, se configuran selectores de reserva y se sustituyen las esperas fijas por acciones que aguardan la aparición del elemento. Aun así, la fatalidad de que un cambio de diseño de pantalla la rompa no desaparece, así que cuando la aplicación de destino se actualiza con frecuencia, o el volumen y la criticidad del proceso son tales que su interrupción paraliza el negocio, conviene plantearse el desarrollo de integración de datos o una reforma del propio sistema troncal en lugar de la automatización de UI.
- Si el flujo de transcripción falla a mitad de camino, ¿no se pierde de vista hasta dónde se había entrado?
- Se puede evitar con el diseño adecuado. La clave es que el Excel de origen tenga una columna de estado (sin procesar, en proceso, completado, error) y una columna de número de registro, y que, tras cada registro, se confirme el resultado en el sistema troncal antes de escribir de vuelta el estado. Así, si algo falla, en el propio Excel queda constancia de hasta qué fila se completó el registro, y al volver a ejecutar el flujo solo se procesan las filas marcadas como «sin procesar», con lo que no se produce doble entrada. Si además el manejo de excepciones se organiza fila a fila para registrar la fila con error y continuar con la siguiente, un solo error de entrada tampoco detiene todo el proceso.
Perfil del autor
Página de presentación del autor del artículo.
Go Komura
Representante de KomuraSoft LLC
Especializado en desarrollo de software para Windows, consultoría técnica e investigación de fallos, sobre todo en proyectos con sistemas existentes y errores difíciles de reproducir.