Implementar agentes en Microsoft Teams

Microsoft Teams presenta desafíos únicos de implementación para los agentes de Copilot Studio debido a su ambiente de conversación persistente. A diferencia de las implementaciones basadas en la web, donde las sesiones se reinician automáticamente, Teams mantiene los hilos de conversación indefinidamente, lo que puede provocar un contexto estancado, la expiración de los tokens y contenido en caché obsoleto.

Este artículo proporciona una guía para implementar agentes de Copilot Studio en Teams de forma eficaz. Aprenderás a gestionar sesiones persistentes, a implementar estrategias de depuración y a asegurar un rendimiento fiable durante ciclos de vida extendidos de las conversaciones.

Consideraciones clave abordadas:

  • Administración del ciclo de vida de la sesión y gestión de la inactividad
  • Técnicas de depuración para conversaciones persistentes
  • Control de versiones y estrategias de implementación de actualizaciones
  • Patrones de implementación específicos de Teams

Sigue estas prácticas para crear agentes robustos que funcionen de manera consistente en el entorno de Teams mientras ofrecen comentarios claros a los usuarios sobre cambios de estado y comportamientos del sistema.

Por qué la implementación en Teams es diferente

Las conversaciones en Teams persisten durante varios días sin reinicio automático. A diferencia de las sesiones de chat en web, el evento ConversationStart solo se activa la primera vez que se añade un agente. Reinstalar la aplicación no reactiva este evento.

La persistencia en Teams genera varios riesgos:

  • Contexto obsoleto: el historial de conversaciones permanece a menos que se borre.
  • Expiración de tokens: los conectores pueden expirar durante sesiones largas.
  • Límites de contexto: los mensajes acumulados pueden exceder los límites del modelo.
  • Almacenamiento en caché de actualizaciones: los usuarios pueden continuar interactuando con lógica obsoleta.

Una gestión proactiva del estado y una guía clara para el usuario son esenciales.

Gestionar el ciclo de vida de la sesión

Administre el ciclo de vida de la sesión con la gestión de la inactividad.

Implementar reinicios por inactividad

Crea un nuevo tema y selecciona el desencadenador El usuario está inactivo durante un tiempo para iniciar el flujo de restablecimiento tras un periodo de inactividad del usuario. Obtén más información en Desencadenador por inactividad sobre patrones específicos de Teams, incluyendo variables de guardia y el modelo de conversación persistente.

  1. Agrega el desencadenador por inactividad y establece un período de espera (p. ej., 15 minutos).
  2. Agrega uno o más nodos de Borrar valores de variables para eliminar las variables de sesión y el historial de conversaciones, y así prevenir el desbordamiento de contexto.
  3. Termina la conversación y marca la sesión como resuelta.

Captura de pantalla del editor de temas de Copilot Studio que muestra un flujo de trabajo de reinicio por inactividad con los nodos de desencadenador, mensaje, borrar valores de variables y finalización de la conversación.

Este enfoque previene el desbordamiento de contexto y garantiza un comportamiento predecible cuando un usuario regresa.

Proporcionar orientación después del reinicio

Después de borrar el estado, envía un mensaje explicando lo sucedido. Por ejemplo: “Parece que a nuestra conversación se le agotó el tiempo, así que estoy aclarando el contexto previo por seguridad. Di 'hola' para reiniciarla”.

Ya que ConversationStart solo se activa una vez, la primera vez que se agrega un agente, el tema Saludo se convierte en el punto de inicialización efectivo. Solicitar al usuario que diga “hola” garantiza que la lógica de inicio se ejecute correctamente.

Ofrecer un comando de reinicio de autoservicio

Incluye un mensaje que informe a los usuarios que pueden escribir un comando específico: “Si algo parece estar mal, intenta escribir /debug clearstate para refrescar mi estado”.

Este comando realiza un reinicio completo de la conversación:

  • Borra el estado de conversación
  • Elimina la información de conector almacenada en caché
  • Vuelve a autenticar conectores
  • Carga la última versión del agente

Usa este comando cuando:

  • El bot parece estar “atascado” con información desactualizada
  • La autenticación del conector ha expirado
  • Después de las actualizaciones de la lógica del bot
  • Cuando el comportamiento parece inconsistente

Aumenta la transparencia y mejora la depuración

Para aumentar la transparencia y mejorar la depuración de los agentes implementados en Teams, use el desencadenador OnKnowledgeRequested.

Usa OnKnowledgeRequested para revelar consultas reescritas

Copilot Studio reescribe las consultas de los usuarios antes de realizar la recuperación. Si habilitas el desencadenador OnKnowledgeRequested, puedes:

  • Diagnosticar errores de coincidencia de intenciones
  • Entender cómo se reescriben las consultas
  • Aumentar la confianza del usuario durante la depuración

Nota

Puede configurar el desencadenador OnKnowledgeRequested solo en la vista de código usando YAML. No hay compatibilidad con el diseñador visual.

Agrega un mensaje que muestre tanto las consultas de palabras clave como las semánticas generadas. Por ejemplo:

kind: AdaptiveDialog
beginDialog:
  kind: OnKnowledgeRequested
  id: main
  actions:
    - kind: SendActivity
      id: sendActivity_debug
      activity: |-    
        **Debug**: sending this lexical query "{System.KnowledgeSearchQuery}"
        **Debug**: sending this semantic query "{System.SearchQuery}"
inputType: {}
outputType: {}

Esta consulta proporciona acceso de solo lectura a la consulta de búsqueda refinada (reescritura de la consulta) que el orquestador generó a partir de la pregunta del usuario.

Ventajas:

  • Ayuda a depurar desajustes de intención.
  • Muestra a los usuarios lo que busca el agente.
  • Genera confianza en las acciones del agente.
  • Ayuda a los creadores durante las pruebas.

Control de versiones y fiabilidad de las actualizaciones

Administrar las versiones del agente y garantizar que los usuarios interactúen con la lógica más reciente es especialmente importante en un entorno persistente como Teams.

Mostrar la versión del bot en bienvenida o en un tema específico

Incluye un identificador de versión usando el tema Saludo o un tema de versión dedicado:

Contoso Helpdesk Bot – Version 1.3 (Nov 2025)

Actualiza este valor con cada publicación para ayudar a usuarios y equipos de soporte a verificar qué versión está activa. Actualizar los metadatos de la versión también refresca el contenido en caché. Al cambiar el nombre o la descripción del agente, Teams lo carga como una actualización nueva.

Habilita la opción “Forzar la versión más reciente” al publicar

La opción Forzar la versión más reciente garantiza que Teams cargue la lógica más reciente del agente la próxima vez que el usuario envíe un mensaje. Esta configuración también ayuda a invalidar las versiones en caché. Sin embargo, forzar una actualización interrumpe cualquier conversación en curso.

Captura de pantalla del cuadro de diálogo de publicación del agente con advertencias sobre las credenciales, el modelo de versión preliminar y Forzar la versión más reciente habilitada.

Consideraciones específicas de implementación en Teams

Teams tiene comportamientos únicos que requieren atención especial.

Trata el tema Saludo como lógica de inicio

Como ConversationStart solo se activa una vez, cuando se añade un agente por primera vez:

  • Coloca la lógica de inicialización en Saludo.
  • Agrega instrucciones claras en la descripción de la aplicación de Teams.
  • Recuerda a los usuarios: “Después de un periodo de inactividad, escribe 'hola' para iniciar una nueva conversación”.

Optimiza los desencadenadores y las alternativas

Los usuarios de Teams interactúan de manera natural e impredecible. Asegúrate de que tu bot:

  • Gestione múltiples variaciones de saludo.
  • Incluya la gestión de despedidas.
  • Proporcione múltiples expresiones de ejemplo.
  • Ofrezca respuestas de respaldo amables y útiles.
  • Utilice palabras clave para guiar a los usuarios hacia temas relevantes.
  • Use OnKnowledgeRequested para ayudar a diagnosticar intenciones perdidas.
  • Redirija a temas relevantes según palabras clave.
  • Invite a los usuarios a reformular si el bot realmente está atascado.

Valide el comportamiento de autenticación de los conectores

Cuando uses conectores (ServiceNow, Outlook y otros), prueba lo siguiente:

  • Comportamiento de la tarjeta de inicio de sesión inicial.
  • ¿Qué ocurre cuando el token caduca y cómo se renueva automáticamente?
  • Cómo funcionan los flujos de invalidación forzada y reconsentimiento.

Sugerencia

Los conectores pueden no actualizar los tokens durante sesiones prolongadas. Usa reinicios de inactividad o /debug clearstate para reactivar OAuth cuando sea necesario. Comunica este comando a los equipos de soporte y usuarios para una solución de problemas rápida.

Pruebas en condiciones reales

Dado que Teams conserva el estado entre sesiones, las pruebas deben reflejar la experiencia real del usuario:

  1. Realiza las implementaciones mediante Mostrar solo para mí.
  2. Prueba escenarios de larga duración (retomando la sesión tras varias horas de inactividad).
  3. Publica actualizaciones y confirma que el agente cambia de versión.
  4. Valida el renderizado de tarjeta adaptable tanto en escritorio como en móvil.
  5. Prueba acciones en diversos contextos conversacionales.

Lista de comprobación de la implementación

¿Ha acabado? Tarea
Desencadenador de inactividad configurado para borrar el historial de conversaciones
Los mensajes al usuario explican los reinicios y orientan sobre cómo reiniciar
/debug clearstate documentado para usuarios
OnKnowledgeRequested habilitado para la transparencia durante el desarrollo
Identificador de versión incluido en las respuestas
Forzar la versión más reciente habilitado según corresponda
El tema de bienvenida incluye la lógica de inicialización
El comportamiento de reserva es fácil de usar
Autenticación del conector probado en términos de expiración y renovación
Pruebas en Teams bajo condiciones reales completadas

Puntos clave de aprendizaje

  • Gestiona el ciclo de vida de la sesión configurando los disparadores de inactividad y utilizando opciones de limpieza de estado cuando sea apropiado.
  • Mejora la transparencia al revelar la actividad del sistema mediante reescrituras de consultas y mensajes relacionados con el estado.
  • Considera los comportamientos específicos de Teams, como la administración de saludos manuales y la gestión de la memoria persistente.
  • Mantiene la fiabilidad del agente implementando prácticas de control de versiones y forzando actualizaciones cuando sea necesario.
  • Fomenta la autonomía del usuario proporcionando comandos de autoservicio para la solución de problemas y alternativas de recuperación guiada.