Copilot Studio – Sesión 04 – Resumen
Entidades, Variables y Condiciones
1) 🎯 Propósito de la sesión
- Elevar el nivel del agente pasando de respuestas basadas solo en conocimiento a conversaciones con lógica, capaces de:
- Recolectar datos estructurados del usuario (fechas, códigos, opciones).
- Tomar decisiones con condicionales (rutas “si / no”).
- Redirigir al usuario a diferentes temas según su necesidad.
- Conectarse a fuentes como SharePoint para leer información (y preparar el camino para acciones futuras con Power Automate). [learn.microsoft.com], [learn.microsoft.com], [learn.microsoft.com]
2) 🧠 Conceptos clave abordados (definiciones rápidas)
- Copilot Studio: plataforma low-code para construir agentes conversacionales con IA, tópicos, variables, conectores, y UI interactiva como Adaptive Cards. [learn.microsoft.com], [learn.microsoft.com]
- Entidades (Entities): tipos de datos que ayudan a extraer información útil desde texto libre (ej.: fecha, teléfono) o patrones personalizados (regex). [learn.microsoft.com], [learn.microsoft.com]
- Variables: contenedores para almacenar datos durante la conversación (con alcance por tema, global, sistema, entorno). [learn.microsoft.com]
- Conectores (Connectors): “wrappers” que permiten al agente interactuar con servicios como SharePoint, Dataverse, etc. [learn.microsoft.com]
- Tarjetas adaptables (Adaptive Cards): interfaz visual con botones y formularios dentro del chat, que captura valores y los guarda en variables. [learn.microsoft.com]
3) 🧩 Diseño de un agente “más real” (de consultivo a ejecutor)
3.1 Chatbot vs Agente (enfoque del curso)
- En fases iniciales, el agente suele verse como “chatbot” porque consulta conocimiento.
- La evolución hacia “agente” ocurre cuando ejecuta acciones: registrar solicitudes (vacaciones, préstamos, pedidos), generar documentos, disparar aprobaciones y notificaciones (comúnmente integrando Power Automate). [learn.microsoft.com]
✅ Idea clave: Un agente no solo “responde”; también “orquesta” procesos con conectores/acciones. [learn.microsoft.com]
4) 🧷 Entidades: captura de datos confiable (incluye Regex)
4.1 Entidades preconstruidas
- Copilot Studio incluye entidades listas para usar: Fecha, Teléfono, URL, Ciudad, Respuesta positiva/negativa, etc. [learn.microsoft.com], [learn.microsoft.com]
- Ventaja: aceptan variaciones (ej.: “15 de febrero del 2026” se interpreta como fecha). [learn.microsoft.com], [learn.microsoft.com]
4.2 Entidades personalizadas
Se trabajaron dos tipos:
- Closed list (lista cerrada): ideal para opciones (con sinónimos + “smart matching”). [learn.microsoft.com], [learn.microsoft.com]
- Regular expression (Regex): ideal para patrones estructurados, por ejemplo un ID de empleado con prefijo + dígitos. [learn.microsoft.com], [learn.microsoft.com]
💡 Buen enfoque: usar entidades para evitar que el agente falle si el usuario escribe texto adicional (ej.: “mi fecha es 09/03/2026”). [learn.microsoft.com]
5) 🧮 Variables: tipos, alcance y uso práctico
5.1 Tipos y niveles (scopes)
Copilot Studio maneja variables por alcance (scope): [learn.microsoft.com]
| Alcance | ¿Dónde se usa? | Ejemplo típico |
|---|---|---|
| Topic variables | Solo dentro del tema donde se crean | Topic.FechaIngreso |
| Global variables | En todos los temas del agente | Global.OpcionSeleccionada |
| System variables | Automáticas (contexto usuario/conv.) | nombre usuario, correo, nombre del bot |
| Environment variables | Del entorno Power Platform (lectura) | parámetros para ALM |
5.2 Variables de entrada y salida entre temas
- Se mostró cómo pasar valores desde Inicio de conversación hacia otro tema (input/output).
- Punto técnico importante: el tipo Choice puede requerir conversión a texto para mapearlo a un string en el tema receptor.
- La sesión aplicó conversión mediante fórmula (en el curso se mencionó
Text(...)).
- La sesión aplicó conversión mediante fórmula (en el curso se mencionó
- Principio clave: si el tipo no coincide, hay que transformarlo antes de enviarlo. [learn.microsoft.com]
🧠 Nota técnica: Los tipos de variable quedan fijados según el primer valor asignado; luego no se pueden asignar tipos incompatibles. [learn.microsoft.com]
6) 🔀 Condiciones (IF/ELSE) y control del flujo
- Se revisó el patrón de ramificación:
- Condición verdadera (ruta izquierda)
- Condición falsa (ruta derecha)
- Se observó que los selectores (opciones) ya generan ramas condicionales por defecto.
- Recomendación práctica: finalizar correctamente con “Finalizar tema actual” para no dejar flujos inconclusos. [learn.microsoft.com]
7) 🧭 Temas del agente: redirección y estructura
7.1 Temas predefinidos vs Temas del sistema
- Temas predefinidos: saludo, despedida, agradecimiento, reinicio.
- Temas del sistema: especialmente Inicio de conversación, donde se personaliza el mensaje inicial y se pueden presentar opciones. [learn.microsoft.com]
7.2 Personalización del inicio
- Se utilizó System variables para saludar al usuario (ej.: nombre visible) y mostrar un menú de opciones. [learn.microsoft.com]
- Se añadió “variación de mensaje” para humanizar la experiencia (misma intención, distintos textos). [learn.microsoft.com]
8) 📚 SharePoint como fuente: “Conocimiento” vs “Conector”
Aquí hubo un aprendizaje clave sobre dos formas distintas de usar SharePoint:
8.1 SharePoint como Knowledge source
- Se explicó que se puede agregar sitios y listas de SharePoint como conocimiento mediante la opción correcta de “Add knowledge”. [learn.microsoft.com]
- Importante: la experiencia depende de autenticación/permisos; en publicación, las llamadas pueden ejecutarse en nombre del usuario según el método de autenticación. [learn.microsoft.com]
8.2 SharePoint como Conector (Get items / Obtener elementos)
- Se construyó un ejemplo usando el conector de SharePoint para leer elementos de una lista (Get items / Obtener elementos). [learn.microsoft.com]
- Esto se usó como base para crear opciones dinámicas (botones) desde datos vivos.
✅ Distinción clave:
- Knowledge source → orientado a responder preguntas con contenido (grounding). [learn.microsoft.com]
- Connector/Get items → orientado a operar datos y alimentar lógica/UX (listas, arrays, tarjetas). [learn.microsoft.com]
9) 🪪 Tarjetas adaptables: opciones y formularios dentro del chat
9.1 ¿Qué se logró?
- Construcción de una Adaptive Card con botones para que el usuario elija opciones.
- Captura de la selección como variable (respuesta del usuario). [learn.microsoft.com]
9.2 Puntos técnicos relevantes
- Copilot Studio permite:
- Diseñar en editor visual o pegar JSON.
- Usar Power Fx para volver el JSON dinámico (inyectar valores desde variables). [learn.microsoft.com], [learn.microsoft.com]
- Consideración de compatibilidad por host:
- Teams está limitado a ciertos niveles de esquema (versión 1.5). [learn.microsoft.com]
10) 🚀 Ejercicio estrella: Menú dinámico desde SharePoint (end-to-end)
Objetivo del ejercicio: que el menú de opciones del agente se genere automáticamente desde una lista de SharePoint.
Flujo implementado (resumen)
- Crear lista en SharePoint: “Opciones de Recursos Humanos” (ej.: Datos personales, Consulta vacaciones, Registro vacaciones…).
- En Copilot Studio:
- Usar conector SharePoint → Get items para traer registros. [learn.microsoft.com]
- Inicializar una variable tipo tabla/array vacía para guardar botones. [learn.microsoft.com]
- Recorrer la tabla de resultados (iteración) y agregar elementos al array con la estructura JSON requerida para botones. [learn.microsoft.com], [learn.microsoft.com]
- Reemplazar el bloque estático
choices/actionsde la tarjeta por una referencia al array generado (dinámico con fórmula). [learn.microsoft.com], [learn.microsoft.com] - Probar actualización: al agregar un nuevo ítem en SharePoint, el menú aparece automáticamente con esa nueva opción.
🎉 Resultado: menú configurable por negocio (SharePoint) sin tocar manualmente el card cada vez.
🗣️ Preguntas & Respuestas destacadas (con refuerzo oficial)
Formato: Pregunta → ✅ Respuesta del docente → 🔎 Refuerzo recomendado (Microsoft Learn)
1) “¿Por qué le llamamos agente si parece un chatbot consultivo?”
✅ Docente: al inicio se trabaja mucho la consulta de conocimiento; el “agente” se consolida cuando empieza a ejecutar acciones (registrar vacaciones, préstamos, pedidos) y orquestar procesos con automatización.
🔎 Refuerzo: para convertirlo en agente, integra conectores/herramientas como acciones dentro del flujo. Esto extiende capacidades más allá de responder texto. [learn.microsoft.com]
2) “¿Por qué me pide conectar/permisos al consultar SharePoint?”
✅ Docente: es normal, especialmente la primera vez; se debe a que el agente necesita permisos para acceder al recurso (sitio/lista).
🔎 Refuerzo: al usar SharePoint como conocimiento o conector, la autenticación y permisos determinan si el agente puede leer. La configuración de autenticación influye en cómo se ejecutan las consultas al publicar (en nombre del usuario). [learn.microsoft.com], [learn.microsoft.com]
3) “No me aparece la lista de SharePoint al agregar conocimiento, ¿qué hago?”
✅ Docente (en práctica): se debe usar el flujo correcto de Agregar conocimiento (no confundir con la opción de carpeta/archivos). También ayuda “encontrar” el sitio por URL y luego elegir listas.
🔎 Refuerzo: Microsoft diferencia la opción de SharePoint para archivos/carpetas vs la opción completa para sitios/listas dentro del cuadro “Add knowledge”. [learn.microsoft.com]
4) “¿Cómo hago para capturar bien un dato si el usuario escribe texto extra?”
✅ Docente: usar entidades para extraer lo importante (fecha, ID, teléfono) y evitar fallos por texto adicional.
🔎 Refuerzo: las entidades mejoran el reconocimiento y permiten slot filling, extrayendo valores aunque vengan dentro de una frase, y almacenándolos en variables reutilizables. [learn.microsoft.com], [learn.microsoft.com]
5) “¿Cómo paso una opción del inicio de conversación a otro tema?”
✅ Docente: se configura una variable de salida en el tema origen y una variable de entrada en el tema destino; luego se mapea al redirigir.
🔎 Refuerzo: Copilot Studio soporta scopes (topic/global/system) y tipos; si hay incompatibilidad (ej.: Choice vs String) se debe convertir el valor antes de pasarlo. [learn.microsoft.com]
6) “¿Se puede compartir o exportar agentes?”
✅ Docente: sí, se puede compartir como editor/espectador; también existe exportación/importación a otros entornos.
🔎 Refuerzo: en escenarios empresariales se apoya el trabajo con soluciones/entornos (ALM) y variables de entorno para migración; además, conectores y variables son componentes clave al mover soluciones. [learn.microsoft.com], [learn.microsoft.com]
✅ Conclusiones (lo más importante que deja la sesión)
- La IA sola no basta: para un agente robusto se necesita estructura (temas + entidades + variables + condiciones). [learn.microsoft.com], [learn.microsoft.com], [learn.microsoft.com]
- Entidades = control y precisión: son la base para capturar datos confiables desde lenguaje natural o patrones (regex). [learn.microsoft.com], [learn.microsoft.com]
- Variables bien diseñadas = escalabilidad: distinguir entre variables de tema, globales y de sistema evita errores y mejora el mantenimiento. [learn.microsoft.com]
- SharePoint puede usarse de dos maneras: como conocimiento (grounding) o como conector (Get items) para lógica/UI dinámica. [learn.microsoft.com], [learn.microsoft.com]
- Adaptive Cards permiten convertir el chat en una experiencia guiada y profesional (botones y formularios), y se pueden dinamizar con Power Fx. [learn.microsoft.com], [learn.microsoft.com]
🛠️ Recomendaciones prácticas (para estudiantes)
- Define el alcance de variables desde el inicio:
- Local si solo sirve dentro del tema, global si se comparte entre temas. [learn.microsoft.com]
- Estandariza capturas de datos críticos con entidades:
- Fecha, correo, ID/regex, listas cerradas con sinónimos. [learn.microsoft.com], [learn.microsoft.com]
- Evita menús “hardcodeados”:
- Centraliza opciones en SharePoint y genera menús con conector + Adaptive Cards. [learn.microsoft.com], [learn.microsoft.com], [learn.microsoft.com]
- Controla permisos desde temprano:
- Si el agente consulta SharePoint, prueba con usuarios reales y valida autenticación. [learn.microsoft.com], [learn.microsoft.com]
- Cuida compatibilidad de tarjetas en Teams:
- Ajusta el schema a lo soportado por el host (Teams). [learn.microsoft.com]
📚 Referencias (solo documentación oficial Microsoft)
- Variables en Copilot Studio (tipos, scopes, system/global/topic):
Variables overview – Microsoft Copilot Studio - Entidades y slot filling (prebuilt, closed list, regex):
Use entities and slot filling in agents
Implement slot-filling best practices - SharePoint como fuente de conocimiento (sitios/listas, autenticación):
Add SharePoint as a knowledge source - Conectores como herramientas (SharePoint Get items, herramientas y acciones):
Use Power Platform connectors as tools - Tarjetas adaptables en Copilot Studio (Ask with Adaptive Card, Power Fx, compatibilidad Teams):
Ask with Adaptive Cards

