Criar extensões de mensagem usando o Bot Framework

As extensões de mensagem criadas usando o Bot Framework (baseado em Bot) usam um serviço Web como bot. Você pode usar extensões de mensagem para permitir que os usuários interajam com seu serviço Web de diferentes locais no cliente do Teams, como a área de mensagem de composição, a caixa de comando ou diretamente de uma mensagem e enviar dados estruturados de volta, como cartões.

A extensão de mensagem baseada em bot aproveita o esquema de mensagens do Bot Framework e o protocolo de comunicação segura. O bot é definido no manifesto do aplicativo para o aplicativo Teams e você também pode definir diferentes tipos de comandos para sua extensão de mensagem, como comandos de ação ou comandos de pesquisa.

Há dois tipos de comandos de extensão de mensagem: comando de ação e comando 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. Você pode usar um comando de pesquisa ou um comando de ação para interagir com seu serviço Web por meio de um bot no Teams.

A captura de tela mostra o caminho para um desenvolvedor selecionar entre comandos de ação e comandos de pesquisa.

Os comandos de pesquisa de extensão de mensagem permitem que os usuários pesquisem sistemas externos e insiram os resultados dessa pesquisa em uma mensagem na forma de um cartão. Este documento orienta você sobre como selecionar locais de invocação de comando de pesquisa e adicionar o comando de pesquisa ao manifesto do aplicativo.

Observação

O resultado cartão limite de tamanho é de 28 KB. O cartão não será enviado se o tamanho exceder 28 KB.

Confira o vídeo a seguir para saber como definir comandos de pesquisa de extensão de mensagem:


O comando de pesquisa em uma extensão de mensagem é configurado usando a composeExtensions.commands propriedade e o query tipo no manifesto do aplicativo (anteriormente chamado como manifesto do aplicativo teams). As descrições de comando e parâmetro aprimoram a usabilidade e a eficácia de uma extensão de mensagem. Uma boa descrição de comando oferece um resumo claro e conciso dos recursos do aplicativo.

O código a seguir é um exemplo da composeExtensions propriedade que define um comando de pesquisa:

{
 "composeExtensions": [
    {
      "botId": "eccdf132-0900-4d36-936b-dec5e6357f11",
      "commands": [
        {
          "id": "Dev",
          "type": "query",
          "title": "Jedi",
          "description": "May the force be with you",
          "initialRun": true,
          "fetchTask": false,
          "context": [
            "commandBox",
            "compose",
            "message"
          ],
          "parameters": [
            {
              "name": "Luke",
              "title": "Skywalker",
              "description": "Jedi master",
              "inputType": "text"
            }
          ]
        }
      ],
      "canUpdateConfiguration": true
    }
  ],

Parâmetros

Você deve adicionar os seguintes parâmetros à matriz composeExtensions.commands de objetos:

Nome da propriedade Objetivo Obrigatório? Versão do Manifesto
id ID exclusiva que você atribui ao comando de pesquisa. A solicitação do usuário inclui essa ID. Sim 1.0
title Nome do comando. Esse valor aparece na interface do usuário (interface do usuário). Sim 1.0
description Texto de ajuda que indica o que esse comando faz. Esse valor aparece na interface do usuário. Sim 1.0
semanticDescription Descrição semântica do comando para consumo pelo modelo de linguagem grande. Não 1.17
type Tipo de comando. O padrão é query. Não 1.4
initialRun Se essa propriedade estiver definida como true, ela indica que esse comando deve ser executado assim que o usuário selecionar esse comando na interface do usuário. Não 1.0
context Matriz opcional de valores que define o contexto em que a ação de pesquisa está disponível. Os valores possíveis são message, compose ou commandBox. O padrão é compose,commandBox. Não 1,5

Você deve adicionar os seguintes detalhes do parâmetro de pesquisa que definem o texto visível para o usuário no cliente do Teams:

Nome da propriedade Objetivo É necessário? Versão mínima do manifesto
parameters Define uma lista estática de parâmetros para o comando. Não 1.0
parameter.name Descreve o nome do parâmetro. O parameter.name é enviado para seu serviço na solicitação de usuário. Sim 1.0
parameter.description Descreve as finalidades do parâmetro ou o exemplo do valor que deve ser fornecido. Esse valor aparece na interface do usuário. Sim 1.0
parameter.semanticDescription Descrição semântica do parâmetro para consumo pelo modelo de linguagem grande. Não 1.17
parameter.title Título ou rótulo de parâmetro amigável ao usuário curto. Sim 1.0
parameter.inputType Defina como o tipo da entrada necessária. Os valores possíveis incluem , , , , , toggletime. datenumbertextareatext O padrão é definido como text. Não 1.4
parameters.value Valor inicial para o parâmetro. Atualmente, o valor não tem suporte Não 1,5

Para obter mais informações, consulte esquema de manifesto do aplicativo.

Próxima etapa

Confira também