Bots e SDKs
Você pode criar um bot que funcione no Microsoft Teams com uma das seguintes ferramentas ou funcionalidades:
- SDK do Microsoft Bot Framework
- Microsoft Entra ID
- Portal do Desenvolvedor
- Agentes virtuais do Power
- Assistente Virtual
- Webhooks e conectores
- Bot Framework Composer
Bots com o Microsoft Bot Framework
O bot do Teams consiste no seguinte:
- Um serviço Web publicamente acessível hospedado por você.
- Um Bot Framework para seu serviço Web.
- Seu pacote de aplicativos do Teams, que conecta o cliente do Teams ao seu serviço Web.
Dica
Use o Portal do Desenvolvedor para registrar seu serviço Web com o Bot Framework e especificar as configurações do aplicativo. Para obter mais informações, confira gerenciar seus aplicativos com o Portal do Desenvolvedor para o Teams.
O Bot Framework é um SDK avançado usado para criar bots usando C#, Java, Python e JavaScript. Se você já tiver um bot baseado no Bot Framework, poderá modificá-lo facilmente para funcionar no Teams. Use C# ou Node.js para aproveitar nossos SDKs. Esses pacotes estendem as classes e os métodos básicos SDK do Construtor de Bot da seguinte maneira:
- Utilize tipos de card especializados, como o conector card para Grupos do Microsoft 365.
- Defina dados de canal específicos do Teams em atividades.
- Processar solicitações de extensão de mensagem.
Você pode desenvolver aplicativos do Teams em qualquer tecnologia de programação da Web e chamar as APIs REST do Bot Framework diretamente. Tem de efetuar o processamento de tokens em todos os casos.
Bots com Power Virtual Agents
Power Virtual Agents é um serviço de chatbot criado na plataforma Microsoft Power e Bot Framework. O processo de desenvolvimento do Power Virtual Agent usa uma abordagem guiada, sem código e interface gráfica que capacita os membros da equipe a criar e manter facilmente um agente virtual inteligente. Depois de criar seu chatbot no portal Power Virtual Agents, você pode integrá-lo facilmente ao Teams. Para obter mais informações sobre como começar, consulte a documentação Power Virtual Agents.
Observação
Não pode utilizar o Microsoft Power Platform para criar aplicações que vão ser publicadas na Microsoft Teams Store. Os aplicativos do Microsoft Power Platform podem ser publicados somente na loja de aplicativos de uma organização.
Bots com webhooks e conectores
Importante
Os Conectores do Microsoft 365 (anteriormente denominados conectores Office 365) estão prestes a descontinuar e a criação de novos Conectores do Microsoft 365 será bloqueada em breve. Para obter mais informações sobre a agenda e como a aplicação Fluxos de Trabalho fornece uma experiência mais flexível e segura, veja Descontinuação dos conectores do Microsoft 365 no Microsoft Teams.
Como pode criar um webhook no Teams?
Para publicar automaticamente num chat ou canal quando um pedido de webhook é recebido, utilize os modelos de fluxo de trabalho predefinidos ou crie um fluxo de trabalho do zero com o acionador Quando um pedido de webhook do Teams é recebido . Para obter mais informações, consulte Publicar um fluxo de trabalho quando um pedido de webhook é recebido no Microsoft Teams..
Para obter mais informações sobre o acionador Quando um pedido de webhook do Teams é recebido , consulte Microsoft Teams – Webhook.
Se já tiver criado Office 365 Conectores:
Criar um conector do Power Automate: o Power Automate melhora as aplicações de Fluxos de Trabalho amplamente utilizadas no Teams. É a abordagem dimensionável e segura para transmitir dados através de programação para dentro e para fora do Teams. Se adotar este método, pode criar modelos de fluxo de trabalho para publicar alertas do seu produto em canais do Teams. Esta abordagem simplifica a adoção pelo utilizador do novo método. Para obter mais informações, veja Power Automate para programadores empresariais, ISVs e parceiros.
Atualizar a sua aplicação Teams: pode melhorar a sua aplicação teams atual. Por exemplo, pode permitir que os utilizadores configurem mensagens proativas com base em eventos de acionador no seu sistema. Para obter mais informações, veja como os bots podem publicar em canais através de mensagens proativas.
Problemas conhecidos
- A aplicação de fluxos de trabalho não pode publicar em canais privados como um bot de fluxo. No entanto, pode publicar em nome de um utilizador.
- Os fluxos de trabalho suportam apenas Cartões Ajustáveis. Não suporta a mensagem mais antiga card formato que os Conectores Office 365 utilizam. Os fluxos de trabalho não suportam a utilização da mensagem card formato. Para obter mais informações, veja como converter mensagens de conector card formato em Cartão Ajustável.
- Os fluxos de trabalho não oferecem conectores de terceiros, como o DataDog e o Jenkins.
- Os fluxos de trabalho só podem ser criados no seu ambiente predefinido.
Limites
Os fluxos de trabalho estão ligados apenas a utilizadores específicos (referidos como proprietários do fluxo de trabalho) e não a uma equipa ou canal do Teams. Os fluxos de trabalho podem tornar-se fluxos órfãos na ausência de um proprietário se não forem atribuídos coproprietários. Para manter a continuidade no processo de negócio automatizado pelo fluxo, os administradores podem adicionar um ou mais coproprietários e conceder-lhes controlo total sobre o fluxo de trabalho. Também podem adicionar autenticação para ligações, se existirem, e ativar o fluxo se este tiver sido desativado. Para obter mais informações, veja Gerir fluxos órfãos.
Webhooks e conectores conectam seu bot aos seus serviços Web. Usando webhooks e conectores, você pode criar um bot para interação básica, como criar um fluxo de trabalho ou outros comandos simples. Só estão disponíveis na equipa onde as cria e se destinam a processos simples específicos do fluxo de trabalho da sua empresa. Para obter mais informações, confira o que são webhooks e conectores.
Vantagens dos bots
Os bots no Microsoft Teams podem fazer parte de uma conversa privadas, um chat em grupo ou um canal em uma equipe. Cada escopo fornece oportunidades únicas e desafios para seu bot conversacional.
Em um canal. | Em um chat em grupo | Chat Privado |
---|---|---|
Alcance enorme | Menos membros | Maneira tradicional |
Interações individuais concisas | @mention para bot | Bots de P e R |
@mention para bot | Semelhante ao canal | Bots que contam piadas e fazem anotações |
Em um canal.
Os canais contêm conversações por tópicos entre várias pessoas até 2000. Isso potencialmente dá ao seu bot um alcance enorme, mas as interações individuais devem ser concisas. As interações multifator tradicionais não funcionam. Em vez disso, tem de procurar utilizar cartões ou caixas de diálogo interativos (referidos como módulos de tarefas no TeamsJS v1.x) ou mover a conversação para uma conversação um-para-um para recolher muitas informações. O bot só tem acesso a mensagens em que é @mentioned
. Você pode recuperar mensagens adicionais da conversa usando as permissões do Microsoft Graph no nível da organização.
Os bots funcionam melhor em um canal nos seguintes casos:
- Notificações, em que você fornece um cartão interativo para os usuários obterem informações adicionais.
- Comentários cenários como votações e pesquisas.
- Um único ciclo de solicitação ou resposta resolve interações e os resultados são úteis para vários membros da conversa.
- Bots sociais ou divertidos, em que você obtém uma imagem de gato incrível, escolhe aleatoriamente um vencedor e assim por diante.
Em um chat em grupo
Os chats de grupo são conversas não-encadeadas entre três ou mais pessoas. Tendem a ter menos membros do que um canal e são mais temporários. Semelhante a um canal, o bot só tem acesso a mensagens onde está @mentioned
diretamente.
Os bots que funcionam melhor num canal também funcionam melhor numa conversa de grupo.
Chat Privado
O chat privado é a maneira tradicional de um bot de conversação interagir com um usuário. Alguns exemplos de bots de chat ptivado são:
- Bots de P e R
- bots que iniciam fluxos de trabalho noutros sistemas.
- bots que contam piadas.
- bots que tiram notas. Antes de criar chatbots um-para-um, considere se uma interface baseada em conversação é a melhor forma de apresentar a sua funcionalidade.
Desvantagens dos bots
Uma caixa de diálogo extensa entre o bot e o usuário é uma maneira lenta e complexa de concluir uma tarefa. Um bot que suporta comandos excessivos, especialmente uma vasta gama de comandos, não é bem-sucedido ou visto positivamente pelos utilizadores.
Ter experiências de vários turnos no chat
Uma caixa de diálogo extensa exige que o desenvolvedor mantenha o estado. Para sair deste estado, um utilizador tem de exceder o limite de tempo ou selecionar Cancelar. Além disso, o processo é entediante. Por exemplo, consulte o seguinte cenário de conversa:
USER: Agende uma reunião com Sara.
BOT: Encontrei 200 resultados, incluindo o nome próprio e o apelido.
USER: Agende uma reunião com Sara Melo.
BOT: OK, a que hora você gostaria de se encontrar com Sara Melo?
USUÁRIO: 13h.
BOT: Em qual dia?
Suporte a muitos comandos
Como há apenas seis comandos visíveis no menu do bot atual, é improvável que algo mais seja usado com qualquer frequência. Bots que se aprofundam em uma área específica em vez de tentar ser um amplo trabalho de assistente funcionam melhor.
Manter uma grande base de dados de conhecimento
Uma das desvantagens dos bots é que é difícil manter uma grande base de dados de conhecimento de obtenção com respostas não classificadas. Os bots são mais adequados para interações rápidas e curtas e não passam por listas longas em busca de uma resposta.
Limitações e problemas conhecidos
Se não conseguir criar um bot no Portal do Programador, confirme o seguinte:
O registo de aplicações está ativado para os utilizadores: quando um registo de aplicações é desativado em toda a organização, os utilizadores (para além dos utilizadores com acesso de administrador Microsoft Entra) não podem registar novas aplicações. Para permitir que os utilizadores registem aplicações, os administradores têm de alternar Os utilizadores podem registar aplicações para Sim no centro de administração do Microsoft Entra.
Conceder permissões a utilizadores específicos para registar novas aplicações:
Para licenças do Microsoft 365 em que o limite de registo de aplicações é de 250 aplicações por utilizador, certifique-se de que o administrador adiciona Microsoft Entra ID a um utilizador com as seguintes funções:
Para obter informações sobre como atribuir funções, veja Assign Microsoft Entra roles to users (Atribuir funções de Microsoft Entra aos utilizadores).
Para uma licença do Microsoft 365 (plano P1, P2, E3 ou E5) em que o limite de registo de aplicações é predefinido para o limite de inquilinos (mais de 300 000) por utilizador, certifique-se de que o administrador adiciona Microsoft Entra ID a um utilizador e atribui uma função Personalizada ao utilizador com as seguintes permissões:
microsoft.directory/applications/create
microsoft.directory/applications/createAsOwner
Trechos de código
O código seguinte fornece um exemplo de uma atividade de bot para um âmbito de equipa de canal:
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
{
var mention = new Mention
{
Mentioned = turnContext.Activity.From,
// EncodeName: Converts the name to a valid XML name.
Text = $"<at>{XmlConvert.EncodeName(turnContext.Activity.From.Name)}</at>",
};
// MessageFactory.Text(): Specifies the type of text data in a message attachment.
var replyActivity = MessageFactory.Text($"Hello {mention.Text}.");
replyActivity.Entities = new List<Entity> { mention };
// Sends a message activity to the sender of the incoming activity.
await turnContext.SendActivityAsync(replyActivity, cancellationToken);
}
O código a seguir fornece um exemplo de atividade de bot para um chat privado:
// Handle message activity
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
{
// Remove recipient mention text from Text property.
// Use with caution because this function is altering the text on the Activity.
turnContext.Activity.RemoveRecipientMention();
var text = turnContext.Activity.Text.Trim().ToLower();
// Sends a message activity to the sender of the incoming activity.
await turnContext.SendActivityAsync(MessageFactory.Text($"Your message is {text}."), cancellationToken);
}
Exemplo de código
Nome do exemplo | Descrição | .NETCore | Node.js | Python | Manifesto |
---|---|---|---|---|---|
Bot de conversas do Teams | Esta aplicação de exemplo mostra como utilizar diferentes eventos de conversação de bot disponíveis no bot framework v4. | View | View | View | Exibir |
Exemplos de bot | Conjunto de exemplos do bot framework v4. | View | View | View |