🟢 Introducción
Una de las capacidades más potentes de Power Virtual Agents es su integración nativa con Power Automate. Los bots no solo conversan: pueden ejecutar acciones reales como consultar bases de datos, enviar correos, crear registros en Dataverse o integrar APIs externas.
Para eso usamos las acciones de Power Automate, permitiendo que el bot envíe datos y reciba resultados dinámicos en tiempo real.
🧠 Qué es / para qué sirve
La conexión PVA ↔ Power Automate sirve para:
Ejecutar procesos automatizados desde el bot. Consultar datos en Dataverse, SharePoint, SQL o APIs externas. Realizar cálculos o transformaciones complejas. Integrar el bot con otros sistemas: Dynamics 365, ERP, CRM, Teams, etc. Devolver valores al bot para continuar la conversación.
📌 En esencia: Power Automate amplía las capacidades del bot más allá del diálogo.
🧩 Sintaxis
No es sintaxis como código, sino un flujo visual, pero el patrón general es:
En Power Automate crea un nuevo flujo: Trigger: “When a Power Virtual Agents calls a flow”. Define variables de entrada desde PVA. Ejecuta acciones deseadas (Dataverse, API, SharePoint, etc.). Devuelve valores al bot usando Return value(s). En PVA agrega una acción Call an action → Power Automate y selecciona el flujo.
💻 Ejemplos con código (si aplica)
🔹 Ejemplo 1 — Consultar un pedido desde Dataverse
En Power Automate (pseudocódigo):
Trigger:
Inputs: OrderNumber (Text)
Acción:
Get Row by ID from Dataverse
Table: Orders
Row ID: OrderNumber
Return:
Status → “Shipped”
Date → “2025-02-15”
En PVA:
Bot: “Tu pedido {OrderNumber} está en estado {Status} y se enviará el {Date}.”
🔹 Ejemplo 2 — Llamar a una API externa
Inputs: userEmail
HTTP GET → https://api.contoso.com/profile/{userEmail}
Return: profileStatus
Bot:
“Tu perfil está clasificado como: {profileStatus}.”
🧱 Buenas prácticas
✅ Mantén flujos simples y dedicados a una sola función (micro-flujos).
✅ Documenta claramente entradas y salidas del flujo.
✅ Siempre maneja errores (try/catch con scopes).
✅ Usa variables que validen que el bot no envíe valores vacíos.
✅ Minimiza retornos grandes (JSON muy pesados) para mejorar el rendimiento.
✅ Evita loops innecesarios dentro de flujos que serán invocados por un bot.
⚠️ Errores comunes
🚫 Enviar valores nulos desde PVA → fallas en acciones del flujo.
🚫 Cambiar la estructura de salida del flujo sin actualizar el bot → errores de “binding”.
🚫 No configurar correctamente tipos (texto, número, booleano).
🚫 Llamar flujos demasiado complejos → ralentiza la experiencia del bot.
🚫 No manejar errores 404/500 cuando se conectan a APIs externas.
🔄 Variantes o alternativas
Custom connectors → cuando necesitas conectarte a APIs complejas. Plugins + Dataverse → para lógica avanzada del lado del servidor. Bots de Teams + Adaptive Cards → para respuestas interactivas. Copilot Studio Plugins → alternativa moderna para integraciones más profundas.
📚 Recursos oficiales
📘 Acciones de Power Automate en PVA
📗 Crear flujos como acciones de bot
📙 Conectar bots a APIs externas mediante Power Automate
🧩 Mini práctica
En PVA crea un tema llamado Consultar Pedido.
Agrega pregunta: “¿Cuál es tu número de pedido?” → variable orderNumber.
Crea un flujo en Power Automate con trigger “When Power Virtual Agents calls a flow”.
Agrega el parámetro orderNumber.
Busca el pedido en Dataverse (o SharePoint).
Devuelve estado y fecha al bot.
En PVA muestra el mensaje:
Tu pedido {orderNumber} está en estado {estado} y se entregará el {fecha}.
Prueba el flujo completo desde el simulador.


Deja un comentario