Que el navegador muestre “descarga completada” no demuestra que el archivo corresponda al periodo solicitado, esté completo o contenga datos válidos. Un robot robusto valida el artefacto antes de moverlo a una carpeta compartida o iniciar una carga.

Define el contrato del archivo

Para cada informe especifica:

Control Ejemplo
Origen portal y cuenta autorizada
Periodo mayo de 2026 cerrado
Formato CSV UTF-8 con cabecera versionada
Nombre informativo, no única prueba
Tamaño esperado mayor que 1 KB y dentro de rango histórico
Columnas obligatorias id, fecha, importe, estado
Contenido fechas dentro del periodo y al menos una fila o vacío justificado
Integridad SHA-256 calculado tras estabilizar el archivo

La firma sirve para identificar contenido y evitar reprocesar el mismo fichero. No demuestra por sí sola que el contenido sea correcto.

Runbook de descarga

  1. Crea un directorio temporal exclusivo para la ejecución.
  2. Limpia solo archivos asociados a esa clave de trabajo, no una carpeta genérica.
  3. Inicia la descarga con una fecha y filtro registrados.
  4. Espera la aparición del archivo y que tamaño y fecha de modificación permanezcan estables durante un intervalo.
  5. Rechaza extensiones temporales como .part o .crdownload.
  6. Abre el fichero con el parser real y valida estructura y periodo.
  7. Calcula la firma y comprueba si ya fue aceptada.
  8. Mueve de forma atómica al destino y registra evidencia.

Las acciones de automatización web de Power Automate Desktop permiten interactuar con páginas y descargas, pero la validación del archivo sigue siendo una regla propia del proceso.

No confíes solo en el nombre

Un portal puede reutilizar report.csv, devolver una página HTML de error con extensión CSV o generar el periodo anterior por un filtro no aplicado. Inspecciona tipo real, cabecera y valores. En Excel, verifica hojas y celdas esperadas; en PDF, confirma metadatos o texto del periodo si el uso lo permite.

Para un resultado legítimamente vacío, exige una señal explícita. “Cero bytes” no distingue ausencia de actividad de descarga fallida.

Reintentos y cuarentena

Asigna una clave como portal:informe:2026-05. Antes de repetir, consulta el estado. Si existe un archivo aceptado con esa clave, no lo sustituyas silenciosamente. Si la validación falla, mueve el artefacto a cuarentena con acceso restringido y registra el motivo sin copiar datos sensibles a los logs.

Limita reintentos y conserva una captura técnica suficiente: URL funcional, filtros, tiempos, nombre recibido, tamaño, firma y resultado de cada control. En un flujo RPA desatendido, una alerta debe indicar si falló el acceso, la descarga o el contrato del contenido.

Criterio de aceptación

Prueba informe correcto, periodo equivocado, HTML renombrado, descarga parcial, archivo duplicado, esquema nuevo y resultado vacío válido. El robot termina con éxito solo después de validar y publicar el archivo. Descargar es una acción de interfaz; entregar el informe correcto es el resultado de negocio.