Generar extensiones de mensaje

Las extensiones de mensajes permiten a los usuarios interactuar con el servicio web mediante botones y formularios en el 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. Puede devolver los resultados de estas interacciones al cliente de Teams como una tarjeta con formato enriquecido.

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

En la imagen siguiente se muestran las ubicaciones desde las que los usuarios pueden invocar extensiones de mensajes:

Nota:

  • No @mention puede enviar mensajes a las extensiones en el cuadro de redacción.
  • Teams no admite opciones de extensión de mensaje para chats grupales 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. Buscar un elemento de trabajo en Azure DevOps y compartirlo con el grupo como una tarjeta adaptable.
Desea completar una tarea compleja que implica 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 basado en un mensaje de Teams, asígnelo y envíe una tarjeta al hilo 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 que hospeda 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 y el protocolo de comunicación segura de Bot Framework, por lo que debe registrar el servicio web como un bot en Bot Framework.

Nota:

Aunque puede crear el servicio web manualmente, use el SDK de Bot Framework para trabajar con el protocolo.

En el manifiesto de la aplicación (antes llamado manifiesto de la aplicación de Teams), se define una única extensión de mensaje con un máximo de 10 comandos diferentes. Cada comando define un tipo, como acción o búsqueda, y las ubicaciones en el cliente donde se invoca la extensión de mensaje. Las ubicaciones de invocación incluyen el área de redacción de mensajes, la barra de comandos y el mensaje. Cuando invoca la extensión de mensaje, el servicio web recibe un mensaje HTTPS con una carga útil JSON que contiene toda la información relevante. Responda con una carga útil JSON para informar al cliente de Teams de la siguiente interacción que debe habilitar.

Tipos de comandos de extensión de mensaje

Hay dos tipos de comandos de extensión de mensaje: comandos de acción y comandos 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. Ambos tipos de comando proporcionan interacciones para la autenticación y la configuración.

Comandos de acción

Utilice comandos de acción para presentar a los usuarios una ventana 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 de mensajes. Más tarde, el usuario puede enviar el mensaje. Para flujos de trabajo más complejos, puede vincular varios formularios entre sí.

Desencadene comandos de acción desde el área redactar mensaje, el cuadro de comandos o un mensaje. Al invocar el comando desde un mensaje, la carga inicial de JSON enviada al bot incluye todo el mensaje desde el que se invocó. En la siguiente imagen se muestra el cuadro de diálogo del comando de acción de la 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 le permiten 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 redactar 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 activan desde el área de redacción de mensajes 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 la 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:

El despliegue de vínculos solo es compatible con las extensiones de mensaje basadas en bots.

Al pegar una dirección URL en el área de redacción de mensajes, Teams 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 peguen en el área de redacción de mensajes. Tu servicio web puede mostrar la URL en una tarjeta detallada, proporcionando más información que la tarjeta de vista previa estándar del sitio web. 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 despliegue de vínculos al pegar un vínculo en una extensión de mensaje:

abrir vínculo

Despliegue de enlaces

Generar extensiones de mensaje

Para crear una extensión de mensaje, use uno de los métodos siguientes:

  • Crear extensiones de mensaje con API (basadas en API): cree una extensión de mensaje a partir de una API existente. Este método requiere un documento de descripción de OpenAPI (OAD).

  • Cree extensiones de mensaje con Bot Framework (basado en bots): Cree una nueva extensión de mensaje a partir de un bot si desea una experiencia conversacional uno a uno.

Nota:

Los agentes proporcionan una experiencia más flexible, inteligente y preparada para el futuro que permite un razonamiento más enriquecido, un desarrollo más sencillo y una mejor alineación con la plataforma en evolución de Teams y Microsoft 365. Le recomendamos que explore y cree agentes.

Para obtener más información, consulte Compilar agentes declarativos y Crear agentes en Teams.

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

La siguiente tabla 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 utiliza una API.
  • No se requiere código ni recurso adicional para la lógica de 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 estado.
  • El tráfico se privatiza ya que no depende de la infraestructura de bots de Azure.
  • Admite comandos de búsqueda.

Extensión de mensaje basada en bots

  • Más flexible.
  • La extensión de mensaje utiliza un 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 lógicas complejas o interacciones de usuario, o mantener el estado entre sesiones.
  • Admite comandos de acción, comandos de búsqueda y despliegue de vínculos.

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

Seleccione una opción para empezar a crear una extensión de mensajería:

       La captura de pantalla muestra el icono de OpenAPI.

       La captura de pantalla muestra el icono de Bot Framework.

Ejemplo de código

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