Novedades Power Platform

Para la Transformación Digital e Innovación Tecnológica

Novedades Power Platform

Para la Transformación Digital e Innovación Tecnológica

Power Platform

Power Automate Cloud – Sesión 02 – Resumen


Diseño de un flujo end‑to‑end (Power Pages DataversePower Automate)

🎯 Objetivo de la clase


1) 🧩 Repaso clave: JSON (objetos vs matrices)

Idea esencial: Power Automate devuelve la mayoría de salidas como JSON; entender su estructura permite trabajar con propiedades, arrays y validaciones. [learn.microsoft.com], [learn.microsoft.com]

Concepto clave: Apply to each aparece cuando una acción devuelve una lista (array), porque el flujo debe iterar elementos. [learn.microsoft.com], [learn.microsoft.com]


2) 🗃️ Dataverse: entorno y modelado de datos (base del caso práctico)

2.1 Creación del entorno/base de datos

2.2 Tablas creadas (modelo)

Se crearon 2 tablas principales en Dataverse:

  1. Trabajadores (maestra)
    • Campos: identificador (DNI/código), nombre, área, correo, teléfono (texto/phone).
  2. SolicitudTrabajador (transaccional)
    • Campos de entrada del solicitante: código/DNI, motivo, fecha de permiso.
    • Campos de auditoría: estado (opción), fecha solicitud, aprobador, comentarios, fecha aprobación.

En Dataverse, las acciones del flujo (crear/listar/actualizar) trabajan sobre tablas y columnas con nombres lógicos y/o filtros tipo OData. [learn.microsoft.com], [learn.microsoft.com], [learn.microsoft.com]


3) 🌐 Power Pages: formulario de solicitud (Front)

3.1 Creación del sitio y formulario

  • Se creó un sitio en Power Pages con plantilla en blanco y un formulario conectado a Dataverse (modo “Insert/Crear registro”). [learn.microsoft.com]
  • El formulario se configuró para mostrar solo 3 campos que el usuario debe ingresar:
    código/DNI, motivo, fecha de permiso.
    El resto se completará con automatización. [learn.microsoft.com]

3.2 Seguridad (lo más importante)


4) ⚡ Power Automate: flujo automatizado (Dataverse → validación → aprobación)

4.1 Tipo de flujo y disparador


5) ✅ Validación de usuario (patrón “existe/no existe”)

5.1 Listar filas (tabla Trabajadores)

📌 Concepto clave: Filtrar reduce datos y mejora performance; la consulta se hace del lado del servicio cuando es posible. [learn.microsoft.com], [learn.microsoft.com]

5.2 Condición con conteo de resultados

  • Se comparó si el resultado tiene elementos usando una validación basada en conteo (p.ej. length(...) > 0).
  • Este patrón es estándar: evaluar si un array está vacío antes de continuar. [learn.microsoft.com], [learn.microsoft.com]

6) 🧾 Registro de la solicitud (crear fila en Dataverse)


7) 📨 Aprobaciones estándar (Approvals)

7.1 Acción usada

7.2 Aprobación con respuestas personalizadas

  • Se eligió el tipo: Custom Responses – Wait for one response
  • Opciones configuradas: Aprobado / Rechazado
  • Se explicó que el valor de Outcome puede manejarse con Condition o Switch para rutas diferentes. [learn.microsoft.com], [learn.microsoft.com]

7.3 Detalle de la aprobación

  • Se construyó un texto “Details” combinando:

Punto técnico relevante: cuando se inserta “Nombre/Área” desde List rows, es común que Power Automate agregue Apply to each porque List rows retorna una lista. [learn.microsoft.com], [learn.microsoft.com]


8) 🧪 Pruebas y observaciones (debug)

  • Se probó el formulario: al enviar una solicitud, se confirmó que el flujo se ejecuta y se crea el registro asociado. [learn.microsoft.com], [learn.microsoft.com]
  • Se observó un comportamiento de registros duplicados en algunos casos (posible configuración/servicio/trigger repetido).

❓ Preguntas y respuestas destacadas (con refuerzo oficial)

Pregunta (alumno)Respuesta del docente (síntesis)Refuerzo con doc oficial
¿Debo construir yo el JSON registro por registro?No. En la práctica, los conectores ya retornan JSON; esto se explicó para entender la estructura.Las salidas de acciones y el trabajo con expresiones se hacen sobre outputs/arrays ya generados; para manejar arrays se usan funciones y condiciones. [learn.microsoft.com], [learn.microsoft.com]
¿Por qué aparece un “Apply to each” si yo solo espero 1 resultado?Porque List rows devuelve una lista (0..N). Power Automate agrega el bucle por seguridad.List rows recupera múltiples filas; cuando un paso devuelve array, se procesa iterando elementos si se usan campos internos. [learn.microsoft.com], [learn.microsoft.com]
¿Cómo configuro el trigger de Dataverse para que sea “cuando se crea”?Elegir la opción “cuando se agrega/modifica/elimina” y seleccionar el tipo “Create”.El trigger permite configurar Change type, Table name y Scope, además de filtros/columnas. [learn.microsoft.com]
¿Cómo hago aprobación con botones “Aprobado/Rechazado”?Usar “Start and wait for an approval” con “Custom Responses”.Microsoft documenta crear aprobaciones con custom responses y manejar Outcome con condiciones. [learn.microsoft.com], [learn.microsoft.com]
¿Por qué no me deja eliminar una columna (dependencias)?Porque la columna ya está referenciada; hay que revisar dependencias o recrear adecuadamente.En portales/formularios y Dataverse, dependencias y seguridad pueden restringir cambios; revisar configuración de acceso/permisos del modelo y del sitio. [learn.microsoft.com], [learn.microsoft.com]
¿Por qué no puedo crear Power Pages con mi cuenta corporativa?Puede ser falta de permisos/licencia en el tenant; se recomendó usar la cuenta del curso.La publicación y creación dependen de acceso/roles; Power Pages requiere configurar seguridad y permisos de tablas/roles. [learn.microsoft.com], [learn.microsoft.com]

✅ Conclusiones


⭐ Recomendaciones

  1. Refuerza OData filter rows: prueba filtros eq y combina condiciones solo si es necesario (mantén filtros simples). [learn.microsoft.com], [learn.microsoft.com]
  2. Controla duplicados: revisa disparadores, “Change type”, y si aplica agrega condiciones para evitar ejecuciones repetidas por actualizaciones. [learn.microsoft.com], [learn.microsoft.com]
  3. Maneja Outcome correctamente: usa Condition/Switch con el valor de aprobación para actualizar el estado y registrar comentarios. [learn.microsoft.com], [learn.microsoft.com]
  4. Asegura conexiones: valida que Dataverse y demás conectores estén autenticados y en el entorno correcto. [learn.microsoft.com], [learn.microsoft.com]
  5. Seguridad en Power Pages: confirma que el sitio tenga Table permissions correctos para crear registros (Create) y no sobre‑exponer datos. [learn.microsoft.com], [learn.microsoft.com]

📚 Referencias oficiales

  • Trigger Dataverse (Create/Update/Delete): https://learn.microsoft.com/en-us/power-automate/dataverse/create-update-delete-trigger [learn.microsoft.com]
  • List rows (Dataverse) en flujos: https://learn.microsoft.com/en-us/power-automate/dataverse/list-rows [learn.microsoft.com]
  • Aprobaciones (Start and wait): https://learn.microsoft.com/en-us/power-automate/modern-approvals [learn.microsoft.com]
  • Aprobaciones con respuestas personalizadas: https://learn.microsoft.com/en-us/power-automate/create-approval-response-options [learn.microsoft.com]
  • Expresiones en condiciones: https://learn.microsoft.com/en-us/power-automate/use-expressions-in-conditions [learn.microsoft.com]
  • Referencia de funciones (workflow expressions – incluye length): https://learn.microsoft.com/en-us/azure/logic-apps/expression-functions-reference [learn.microsoft.com]
  • Administrar conexiones en Power Automate: https://learn.microsoft.com/en-us/power-automate/add-manage-connections [learn.microsoft.com]
  • Conexiones Dataverse (consideraciones): https://learn.microsoft.com/en-us/power-automate/dataverse/manage-dataverse-connections [learn.microsoft.com]
  • Power Pages – Table permissions: https://learn.microsoft.com/en-us/power-pages/security/table-permissions [learn.microsoft.com]
  • Power Pages – Basic forms (crear/insertar registros): https://learn.microsoft.com/en-us/power-pages/configure/basic-forms [learn.microsoft.com]

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

advanced-floating-content-close-btnBoton