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 Automate CloudPower Platform

Power Automate Cloud – Sesión 05 – Resumen

Indice de Contenido

📌 Automatización de reservas con Microsoft Bookings y gestión de tickets/tareas con Planner usando Power Automate


1) 🎯 Objetivo de la sesión

  • Aprender a integrar Microsoft Bookings y Microsoft Planner con Power Automate para:
    • Registrar reservas automáticamente (Bookings → SharePoint / Outlook / Aprobaciones).
    • Crear tickets de atención como tareas en Planner a partir de correos (Outlook → Planner).
    • Generar alertas, seguimiento y reportes (tareas completadas y pendientes).

2) 🧠 Conceptos clave (explicación breve)


3) 🗓️ Parte 1 — Microsoft Bookings (configuración y lógica de reservas)

3.1 ¿Qué se configuró en Bookings?

  • Creación de una página de reservas (ejemplo “Consultorio médico”).
  • Definición de:
    • Horario laboral (ej.: lun–vie, 2pm–6pm).
    • Personal asignado (quién atiende).
    • Servicios (ej.: “Medicina general”, duración 30 min).
    • Opciones de reserva: interna o pública. [learn.microsoft.com], [learn.microsoft.com]

3.2 Campos personalizados en Bookings

  • Se añadieron campos adicionales (ej.: Empresa, Cantidad de horas) y se marcó alguno como obligatorio.
  • Estos campos luego se recuperaron en Power Automate desde un bloque tipo “respuestas personalizadas” (estructura tipo array/JSON).

Idea clave: Bookings permite capturar más datos que solo nombre/correo, pero en Power Automate esos campos pueden venir anidados y requieren extracción adicional. [learn.microsoft.com], [learn.microsoft.com]


4) ⚙️ Parte 2 — Flujo 1 (Bookings → SharePoint + control de horas + extracción avanzada)

4.1 Tipo de flujo usado

4.2 Trigger de Bookings y detalle importante del “Booking page”

📌 Nota operativa: Microsoft indica que para triggers de citas se requiere el Bookings business SMTP address y ciertas limitaciones (por ejemplo, solo admins en algunos escenarios). [learn.microsoft.com], [learn.microsoft.com]

4.3 Persistencia en SharePoint (tabla “citas médicas”)

  • Se creó una lista SharePoint como “base de datos” para:
    • Cliente (nombre), correo, teléfono, fecha/hora, servicio, personal, empresa, horas, etc.
  • Se usó SharePoint → Create item para guardar cada reserva.

Mejor práctica: usar SharePoint como repositorio permite agregar estados (pendiente/aprobado/rechazado/cancelado/pagado) y disparar notificaciones.

4.4 Extracción de campos personalizados (empresa / horas)

  • Los campos personalizados llegaban como array (pregunta/respuesta).
  • Estrategia usada:
    • Initialize variable (empresa: string, horas: int).
    • Apply to each sobre el array.
    • Condition: si pregunta = “empresa”, asignar variable empresa; si pregunta = “horas”, convertir y asignar variable horas.

🔎 Refuerzo oficial: el uso de operaciones y control (variables, condiciones, bucles) es el enfoque estándar cuando la información llega como lista/array, y las transformaciones se complementan con acciones de datos. [learn.microsoft.com], [learn.microsoft.com]

4.5 Problema de zona horaria y control de fecha/hora

  • Se detectó que la fecha/hora no coincidía por zona horaria (ej.: se interpretaba como US/Canada).
  • Recomendación técnica: controlar con funciones/acciones de fecha-hora (formato/zonas) para asegurar consistencia. [learn.microsoft.com], [learn.microsoft.com]

5) ✅ Flujo 2 — Aprobación de citas (Approvals + actualización de estado)

5.1 ¿Qué se implementó?

  • Tras crear el ítem en SharePoint, se incorporó Start and wait for an approval con respuestas personalizadas (Aprobado/Rechazado). [learn.microsoft.com], [learn.microsoft.com]
  • Luego se evaluó el Outcome/Result con condición:
    • Si aprobado → actualizar estado del registro en SharePoint.
    • Si rechazado → actualizar estado a rechazado (y potencialmente eliminar evento).

📌 Refuerzo oficial: “Start and wait for an approval” detiene el flujo hasta que exista respuesta; soporta varios tipos (primer respondedor, todos, custom responses, etc.). [learn.microsoft.com], [learn.microsoft.com]


6) 🕒 Flujo 3 — Bloqueo por varias horas (reservas extendidas)

6.1 Problema planteado (auditorio / bloque horario)

  • Necesidad: reservar 2–3 horas seguidas, no solo un slot de 30 min.
  • Solución propuesta:
    • Capturar “cantidad de horas” como campo en Bookings.
    • Tras aprobación, crear evento adicional o ajustar fin del evento sumando horas.

6.2 Cómo se suma tiempo correctamente

  • Se usó una lógica de “inicio + N horas”.
  • Refuerzo oficial (recomendado):

7) 🧾 Parte 3 — Planner: Tickets de atención automatizados (Outlook → Planner)

7.1 Creación del “Plan” en Planner

  • Se creó un plan “Tickets de atención” y se compartió con miembros para asignación y control.

7.2 Flujo 1 de Planner: crear tarea desde correo

  • Trigger: When a new email arrives (Outlook).
  • Acción: Planner → Create a task usando:
    • Asunto del correo → Título de tarea.
    • Cuerpo del correo → Descripción/Notas.
  • Problema: el cuerpo llega en HTML → se aplicó conversión HTML to text antes de guardar en notas.

🔎 Refuerzo oficial:

  • El conector Planner permite crear tareas, agregar asignados, y tiene triggers como When a new task is created / When a task is completed. [learn.microsoft.com]

7.3 Asignación automática de responsables

  • Se agregó acción para asignar tarea a un usuario (ej.: “Add assignees to a task”).
  • Se comentó que puede hacerse dinámico con reglas para repartir carga (round robin/criterios).

8) ✅ Planner: detección de tarea completada + notificación

8.1 Flujo 2: “Cuando se completa una tarea”

  • Trigger: When a task is completed (Planner). [learn.microsoft.com]
  • Acción: Send an email (Outlook) para notificar “tarea completada”.
  • Se observó un retardo/comportamiento intermitente (posible latencia), que luego se estabilizó tras refrescar/ajustar.

9) 📊 Planner: Seguimiento semanal de pendientes + reporte CSV

9.1 Flujo programado (Scheduled)

✅ Refuerzo oficial: Microsoft recomienda Data operations para transformar estructuras sin bucles innecesarios: Filter array, Select, Create CSV table, Compose, etc. [learn.microsoft.com], [learn.microsoft.com]


🗣️ Preguntas y respuestas destacadas (con refuerzo oficial)

Q1) “¿Cuál es la diferencia entre Bookings y Outlook para agendar?”

Docente: Bookings permite exponer una página pública con disponibilidad para que terceros reserven sin ver tu calendario completo; se controla por configuración y personal vinculado.
🔎 Refuerzo Microsoft: Bookings se integra a flujos mediante su conector para extender citas con automatización (notificaciones, CRM, etc.). [learn.microsoft.com], [learn.microsoft.com]

Q2) “¿El cliente puede reprogramar o cancelar por sí mismo?”

Docente: si es página pública sin login, el usuario no “administra”; normalmente el administrador gestiona la cancelación y el cliente vuelve a reservar.
🔎 Refuerzo: En flujos con Bookings, la administración y automatización depende del modelo (interno autenticado vs público) y de permisos/admins en triggers. [learn.microsoft.com], [learn.microsoft.com]

Q3) “¿Puede un cliente reservar varias citas el mismo día?”

Docente: no hay validación automática contra múltiples reservas del mismo usuario; sí se bloquea el mismo horario si ya está tomado.
🔎 Refuerzo: Bookings controla disponibilidad por time slots, y la lógica adicional (anti-abuso, límites por usuario) se debe aplicar con automatización externa (Power Automate + base de datos). [learn.microsoft.com], [learn.microsoft.com]

Q4) “¿Se puede reservar múltiples horas seguidas (auditorio)?”

Docente: no se vio opción directa para multi-slot; alternativa: pedir “cantidad de horas” como campo y en Power Automate bloquear/agendar el tiempo extra creando eventos adicionales o calculando fin.
🔎 Refuerzo Microsoft: Para sumar horas o ajustar fin/formatos, se recomienda usar capacidades de fecha/hora y formato/zonas. [learn.microsoft.com], [learn.microsoft.com]

Q5) “¿Se puede aprobar o rechazar una cita?”

Docente: sí, agregando una aprobación y luego actualizando el estado (aprobado/rechazado) en la lista; si se rechaza, puede complementarse con limpieza/cancelación de eventos.
🔎 Refuerzo Microsoft: “Start and wait for an approval” permite esperar respuesta; hay tipos de aprobación y luego se controla con condiciones. [learn.microsoft.com], [learn.microsoft.com]

Q6) “¿Cómo convierto el cuerpo del correo para que no salga en HTML en Planner?”

Docente: usar acción de conversión HTML→texto antes de guardar en la descripción.
🔎 Refuerzo: las transformaciones son parte del enfoque recomendado con Data operations para estandarizar contenido antes de persistir o notificar. [learn.microsoft.com], [learn.microsoft.com]


✅ Conclusiones


🛠️ Recomendaciones (para aplicar en proyectos reales)

  1. Definir un repositorio oficial de reservas/tickets
  2. Agregar lógica anti-abuso en Bookings
  3. Estandarizar horarios y zona horaria
  4. Aprobaciones solo cuando aporten valor
  5. En Planner, implementar asignación automática
  6. Reportes de seguimiento con Data operations

📚 Referencias (solo documentación oficial Microsoft)

Deja una respuesta

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