Power Automate Cloud – Sesión 05 – Resumen
📌 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)
- Power Automate (Cloud): plataforma para crear flujos automatizados, programados o instantáneos que conectan servicios mediante conectores. [learn.microsoft.com], [learn.microsoft.com]
- Conectores: “puentes” para integrar aplicaciones (Bookings, Outlook, SharePoint, Planner, Approvals, etc.). [learn.microsoft.com], [learn.microsoft.com]
- Microsoft Bookings: herramienta de Microsoft 365 para publicar páginas de reserva y administrar citas (internas o públicas). [learn.microsoft.com], [learn.microsoft.com]
- Planner: gestión de tareas por planes (tablero tipo Kanban) automatizable con Power Automate. [learn.microsoft.com]
- Aprobaciones (Approvals): acciones como Start and wait for an approval para control humano del flujo antes de ejecutar pasos finales. [learn.microsoft.com], [learn.microsoft.com]
- Operaciones de datos (Data operations): herramientas para filtrar, seleccionar, crear tablas CSV/HTML, componer salidas, etc. [learn.microsoft.com], [learn.microsoft.com]
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
- Flujo de nube automatizado: se ejecuta cuando ocurre un evento (reserva creada). [learn.microsoft.com], [learn.microsoft.com]
4.2 Trigger de Bookings y detalle importante del “Booking page”
- Se utilizó el disparador cuando se crea una cita/reserva (Bookings). [learn.microsoft.com], [learn.microsoft.com]
- Se mostró un punto crítico: el trigger requiere el SMTP address del negocio/página (no el link completo). [learn.microsoft.com], [learn.microsoft.com]
📌 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):
- Usar funciones/acciones de fecha-hora para agregar horas o convertir/formatos según zona horaria. [learn.microsoft.com], [learn.microsoft.com]
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)
- Escenario: cada viernes (ejemplo) enviar reporte de tareas pendientes.
- Pasos:
- Trigger programado (recurrence).
- Planner: List tasks. [learn.microsoft.com]
- Filter array: quedarse con tareas donde % completado < 100. [learn.microsoft.com], [learn.microsoft.com]
- Select: mapear solo campos necesarios (Título, % completado). [learn.microsoft.com], [learn.microsoft.com]
- Create CSV table con la salida del Select. [learn.microsoft.com], [learn.microsoft.com]
- Enviar correo con adjunto “tareas_pendientes.csv”.
✅ 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
- Bookings + Power Automate permite pasar de una reserva simple a un proceso controlado: registro, base de datos, aprobaciones, notificaciones y agenda extendida por horas. [learn.microsoft.com], [learn.microsoft.com]
- Planner + Outlook + Power Automate es un patrón efectivo para “Mesa de ayuda”: correo → tarea → asignación → cierre → notificación. [learn.microsoft.com]
- Las operaciones de datos son clave para reportes (pendientes) y extracción (arrays/JSON) sin complicar el flujo. [learn.microsoft.com], [learn.microsoft.com]
- El manejo de fechas/zonas horarias debe validarse siempre para evitar registros con hora incorrecta. [learn.microsoft.com], [learn.microsoft.com]
🛠️ Recomendaciones (para aplicar en proyectos reales)
- Definir un repositorio oficial de reservas/tickets
- SharePoint o Dataverse como “fuente de verdad” para estados y auditoría. [learn.microsoft.com], [learn.microsoft.com]
- Agregar lógica anti-abuso en Bookings
- Control por cliente (máximo de reservas/día) usando lista + validaciones antes de confirmar. [learn.microsoft.com], [learn.microsoft.com]
- Estandarizar horarios y zona horaria
- Validar formato y zona; usar conversiones/formatDateTime si el canal mezcla regiones. [learn.microsoft.com], [learn.microsoft.com]
- Aprobaciones solo cuando aporten valor
- Útiles si hay recursos limitados (auditorio, médicos, agenda crítica). [learn.microsoft.com], [learn.microsoft.com]
- En Planner, implementar asignación automática
- Basada en reglas (tipo de ticket, prioridad, rotación). [learn.microsoft.com]
- Reportes de seguimiento con Data operations
- Filter array + Select + CSV/HTML para reportes semanales/diarios. [learn.microsoft.com], [learn.microsoft.com]
📚 Referencias (solo documentación oficial Microsoft)
- Bookings + Power Automate (integración y uso de conectores): [learn.microsoft.com], [learn.microsoft.com]
- Planner connector (acciones y triggers como “task completed”): [learn.microsoft.com]
- Approvals en Power Automate (“Start and wait for an approval”, tipos): [learn.microsoft.com], [learn.microsoft.com]
- Operaciones de datos (Filter array, Select, Create CSV table, etc.): [learn.microsoft.com], [learn.microsoft.com], [learn.microsoft.com]
- Formato y manejo de fecha/hora y zonas en flujos: [learn.microsoft.com], [learn.microsoft.com]

