Compilar extensões de mensagens.

As extensões de mensagem permitem que os usuários interajam com seu serviço Web por meio de botões e formulários no cliente do Microsoft Teams. Os usuários podem pesquisar ou iniciar ações em um sistema externo a partir da área de redação da mensagem, da caixa de comando ou diretamente de uma mensagem. Você pode retornar os resultados dessas interações para o cliente do Teams como um card com formatação avançada.

Este artigo fornece uma visão geral das extensões de mensagem, casos de uso, funcionalidade, comandos de ação e pesquisa e desenrolamento de links.

A imagem a seguir exibe os locais de onde os usuários podem invocar extensões de mensagem:

Observação

  • Não é possível enviar extensões de mensagem na caixa de @mention redação.
  • O Teams não dá suporte a opções de extensão de mensagem para chats em grupo com usuários externos.

Cenários em que as extensões de mensagem são usadas

Cenário Exemplo
Você precisa de um sistema externo para executar uma ação e retornar o resultado para sua conversa. Reserve um recurso e permita que o canal saiba o intervalo de tempo reservado.
Você precisa procurar algo em um sistema externo e compartilhar os resultados com a conversa. Procure um item de trabalho no Azure DevOps e compartilhe-o com o grupo como um Cartão Adaptável.
Você deseja concluir uma tarefa complexa que envolve várias etapas ou grandes quantidades de informações em um sistema externo e compartilhar os resultados em uma conversa. Crie um bug no seu sistema de acompanhamento com base em uma mensagem do Teams, atribua esse bug e envie um card para o thread de conversa com os detalhes do bug.

Entenda como funcionam as extensões de mensagem

Uma extensão de mensagem é composta por um serviço Web que você hospeda e um manifesto de aplicativo que define o local em que seu serviço Web é invocado no cliente do Teams. O serviço Web usa o esquema de mensagens e o protocolo de comunicação segura do Bot Framework, portanto, você deve registrar seu serviço Web como um bot no Bot Framework.

Observação

Embora você possa criar manualmente o serviço Web, use o SDK do Bot Framework para trabalhar com o protocolo.

No manifesto do aplicativo (anteriormente chamado de manifesto do aplicativo Teams), você define uma única extensão de mensagem com até 10 comandos diferentes. Cada comando define um tipo, como ação ou pesquisa, e os locais no cliente em que a extensão de mensagem é invocada. Os locais de invocação incluem a área de redação de mensagem, a barra de comandos e a mensagem. Quando você invoca a extensão de mensagem, o serviço Web recebe uma mensagem HTTPS com uma carga JSON que contém todas as informações relevantes. Responda com um conteúdo JSON para informar o cliente do Teams sobre a próxima interação a ser habilitada.

Tipos de comando de extensão de mensagem

Há dois tipos de comandos de extensão de mensagem: comandos de ação e comandos de pesquisa. O tipo de comando de extensão de mensagem define os elementos de interface do usuário e os fluxos de interação disponíveis para seu serviço Web. Ambos os tipos de comando fornecem interações para autenticação e configuração.

Comandos de ação

Use comandos de ação para apresentar aos usuários um pop-up modal para coletar ou exibir informações. Quando o usuário envia o formulário, seu serviço Web responde inserindo uma mensagem diretamente na conversa ou na área de redação de mensagem. Posteriormente, o usuário poderá enviar a mensagem. Para fluxos de trabalho mais complexos, você pode vincular vários formulários.

Dispare comandos de ação da área de redação de mensagem, da caixa de comando ou de uma mensagem. Quando você invoca o comando de uma mensagem, o conteúdo JSON inicial enviado ao bot inclui toda a mensagem da qual ele foi invocado. A imagem a seguir exibe a caixa de diálogo de comando de ação de extensão de mensagem (referida como módulo de tarefa no TeamsJS v1.x):

Caixa de diálogo do comando de ação de extensão de mensagem

Comandos de pesquisa

Os comandos de pesquisa permitem pesquisar informações em um sistema externo. Para usar comandos de pesquisa, insira uma consulta manualmente na caixa de pesquisa ou insira um link para um domínio monitorado na área de redação de mensagem e, em seguida, incorpore os resultados da pesquisa em uma mensagem. Em um fluxo de comando de pesquisa simples, a mensagem de invocação inicial inclui a cadeia de caracteres de pesquisa enviada pelo usuário. Você responderá com uma lista de cartões e visualizações de cartões. O cliente do Teams renderiza uma lista de visualizações de cartão para o usuário. Quando o usuário seleciona um cartão, o cartão de tamanho completo é inserido na área de redação da mensagem.

Você aciona os cartões da área de redação de mensagem ou da caixa de comando, mas não de uma mensagem. Você não pode acioná-los por meio de uma mensagem. A imagem a seguir exibe a caixa de diálogo do comando de pesquisa de extensão de mensagem:

Comando de pesquisa da extensão de mensagem

Observação

Para obter mais informações sobre cartões, consulte o que são cartões.

Observação

O desenrolamento de link tem suporte apenas para extensões de mensagem baseadas em bot.

Quando você cola uma URL na área de redação de mensagem, o Teams invoca um serviço Web. Essa funcionalidade é conhecida como desenrolamento de link. Você pode se inscrever para receber uma mensagem de invocação quando URLs que contêm um domínio específico forem coladas na área de redação de mensagem. Seu serviço Web pode descompactar a URL em um card detalhado, fornecendo mais informações do que o card de visualização de site padrão. Você pode adicionar botões para permitir que os usuários executem ações imediatamente sem sair do cliente do Teams. As imagens a seguir exibem o recurso de descompactação de link quando um link é colado em uma extensão de mensagem:

desenrolar link

desenrolamento de elos

Compilar extensões de mensagens.

Para criar uma extensão de mensagem, use um dos seguintes métodos:

  • Criar extensões de mensagem usando a API (baseada em API): crie uma extensão de mensagem de uma API existente. Esse método requer um documento de descrição do OpenAPI (OAD).

  • Criar extensões de mensagem usando o Bot Framework (baseado em bot): crie uma nova extensão de mensagem de um bot se quiser uma experiência de conversa individual.

Observação

Os agentes fornecem uma experiência mais flexível, inteligente e pronta para o futuro que permite um raciocínio mais avançado, um desenvolvimento mais simples e um melhor alinhamento com o Teams em evolução e a plataforma Microsoft 365. Recomendamos que você explore e crie agentes.

Para obter mais informações, confira Criar agentes declarativos e Criar agentes no Teams.

Se você tiver uma extensão de mensagem baseada em bot existente, também poderá estendê-la como um agente .

A tabela a seguir ajuda você a selecionar um tipo de extensão de mensagem para começar:

Extensão de mensagem baseada em API

  • Mais simples e rápido de criar e manter.
  • A extensão de mensagem usa uma API.
  • Nenhum código ou recurso extra é necessário para a lógica do bot.
  • Ideal para cenários em que a extensão de mensagem só precisa se comunicar com um serviço Web e não precisa de nenhuma lógica complexa ou gerenciamento de estado.
  • O tráfego é privatizado, pois não depende da infraestrutura de bot do Azure.
  • Dá suporte a comandos de pesquisa.

Extensão de mensagem baseada em bot

  • Mais flexível.
  • A extensão de mensagem usa um Bot Framework.
  • Pode usar todos os recursos de um bot.
  • Ideal para cenários em que a extensão de mensagem precisa se comunicar com vários serviços, gerenciar lógica complexa ou interações do usuário ou manter o estado entre sessões.
  • Dá suporte a comandos de ação, comandos de pesquisa e desdobramento de links.

A captura de tela mostra a árvore de decisão, que ajuda o usuário a escolher entre a extensão de mensagem baseada em API e baseada em bot.

Selecione uma opção para começar a criar uma extensão de mensagem:

       A captura de tela mostra o bloco do ícone OpenAPI.

       A captura de tela mostra o bloco do Bot Framework.

Exemplo de código

Nome de exemplo Descrição .NET Node.js Python
Extensão de mensagem com comandos baseados em ação Este exemplo demonstra como criar Extensões de Mensagem Action-Based para o Microsoft Teams, permitindo que os usuários gerem conteúdo de forma interativa. Ele apresenta bots, extensões de mensagem e integração perfeita com entradas do usuário para funcionalidade aprimorada. View View View
Extensão de mensagem com comandos baseados em pesquisa Este exemplo demonstra como criar uma Extensão de Mensagem no Microsoft Teams que permite aos usuários realizar pesquisas e recuperar resultados. View View View
Visualização da ação de extensão de mensagem Este aplicativo de exemplo ilustra como usar visualizações de ações em Extensões de Mensagens do Teams, permitindo que os usuários criem cartões a partir da entrada em um Módulo de Tarefas. Ele mostra interações de bot que aprimoram o envolvimento do usuário atribuindo mensagens aos usuários. View View NA
Ação de extensão de mensagem para agendamento de tarefas Este exemplo demonstra uma Extensão de Mensagem que permite aos usuários agendar tarefas e receber cartões de lembrete no Microsoft Teams. View View NA
Extensão de mensagem de inventário Northwind Este exemplo implementa uma extensão de mensagem do Teams que você pode usar como um plug-in para o Microsoft 365 Copilot. A extensão de mensagem permite que os usuários consultem o banco de dados Northwind. NA View NA