🟢 Introducción
Si alguna vez has creado un bot en Power Virtual Agents (PVA), sabrás que el secreto para mantener una conversación fluida es la memoria del bot: su capacidad para recordar, usar y actualizar información durante el diálogo.
Aquí entran en juego las variables y el contexto de conversación, herramientas clave para crear bots inteligentes, personalizados y naturales. 🤖💡
🧠 Qué es / para qué sirve
Las variables en Power Virtual Agents son contenedores que almacenan información temporal o persistente mientras el bot interactúa con el usuario.
Permiten que el bot:
Recuerde datos del usuario (nombre, país, preferencia, etc.). Guarde respuestas de preguntas previas. Pase información entre temas. Interactúe con Power Automate o Dataverse para obtener o enviar datos.
El contexto de conversación se refiere al conjunto de variables y datos activos que el bot tiene disponibles en ese momento. Es lo que hace posible una experiencia personalizada y contextualizada.
🧩 Sintaxis (en Copilot Studio y PVA clásico)
🔹 PVA Clásico
Las variables se crean automáticamente al hacer una pregunta o recibir una respuesta del usuario. Puedes usarlas en mensajes con el formato:
Hola, {{userName}}. ¿Cómo puedo ayudarte hoy?
🔹 Copilot Studio (nuevo editor)
En la nueva experiencia, las variables se agrupan en tres niveles:
| Tipo de variable | Alcance | Ejemplo de uso |
|---|---|---|
| Variable de tema | Solo existe dentro del tema actual | topic.MyVariable |
| Variable de conversación | Persiste mientras dure el chat | conversation.UserCity |
| Variable global | Disponible para todo el bot (incluso tras reiniciar sesión) | bot.UserEmail |
💻 Ejemplos con código
📝 Guardar el nombre del usuario
Bot: ¿Cuál es tu nombre?
[Respuesta del usuario] → Guardar en variable `conversation.UserName`
Bot: ¡Encantado de conocerte, {{conversation.UserName}}! 😊
📝 Usar variable en una llamada a Power Automate:
Crea un flujo en Power Automate con un parámetro userName. Desde el bot, pasa la variable conversation.UserName al flujo. El flujo puede usar ese valor para enviar un correo o consultar un registro.
✨ Recordar la última acción del usuario:
bot.LastIntent = "Consultar estado del pedido"
Luego puedes usarla como condición para retomar el contexto:
Si bot.LastIntent = "Consultar estado del pedido" → ofrecer seguimiento
🧱 Buenas prácticas
✅ Usa nombres descriptivos para tus variables (conversation.CustomerEmail, topic.ProductSelected).
✅ Mantén el número de variables manejable; demasiadas pueden complicar el flujo.
✅ Limpia o reinicia variables cuando el contexto ya no sea necesario.
✅ Centraliza la lógica de almacenamiento en un solo tema o subflujo para evitar redundancia.
✅ Aprovecha las variables globales para personalizar mensajes entre temas o sesiones.
⚠️ Errores comunes
🚫 No inicializar variables antes de usarlas.
🚫 Reutilizar nombres genéricos como var1 o respuesta.
🚫 Asumir que las variables se conservan entre sesiones (las de conversación se reinician).
🚫 No validar el tipo de dato (texto, número, fecha) antes de usarlo en cálculos o comparaciones.
🚫 Olvidar limpiar el contexto después de una llamada a Power Automate, lo que puede causar comportamientos inesperados.
🔄 Variantes o alternativas
Power Automate → Puedes usar variables de flujo y devolver valores al bot. Dataverse → Guarda variables persistentes a largo plazo (como historial del usuario). Adaptive Cards → Usa variables para generar respuestas dinámicas y visuales. Session variables (nuevas en Copilot Studio) → Mantienen información mientras la sesión esté activa en Teams o webchat.
📚 Recursos oficiales
📘 Variables en Power Virtual Agents
🧩 Mini práctica
Objetivo: Crear un bot que recuerde el nombre del usuario y lo use en múltiples temas.
1️⃣ En Copilot Studio, crea un nuevo tema llamado Saludo inicial.
2️⃣ Agrega una pregunta:
“¿Cuál es tu nombre?”
Guarda la respuesta en conversation.UserName.
3️⃣ En el mensaje siguiente, escribe:
“¡Hola, {{conversation.UserName}}! ¿En qué puedo ayudarte hoy?”
4️⃣ Crea otro tema llamado Consulta de pedidos y usa la misma variable:
“{{conversation.UserName}}, puedo buscar tu pedido si me das el número.”
5️⃣ Prueba la conversación — el bot debería recordar el nombre del usuario entre temas. 🎯
✨ Conclusión:
Las variables son la memoria de tu bot. Sin ellas, el diálogo sería plano y repetitivo.
Dominar su uso te permitirá construir experiencias conversacionales más humanas, inteligentes y conectadas en toda la Power Platform. 💬🤖

Deja un comentario