Power Automate Cloud – Sesión 06 – Resumen

Plantillas de Word y Conversión a PDF
🎯 Objetivo de la sesión
- Construir un flujo end‑to‑end que automatiza la emisión de constancias/certificados a partir de datos ingresados en Microsoft Forms, almacenados y validados en SharePoint Lists, aprobados con Approvals, generados con plantillas de Word y convertidos a PDF para finalmente enviarse por correo (Outlook).
- Reforzar buenas prácticas: diagramar el flujo, validar datos (evitar entradas inválidas), y estructurar el proceso con ramas True/False y variables.
🧠 Conceptos clave (destacados)
- Power Automate (Cloud flows): automatización en la nube con desencadenadores, acciones, condiciones y variables. [learn.microsoft.com]
- Conectores: integración con servicios (Forms, SharePoint, OneDrive, Word Online, Outlook, Approvals). [learn.microsoft.com]
- Formularios (Microsoft Forms): disparador “When a new response is submitted” + acción “Get response details”. [learn.microsoft.com]
- Datos (SharePoint Lists): listas como base de datos (empleados y solicitudes), con filtros tipo OData. [learn.microsoft.com]
- Aprobaciones (Approvals): “Start and wait for an approval” con tipos y resultados (approve/reject o respuestas personalizadas). [learn.microsoft.com]
- Documentos: “Populate a Microsoft Word template” (Word Online Business) + conversión a PDF y envío por email. [learn.microsoft.com], [learn.microsoft.com]
1) 🗓️ Aclaraciones iniciales (logística del curso)
- Se aclaró que la clase “pendiente” por Semana Santa no se recupera como sesión adicional, sino que el calendario se desplazó para mantener la misma cantidad de sesiones.
2) 🧪 Ejercicio rápido (mini flujo): Convertir Word → PDF y enviarlo por correo
2.1 Tipo de flujo
- Se crea un flujo de nube instantáneo (manual) para demostrar la conversión de archivos de forma simple.
2.2 Pasos esenciales del mini flujo
- Preparar un archivo Word en OneDrive y usar una acción de conversión para obtener el PDF. [learn.microsoft.com]
- Enviar un correo con Outlook adjuntando el PDF (usando el nombre y ContentBytes del archivo convertido).[learn.microsoft.com]
2.3 Punto crítico ⚠️: extensión del archivo
- Se enfatizó que puedes cambiar el nombre, pero debes respetar la extensión
.pdf, si no el adjunto puede llegar “corrupto” o no abrir correctamente.
✅ Refuerzo oficial:
- La conversión y manejo de archivos se realiza mediante conectores como OneDrive for Business (acciones de archivos y conversión). [learn.microsoft.com], [learn.microsoft.com]
3) 🏗️ Flujo principal (caso grande): Solicitud y constancia de vacaciones
3.1 Diseño del proceso (visión general)
El flujo completo sigue esta lógica:
Forms → Validación en SharePoint (empleados) → Registro en SharePoint (solicitud) → Aprobación → Actualización de solicitud → Generación de Word (plantilla) → PDF → Email al solicitante.
💡 Recomendación del docente: crear un “diagramita” del proceso antes de construirlo para no perder la secuencia.
3.2 Entrada de datos: Microsoft Forms
Campos propuestos en el formulario
- Documento de identidad (DNI u equivalente) con restricción de longitud.
- Fecha inicio, fecha fin (tipo fecha).
- Motivo (texto).
✅ Refuerzo oficial: Forms en Power Automate trabaja con:
- Trigger: When a new response is submitted
- Acción: Get response details [learn.microsoft.com], [learn.microsoft.com]
3.3 Fuente de datos: SharePoint Lists
Listas utilizadas
- Migración de empleados (base para validar si el solicitante existe).
- Solicitud de vacaciones (auditoría de solicitudes y aprobación).
Columnas clave en “Solicitud de vacaciones”
- DNI (recomendado como Lookup hacia la lista de empleados).
- Fecha inicio / fin, motivo, fecha de solicitud.
- Estado (aprobado/rechazado), aprobador, comentarios, fecha de aprobación.
3.4 Validación del empleado (evitar solicitudes inválidas)
Estrategia aplicada
- Usar Get items sobre “Migración de empleados” con Filter Query (OData) tipo:
DNI eq 'valor'. [learn.microsoft.com] - Luego, evaluar si hubo coincidencias comparando la cantidad de resultados (
length(...) > 0).
✅ Refuerzo oficial:
- OData filters son la forma recomendada para filtrar datos sin traer toda la lista. [learn.microsoft.com]
3.5 Registro preliminar de la solicitud (auditoría)
- Si el empleado existe, se crea un elemento en “Solicitud de vacaciones” con los datos base (DNI, fechas, motivo, fecha de solicitud).
4) ✅ Aprobaciones: “Start and wait for an approval”
4.1 Configuración de aprobación
- Se usa Start and wait for an approval (aprobaciones estándar). [learn.microsoft.com]
- Se configuró con opciones Aprobado / Rechazado (respuestas personalizadas). [learn.microsoft.com]
- Se aclaró la diferencia entre:
- “Wait for one response” vs “Wait for all responses” cuando hay múltiples aprobadores.[learn.microsoft.com]
✅ Refuerzo oficial: Microsoft documenta los tipos de aprobación (todos aprueban / primero responde / respuestas personalizadas / secuencial). [learn.microsoft.com]
4.2 Actualización del registro en SharePoint (resultado final)
- Tras aprobar/rechazar, se actualiza el ítem en “Solicitud de vacaciones” con:
- Estado, Aprobador, Comentarios, Fecha de aprobación.
5) 🧾 Generación del documento (Word → PDF → Email)
5.1 Plantilla Word (modo “Programador”)
- Se creó una plantilla en Word usando la pestaña Developer/Programador y Content Controls (campos como DNI, área, puesto, fechas, motivo). [learn.microsoft.com]
- Luego se subió a OneDrive (carpeta “plantillas”).
✅ Refuerzo oficial:
- Word Online (Business) explica cómo crear plantillas con Content Controls y cuáles están soportados. [learn.microsoft.com]
5.2 Acción clave en Power Automate
- Usar Word Online (Business) → Populate a Microsoft Word template para mapear cada control de la plantilla con datos del flujo. [learn.microsoft.com]
5.3 Conversión y envío
- Convertir el Word generado a PDF (por ejemplo, con OneDrive for Business). [learn.microsoft.com]
- Enviar el PDF por Outlook al solicitante, asegurando ContentBytes correcto y extensión adecuada. [learn.microsoft.com]
6) 🕒 Tema técnico importante: fechas y zona horaria
- Se discutió un problema típico: ejecuciones que “traen registros del día siguiente” por diferencias de zona horaria.
- Solución sugerida: usar Convert time zone /
convertTimeZone()para convertir correctamente antes de comparar o registrar.[learn.microsoft.com]
✅ Refuerzo oficial: Convert time zone permite convertir timestamps entre zonas (UTC ↔ local) con acción o expresión. [learn.microsoft.com]
🗣️ Preguntas y respuestas destacadas (con refuerzo oficial)
1) “¿La clase pendiente se recupera?”
✅ Respuesta del docente: No se recupera como clase adicional; se corrió el calendario para mantener el total de sesiones.
2) “Mi flujo trae registros del día siguiente, ¿es zona horaria?”
✅ Respuesta del docente: Sí; se puede corregir con funciones de fecha/hora como formatDateTime y especialmente con conversión de zona horaria.
🔎 Refuerzo Microsoft: usar Convert time zone o convertTimeZone() para normalizar fechas antes de condiciones/comparaciones. [learn.microsoft.com]
3) “¿Por qué no comparo directamente el ‘Get items’ en la condición?”
✅ Respuesta del docente: porque el resultado suele venir como lista/array (aunque esté vacío); hay que comparar su cantidad (length(...) > 0).
🔎 Refuerzo Microsoft: filtrar y trabajar con datos evitando loops innecesarios es una práctica común; OData filters ayuda a traer solo lo necesario. [learn.microsoft.com]
4) “¿Qué pasa si cambio el nombre del adjunto y no la extensión?”
✅ Respuesta del docente: el archivo puede llegar, pero al abrirse puede aparecer como corrupto si la extensión no coincide.
🔎 Refuerzo Microsoft: en plantillas y documentos, el manejo correcto del contenido (bytes) y el formato es clave para generar archivos válidos. [learn.microsoft.com], [learn.microsoft.com]
5) “¿Qué tipo de aprobación uso si hay varios aprobadores?”
✅ Respuesta del docente: si eliges “todos”, el flujo no continúa hasta que respondan todos; si eliges “uno”, continúa con la primera respuesta.
🔎 Refuerzo Microsoft: esos comportamientos están definidos por los tipos de aprobación (Wait for all / Wait for one). [learn.microsoft.com]
✅ Conclusiones
- La sesión integró un caso realista de automatización: captura → validación → auditoría → aprobación → documentación → notificación.
- El uso de SharePoint Lists como base de datos ligera y Approvals como decisión humana permite construir procesos auditables sin sistemas complejos. [learn.microsoft.com]
- La generación de documentos con Word Online (Business) habilita automatizaciones empresariales (constancias, certificados, reportes) con formato profesional. [learn.microsoft.com]
- La correcta gestión de zona horaria es crítica para flujos con fechas programadas o comparaciones de días. [learn.microsoft.com]
⭐ Recomendaciones (para aplicar desde ya)
- 🧭 Diseña primero el diagrama del flujo (inputs → validación → outputs) antes de construir.
- ✅ Valida siempre entradas clave (ej.: DNI) contra una “lista maestra” antes de registrar/aprobar. [learn.microsoft.com]
- 🔎 Filtra en el origen (OData Filter Query) para evitar loops grandes y mejorar performance. [learn.microsoft.com]
- 🧾 Para documentos, usa Content Controls soportados y nombra correctamente cada control (plantilla). [learn.microsoft.com]
- 🕒 Normaliza fechas con Convert time zone antes de comparar o guardar. [learn.microsoft.com]
- 📎 En adjuntos, respeta extensión y usa correctamente el contenido del archivo (bytes). [learn.microsoft.com]
📚 Referencias oficiales (solo Microsoft)
- Documentación general de Power Automate: Microsoft Learn — Power Automate
- Microsoft Forms + Power Automate (overview): Forms connector overview
- Escenarios comunes con Forms: Popular scenarios
- Filtros OData en Power Automate: Filtrar y copiar datos (OData filters)
- Aprobaciones: Get started with approvals
- Tutorial de aprobaciones: Create and test an approval workflow
- Word Online (Business) connector: Word Online (Business) connector reference
- OneDrive for Business connector: OneDrive for Business connector reference
- Convertir zona horaria: Convert a time zone
- Variables en cloud flows: Store and manage values in variables

