Skip to content
mobius1qwe edited this page Nov 13, 2026 · 1 revision

Home > Chatbot > Microsoft Teams

Chatbot no Microsoft Teams

Important

Em desenvolvimento (2.0). Ainda não está numa versão lançada e pode mudar.

Nível: avançado

Em uma frase: TRALChatTeams liga o robô ao Teams falando o protocolo do Azure Bot direto, sem SDK: confere o token de cada atividade, pega o token de saída da Microsoft e responde no endereço que a própria atividade indica.

Você vai precisar: os pacotes RALModuleChatPackage e RALModuleChatTeamsPackage, um cliente RAL com HTTPS e um TRALChatWebhookModule num servidor com HTTPS público.

Preparando no Azure

  1. No portal do Azure, crie um Azure Bot single-tenant (a Microsoft não cria mais bots multi-tenant novos). Anote o App ID, crie um segredo e anote o Tenant ID.
  2. Messaging endpoint: https://seu.dominio/teams.
  3. Em Channels, adicione o Microsoft Teams.
  4. Monte o manifesto de um app do Teams que aponta para o bot e instale (sideload) no Teams.
  5. No componente: AppId, TenantId e o segredo como token do canal (TokenSource). O verbo "Testar credenciais" pede um token à Microsoft e diz se deu certo.

O que o canal faz

  • Cada atividade chega com um JWT RS256: o RAL confere a assinatura pelas chaves publicadas (OpenIdUrl, guardadas por KeysLife), o emissor, o público (AppId), a validade, o serviceUrl e o canal. O que não confere recebe 401.
  • A resposta vai para o serviceUrl da atividade (nunca um endereço fixo), só HTTPS (RequireHttps). Para mandar mensagem sem ter recebido nada antes, RememberConversation guarda a conversa e o endereço.
  • Texto, botões em Adaptive Card (até 6), edição, remoção, "digitando" e imagens pequenas; listas viram lista numerada.
  • O token de saída é guardado até vencer e renovado sozinho, e um 401 da Microsoft faz pedir outro.

Erros comuns

sintoma causa o que fazer
toda mensagem recebe 401 AppId diferente do registrado confira o App ID do Azure Bot
"Testar credenciais" falha segredo vencido ou TenantId errado gere outro segredo
o robô não responde, sem erro serviceUrl sem HTTPS (emulador local) RequireHttps := False só em teste

Veja também

Começar

Servidor

MQTT 🚧

E-mail 🚧

Chatbot 🚧

Cliente

Motores

Avançado

Ajuda

🚧 = em desenvolvimento, pode mudar

Clone this wiki locally