Compartir a través de


Generar extensiones de mensaje

Las extensiones de mensaje permiten a los usuarios interactuar con el servicio web a través de botones y formularios dentro del cliente de Microsoft Teams. Los usuarios pueden buscar o iniciar acciones en un sistema externo desde el área de redacción de mensajes, el cuadro de comandos o directamente desde un mensaje. Los resultados de estas interacciones se pueden devolver al cliente de Teams como una tarjeta con formato enriquecido.

En el artículo se proporciona información general sobre las extensiones de mensaje, los casos de uso, la funcionalidad, los comandos de acción y búsqueda y la desplegamiento de vínculos.

En la imagen siguiente se muestran las ubicaciones desde las que se pueden invocar las extensiones de mensaje:

Nota:

  • @mentioning no se admiten las extensiones de mensaje en el cuadro de redacción.
  • Las opciones de extensión de mensaje no son compatibles con los chats de grupo con usuarios externos.

Escenarios en los que se usan extensiones de mensajería

Escenario Ejemplo
Necesita un sistema externo para realizar una acción y devolver el resultado a la conversación. Reserve un recurso y permita que el canal esté al corriente de la franja horaria reservada.
Debe buscar algo en un sistema externo y compartir los resultados con la conversación. Busque un elemento de trabajo en Azure DevOps y compárelo con el grupo como una tarjeta adaptable.
Quiere completar una tarea compleja que implique varios pasos o grandes cantidades de información en un sistema externo y compartir los resultados con una conversación. Cree un error en el sistema de seguimiento en función de un mensaje de Teams, asígnelo y envíe una tarjeta al subproceso de conversación con los detalles del error.

Descripción del funcionamiento de las extensiones de mensajería

Una extensión de mensaje se compone de un servicio web hospedado por usted y un manifiesto de aplicación que define la ubicación donde se invoca el servicio web dentro del cliente de Teams. El servicio web usa el esquema de mensajería de Bot Framework y el protocolo de comunicación seguro, por lo que debe registrar el servicio web como bot en Bot Framework.

Nota:

Aunque es posible crear manualmente el servicio web, se recomienda usar Bot Framework SDK para trabajar con el protocolo.

En el manifiesto de aplicación (anteriormente denominado manifiesto de aplicación de Teams), se define una única extensión de mensaje con hasta 10 comandos diferentes. Cada comando define un tipo, como acción o búsqueda, y las ubicaciones del cliente desde donde se invoca la extensión de mensaje. Las ubicaciones de invocación incluyen el área del mensaje de redacción, la barra de comandos y el mensaje. Al invocar, el servicio web recibe un mensaje HTTPS con una carga JSON con toda la información pertinente. Responda con una carga JSON para informar al cliente de Teams de la siguiente interacción que se va a habilitar.

Tipos de comandos de extensión de mensaje

Hay dos tipos de comandos de extensión de mensajería: comando de acción y comando de búsqueda. El tipo de comando de extensión de mensaje define los elementos de la interfaz de usuario y los flujos de interacción disponibles para su servicio web. Algunas interacciones, como la autenticación y la configuración, están disponibles para ambos tipos de comandos.

Comandos de acción

Los comandos de acción se usan para presentar a los usuarios un elemento emergente modal para recopilar o mostrar información. Cuando el usuario envía el formulario, el servicio web responde insertando un mensaje en la conversación directamente o en el área de redacción del mensaje. Más adelante, el usuario puede enviar el mensaje. Para flujos de trabajo más complejos, puede vincular varios formularios entre sí.

Los comandos de acción se desencadenan desde el área del mensaje de redacción, el cuadro de comandos o un mensaje. Cuando se invoca el comando desde un mensaje, la carga JSON inicial enviada al bot incluye todo el mensaje desde el que se invocó. En la imagen siguiente se muestra el cuadro de diálogo de comando de acción de extensión de mensaje (denominado módulo de tareas en TeamsJS v1.x):

Cuadro de diálogo de comando de acción de extensión de mensaje

Comandos de búsqueda

Los comandos de búsqueda permiten a los usuarios buscar información en un sistema externo. Para usar comandos de búsqueda, escriba una consulta manualmente en el cuadro de búsqueda o inserte un vínculo a un dominio supervisado en el área de redacción del mensaje y, a continuación, inserte los resultados de la búsqueda en un mensaje. En un flujo de comandos de búsqueda simple, el mensaje de invocación inicial incluye la cadena de búsqueda enviada por el usuario. Responderá con una lista de tarjetas y vistas previas de tarjetas. El cliente Teams provee una lista de vistas previas de tarjetas para el usuario. Cuando el usuario seleccione una tarjeta, la tarjeta a tamaño completo se insertará en el área de redacción del mensajes.

Las tarjetas se desencadenan desde el área del mensaje de redacción o el cuadro de comandos, pero no desde un mensaje. No se pueden desencadenar desde un mensaje. En la imagen siguiente se muestra el cuadro de diálogo del comando de búsqueda de extensión de mensaje:

comando de búsqueda de extensión de mensajería

Nota:

Para obtener más información sobre las tarjetas, consulte qué son las tarjetas.

Nota:

La desplegamiento de vínculos solo se admite para extensiones de mensajes basadas en bots.

Cuando se pega una dirección URL en el área del mensaje de redacción, se invoca un servicio web. Esta funcionalidad se conoce como apertura de vínculos. Puede suscribirse para recibir un mensaje de invocación cuando las direcciones URL que contienen un dominio específico se pegan en el área del mensaje de redacción. El servicio web puede desplegar la dirección URL en una tarjeta detallada, lo que proporciona más información que la tarjeta de vista previa del sitio web estándar. Puede agregar botones para permitir que los usuarios realicen acciones inmediatamente sin salir del cliente de Teams. Las siguientes imágenes muestran la característica de desplegamiento de vínculos cuando se pega un vínculo en una extensión de mensaje:

abrir vínculo

desplegamiento de vínculos

Generar extensiones de mensaje

Para compilar una extensión de mensaje, si aún no tiene una, hay dos maneras:

  • Compilación de extensiones de mensajes mediante API (basada en API): puede crear fácilmente una extensión de mensaje a partir de una API existente. Se requiere un documento de Descripción de OpenAPI (OAD) para este método.

  • Compilación de extensiones de mensajes mediante Bot Framework (basado en bots): si quiere una experiencia conversacional uno a uno, puede crear una nueva extensión de mensaje a partir de un bot.

Nota:

Los agentes proporcionan una experiencia más flexible, inteligente y preparada para el futuro que permite un razonamiento más completo, un desarrollo más sencillo y una mejor alineación con la plataforma de Microsoft 365 y Teams en constante evolución. Se recomienda explorar y compilar agentes.

Para obtener más información, consulte Compilación de agentes declarativos y compilación de agentes en Teams.

Si tiene una extensión de mensaje basada en bots existente, también puede ampliarla como agente .

La tabla siguiente le ayuda a seleccionar un tipo de extensión de mensaje para empezar:

Extensión de mensaje basada en API

  • Más sencillo y rápido de crear y mantener.
  • La extensión de mensaje usa una API.
  • No se requiere ningún código o recurso adicional para la lógica del bot.
  • Ideal para escenarios en los que la extensión de mensaje solo necesita comunicarse con un servicio web y no necesita ninguna lógica compleja ni administración de estados.
  • El tráfico se privatiza, ya que no dependen de Azure infraestructura del bot.
  • Admite comandos de búsqueda.

Extensión de mensaje basada en bots

  • Más flexible.
  • La extensión de mensaje usa Bot Framework.
  • Puede usar todas las funcionalidades de un bot.
  • Ideal para escenarios en los que la extensión de mensaje necesita comunicarse con varios servicios, administrar interacciones de usuario o lógica complejas o mantener el estado entre sesiones.
  • Admite comandos de acción, comandos de búsqueda y desplegamiento de vínculos.

Captura de pantalla que muestra el árbol de decisión, que ayuda al usuario a elegir entre la extensión de mensaje basada en API y la basada en bots.

Seleccione una opción para empezar a compilar una extensión de mensaje:

       Captura de pantalla que muestra el icono de OpenAPI.

       Captura de pantalla que muestra el icono de Bot Framework.

Ejemplo de código

Ejemplo de nombre Descripción .NET Node.js Python Manifiesto
Extensión de mensajería con comandos basados en acciones En este ejemplo se muestra cómo crear extensiones de mensajes Action-Based para Microsoft Teams, lo que permite a los usuarios generar contenido de forma interactiva. Incluye bots, extensiones de mensajes e integración perfecta con entradas de usuario para mejorar la funcionalidad. View View View View
Extensión de mensajería con comandos basados en búsquedas En este ejemplo se muestra cómo crear una extensión de mensaje en Microsoft Teams que permite a los usuarios realizar búsquedas y recuperar resultados. View View View View
Vista previa de la acción de extensión de mensaje Esta aplicación de ejemplo muestra cómo usar vistas previas de acciones en las extensiones de mensaje de Teams, lo que permite a los usuarios crear tarjetas a partir de la entrada en un módulo de tareas. Muestra las interacciones del bot que mejoran la interacción del usuario al atribuir mensajes a los usuarios. View View ND View
Acción de extensión de mensajería para la programación de tareas En este ejemplo se muestra una extensión de mensaje que permite a los usuarios programar tareas y recibir tarjetas de recordatorio en Microsoft Teams. View View ND View
Extensión de mensaje de inventario de Northwind En este ejemplo se implementa una extensión de mensaje de Teams que se puede usar como complemento para Microsoft 365 Copilot. La extensión de mensaje permite a los usuarios consultar la base de datos Northwind. ND View ND ND