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 03- Resumen

Registro y aprobación de comprobantes de pago de proveedores

🎯 Objetivo de la clase

La sesión se centró en construir una automatización completa para el registro y aprobación de comprobantes de pago de proveedores, utilizando Microsoft Forms como formulario de entrada, SharePoint Lists como almacenamiento y validación de datos, Power Automate Cloud como motor del flujo y Microsoft Teams / Outlook para aprobaciones y notificaciones. El enfoque fue práctico y orientado a un caso real de negocio. [learn.microsoft.com], [learn.microsoft.com], [learn.microsoft.com]


1) 🧭 Flujo general de la solución

El docente explicó la lógica del proceso como una secuencia clara:

  1. Captura de datos desde un formulario en Microsoft Forms. [learn.microsoft.com], [learn.microsoft.com]
  2. Validación del proveedor contra una lista maestra en SharePoint. [learn.microsoft.com], [learn.microsoft.com]
  3. Registro de la solicitud en otra lista de SharePoint. [learn.microsoft.com], [learn.microsoft.com]
  4. Aprobación del comprobante mediante el conector de Approvals, con notificación en Teams y/o correo. [learn.microsoft.com], [learn.microsoft.com], [learn.microsoft.com]
  5. Actualización del estado y notificación final al proveedor/solicitante. [learn.microsoft.com], [learn.microsoft.com]

Idea clave: antes de crear un flujo, conviene diseñar un mapa / flujo general del proceso para identificar el punto de entrada, la validación, la base de datos y la salida final.


2) 📝 Formulario en Microsoft Forms: captura de datos

Se creó un formulario de tipo registro en Microsoft Forms para que el proveedor envíe su comprobante. El docente enfatizó que el formulario debía contener únicamente los campos necesarios para iniciar la automatización.

Campos trabajados

  • RUC / identificador de la empresa
  • Razón social (luego se eliminó del formulario por redundancia, porque puede recuperarse desde la base de proveedores)
  • Correo electrónico
  • Tipo de documento (ej. boleta / factura)
  • Número de documento
  • Monto
  • Detracción (sí / no)

Validaciones aplicadas

  • Restricción de longitud para el RUC.
  • Restricción de formato para correo electrónico.
  • Validación numérica para el monto (mayor que cero).
  • El número de documento se dejó como texto, no como número, para no perder ceros a la izquierda.

Concepto clave: el conector de Microsoft Forms en Power Automate trabaja con un desencadenador (When a new response is submitted) y una acción posterior para recuperar el contenido (Get response details). [learn.microsoft.com], [learn.microsoft.com]


3) 🗂️ Administración de datos con SharePoint Lists

En esta sesión, a diferencia de la clase anterior, se reemplazó Dataverse por SharePoint Lists, porque para este caso resultaba más simple y amigable.

Listas creadas

a) Proveedores

Tabla maestra para validar qué empresas están autorizadas a registrar comprobantes.

Campos mínimos creados:

  • RUC
  • Razón social

b) Solicitudes de registro de comprobantes

Lista donde se almacenan las solicitudes que ingresan desde el formulario.

Campos creados:

  • Correlativo
  • RUC (tipo búsqueda / lookup hacia la lista Proveedores)
  • Correo
  • Tipo de documento
  • Número de documento
  • Monto
  • Detracción
  • Fecha de solicitud
  • Aprobador
  • Comentarios
  • Fecha de aprobación
  • Estado (Aprobado / Rechazado)

Buena práctica importante

El docente recomendó ocultar la columna “Title” que SharePoint crea por defecto, para evitar confusión al usar filtros y nombres de columnas en Power Automate.

Concepto clave: en SharePoint, una columna de tipo búsqueda (Lookup) permite vincular una lista hija con una lista padre, usando una columna clave como referencia. En este caso, la lista de solicitudes apunta al RUC de la lista de proveedores. [learn.microsoft.com], [learn.microsoft.com]


4) 🔄 Tipos de flujos en Power Automate

El docente hizo un repaso importante sobre los tres tipos de flujos en la nube y explicó cómo escogerlos según el escenario.

Tipo de flujo¿Cuándo se usa?Ejemplo
AutomatizadoCuando hay un desencadenador externoAl enviar un formulario o llegar un correo
InstantáneoCuando alguien lo ejecuta manualmenteBotón “generar reporte”
ProgramadoCuando debe correr por horarioDiario / mensual / recurrente

Para el caso trabajado en clase, correspondía un flujo automatizado, porque el desencadenador era el envío del formulario. [learn.microsoft.com], [learn.microsoft.com], [learn.microsoft.com]


5) ⚡ Construcción del flujo en Power Automate

Desencadenador

Se configuró el trigger de Microsoft Forms:

  • When a new response is submitted
  • Formulario: Registro de comprobantes de proveedores

Luego se agregó la acción:

  • Get response details

con el mismo Form Id y el Response Id dinámico. Este patrón es el estándar para trabajar con formularios en Power Automate. [learn.microsoft.com], [learn.microsoft.com]


6) ✅ Validación del proveedor antes de registrar la solicitud

Una de las mejores prácticas más destacadas de la clase fue la validación previa:

Objetivo

Evitar que cualquier persona con el enlace del formulario active la automatización con datos inválidos o empresas no registradas.

Cómo se hizo

  1. Acción Get items / Obtener elementos sobre la lista Proveedores. [learn.microsoft.com], [learn.microsoft.com]
  2. Uso de Filter Query (OData) para comparar el RUC del formulario con la columna RUC de la lista. [learn.microsoft.com], [learn.microsoft.com]
  3. Evaluación con una Condition usando length(...) > 0 para saber si se encontró al menos una coincidencia.
  4. Si existe el proveedor → continúa el flujo.
  5. Si no existe → se corta el proceso y se notifica al remitente.

Concepto clave: Get items puede devolver una lista de elementos; por eso es común usar length() para contar resultados y una Condition para decidir si el proveedor existe. Las variables y funciones son globales dentro del flujo y ayudan mucho en estas validaciones. [learn.microsoft.com], [learn.microsoft.com], [learn.microsoft.com]


7) 🔢 Generación de correlativo

A pedido de los alumnos, el docente añadió una lógica para crear un correlativo automático.

Patrón aplicado

  • Se hace un Get items sobre la lista de solicitudes para contar cuántos registros existen. [learn.microsoft.com]
  • Se inicializa una variable entera (correlativo) con el número de registros. [learn.microsoft.com]
  • Luego se usa Increment variable para sumarle 1. [learn.microsoft.com]
  • Ese valor se registra en la nueva solicitud.

Concepto clave: las variables en Power Automate permiten almacenar valores, incrementarlos y reutilizarlos en los siguientes pasos del flujo. Microsoft también advierte que, si se usan variables dentro de Apply to each, conviene ejecutarlo en modo secuencial para evitar resultados impredecibles. [learn.microsoft.com]


8) ⛓️ ¿Por qué apareció un “Apply to each”?

El docente explicó uno de los comportamientos más comunes (y a veces confusos) de Power Automate:

  • Cuando una acción como Get items / Obtener elementos devuelve una lista, aunque en la práctica solo traiga un registro, Power Automate crea automáticamente un Apply to each.
  • Esto ocurre porque el resultado técnicamente es un array y la plataforma se prepara para iterarlo.

Concepto clave: Apply to each se usa para procesar listas o arreglos. Aunque en el caso del RUC solo se espera una coincidencia, Power Automate lo trata como una colección. [learn.microsoft.com], [learn.microsoft.com], [learn.microsoft.com]


9) 📨 Registro de la solicitud y campos de aprobación

Cuando la validación era exitosa, el flujo creaba un nuevo elemento en la lista Solicitudes de registro de comprobantes.

Campos llenados inicialmente

  • correlativo
  • RUC
  • correo
  • tipo documento
  • número documento
  • monto
  • detracción
  • fecha de solicitud

Después, en la etapa de aprobación, se completarían:

  • aprobador
  • comentarios
  • fecha de aprobación
  • estado

10) ✅ Aprobaciones por Teams / correo

La sesión se enfocó en aprobaciones con el conector estándar de Approvals y su interacción con Teams.

Características explicadas

El docente también comentó la posibilidad de usar Teams como canal de aprobación y notificación, aprovechando la integración nativa del entorno Microsoft. [learn.microsoft.com], [learn.microsoft.com]


Preguntas y respuestas destacadas

1) ¿Por qué el formulario debe ser de tipo “registro”?

Respuesta del docente: porque ese tipo de formulario tiene la estructura adecuada para capturar datos formales de negocio y usar preguntas controladas.

Refuerzo oficial: Microsoft Forms se integra con Power Automate mediante el trigger When a new response is submitted y la acción Get response details, lo que lo hace adecuado para escenarios de captura estructurada. [learn.microsoft.com], [learn.microsoft.com]


2) ¿Cómo se valida correctamente el correo electrónico en Forms?

Respuesta del docente: marcando una restricción de tipo correo electrónico en la pregunta del formulario; si no se configura, el sistema dejará pasar cualquier texto.

Refuerzo oficial: La integración Forms + Power Automate está pensada para reutilizar respuestas válidas y convertirlas en contenido dinámico dentro del flujo, por lo que conviene validar desde el origen. [learn.microsoft.com], [learn.microsoft.com]


3) ¿Por qué el número de documento se dejó como texto y no como número?

Respuesta del docente: porque si se define como numérico, se perderían ceros a la izquierda, algo común en series y numeraciones de comprobantes.

Refuerzo oficial: En automatización de formularios y listas, es importante elegir bien el tipo de dato porque luego ese valor viaja como contenido dinámico entre conectores y acciones. [learn.microsoft.com], [learn.microsoft.com]


4) ¿Por qué se creó una columna de tipo búsqueda para el RUC?

Respuesta del docente: para vincular la lista de solicitudes con la lista maestra de proveedores y asegurar que solo se seleccionen valores válidos.

Refuerzo oficial: SharePoint permite crear relaciones lógicas entre listas usando columnas de búsqueda, lo que mejora consistencia y evita digitación libre. [learn.microsoft.com], [learn.microsoft.com]


5) ¿Por qué Power Automate crea un Apply to each si solo espero un proveedor?

Respuesta del docente: porque Get items devuelve una lista, no un único objeto; por eso la plataforma envuelve el paso en un bucle.

Refuerzo oficial: Microsoft documenta que Apply to each procesa listas o arreglos, y que muchas acciones de consulta retornan arrays aunque solo tengamos una coincidencia. [learn.microsoft.com], [learn.microsoft.com], [learn.microsoft.com]


6) ¿Cómo se puede generar un correlativo o folio automático?

Respuesta del docente: contando los elementos existentes en la lista, almacenando ese conteo en una variable y sumándole 1 antes de crear el nuevo registro.

Refuerzo oficial: Las variables permiten almacenar, incrementar y reutilizar valores dentro del flujo; este patrón es útil para contadores y folios. [learn.microsoft.com]


Conclusiones

  • La clase mostró una automatización de negocio muy realista: Forms → SharePoint Lists → Power Automate → Teams / Outlook.
  • Se reforzó la importancia de validar siempre antes de registrar para evitar que entren datos o proveedores no autorizados.
  • El uso de SharePoint Lists hizo el caso más simple y cercano a implementaciones reales de bajo costo y rápida adopción.
  • Se consolidó el criterio para elegir correctamente entre flujos automatizados, instantáneos y programados.
  • También se introdujo una base sólida para auditar aprobaciones, registrar estados y manejar correlativos.

💡 Recomendaciones

  1. Siempre valida los datos en la entrada (Forms) y también en el flujo, especialmente si el enlace del formulario puede circular fuera del grupo esperado. [learn.microsoft.com], [learn.microsoft.com]
  2. Usa listas maestras (como Proveedores) para comparar y filtrar antes de registrar solicitudes. [learn.microsoft.com], [learn.microsoft.com]
  3. Evita campos redundantes en el formulario si puedes recuperarlos desde una base maestra; eso reduce errores y mejora experiencia de usuario.
  4. Nombra bien tus columnas y oculta Title en SharePoint para que tus filtros en Power Automate sean más claros.
  5. Prueba paso a paso: primero dispara el flujo, luego recupera respuesta, después valida, luego inserta y finalmente aprueba.
  6. Si vas a usar variables y listas, revisa cuándo aparece Apply to each y mantén el flujo lo más limpio posible. [learn.microsoft.com], [learn.microsoft.com]

📚 Referencias oficiales (solo documentación Microsoft)

  • Microsoft Learn — Overview of flows with Microsoft Forms:
    https://learn.microsoft.com/en-us/power-automate/forms/overview [learn.microsoft.com]
  • Microsoft Learn — Common ways to use a form in a flow:
    https://learn.microsoft.com/en-us/power-automate/forms/popular-scenarios [learn.microsoft.com]
  • Microsoft Learn — Microsoft Forms connector:
    https://learn.microsoft.com/en-us/connectors/microsoftforms/ [learn.microsoft.com]
  • Microsoft Learn — Overview of cloud flows:
    https://learn.microsoft.com/en-us/power-automate/overview-cloud [learn.microsoft.com]
  • Microsoft Learn — Triggers in Power Automate:
    https://learn.microsoft.com/en-us/power-automate/triggers-introduction [learn.microsoft.com]
  • Microsoft Learn — Use SharePoint and Power Automate to build workflows:
    https://learn.microsoft.com/en-us/power-automate/sharepoint-overview [learn.microsoft.com]
  • Microsoft Learn — SharePoint connector actions and triggers:
    https://learn.microsoft.com/en-us/sharepoint/dev/business-apps/power-automate/sharepoint-connector-actions-triggers [learn.microsoft.com]
  • Microsoft Learn — Get items / Get files with SharePoint:
    https://learn.microsoft.com/en-us/sharepoint/dev/business-apps/power-automate/guidance/working-with-get-items-and-get-files [learn.microsoft.com]
  • Microsoft Learn — Filter and copy data with OData:
    https://learn.microsoft.com/en-us/power-automate/odata-filters [learn.microsoft.com], [learn.microsoft.com]
  • Microsoft Learn — Store and manage values in variables:
    https://learn.microsoft.com/en-us/power-automate/create-variable-store-values [learn.microsoft.com]
  • Microsoft Learn — Create and test an approval workflow:
    https://learn.microsoft.com/en-us/power-automate/modern-approvals [learn.microsoft.com], [learn.microsoft.com]
  • Microsoft Learn — Get started with approvals:
    https://learn.microsoft.com/en-us/power-automate/get-started-approvals [learn.microsoft.com]
  • Microsoft Learn — Approvals in Microsoft Teams:
    https://learn.microsoft.com/en-us/power-automate/teams/native-approvals-in-teams [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