Integrando sua aplicação .NET ao Microsoft Teams

Vinícius Mussak
Comunidade XP
4 min readApr 22, 2021

--

Fala galera! Tudo certo?

Certamente você já precisou enviar alguma notificação, seja de erro, de algum processo que rodou, ou simplesmente notificar alguém quando algo acontecesse.

Existem algumas formas para fazermos isso, o bom e velho e-mail nos atende perfeitamente, mas se precisamos de algo com agilidade, que possamos dar aquela olhada rapidinha, o Microsoft Teams é uma boa solução, ainda mais em tempos de home-office, e melhora mais ainda se a sua empresa utiliza essa ferramenta como canal de comunicação.

Hoje vamos aprender a como criar um canal no Microsoft Teams para recebermos notificações via Webhook.

O primeiro passo, é criarmos um time onde posteriormente criaremos um canal, para criar o time, basta clicarmos na aba “Equipes” no menu lateral e posteriormente em “Criar uma equipe ou ingressar…”, como na imagem abaixo:

Janela do Microsoft Teams com a opção de criação de equipes

O próximo passo é escolher se a equipe vai ser criada do zero ou importada de alguma já existente, no nosso caso, criaremos do zero:

Escolha do modelo da equipe

Logo após, escolheremos se será uma equipe pública ou privada, eu mantive como privada:

Escolha do tipo da equipe

E o último passo da criação da equipe, é a escolha de um nome e descrição:

Informações sobre nome e descrição da equipe

Com a equipe já criada, vamos criar um canal específico para o recebimento das nossas mensagens, clicando nos pontinhos no canto superior direito do nome da equipe e logo após em “Adicionar Canal”:

Adição de um novo canal na equipe

Também precisaremos informar nome e descrição para o nosso canal:

Informações do canal

Com o canal criado, vamos agora adicionar o conector que fica responsável pelo recebimento das mensagens, para fazer isso basta clicar sobre o nome do canal, em seguida, no canto superior direito clicar nos pontinhos, e logo após isso clicar em “Conectores”, conforme ilustrado na imagem abaixo:

Adicionar um conector em um canal

O conector que escolheremos se chama “Incomming Webhook”, basta clicar no botão “Adicionar” em frente essa opção para configurarmos:

A configuração é bastante simples, vamos dar um nome ao Webhook, e também podemos escolher uma imagem, é como se estivéssemos criando um personagem que irá nos enviar as mensagens, por aqui estou criando o “Marquinhos o Mensageiro”:

Informações do Webhook

Abaixo da imagem, podemos clicar no botão “Confirmar”, e após isso somos redirecionados para uma tela com a URL que usaremos para enviar a mensagem via HTTP.

Confirmação da criação do Webhook

Basta copiar a URL gerada e guardar em um local onde você pode consultar depois, e clicar em “Concluir”.

Show de bola, mas e o código?

Chegou a hora de exemplificar como a nossa aplicação irá funcionar de fato, e pra explicar isso de uma maneira bem simples, imaginem que temos um código que faz um cadastro de clientes, e que quando der algum erro no cadastro eu preciso fazer a notificação, conforme o código abaixo:

Vejam que no bloco catch estamos fazendo uma chamada ao método SendMicrosoftTeamsMessage, passando uma instância da classe MicrosoftTeamsRequest, que ficou da seguinte maneira:

Esse é a classe necessária para fazer uma requisição muito simples, onde teremos um título e um texto dentro de um cartão, os atributos da classe significam:

  • Context: deve conter o valor “https://schema.org/extensions” para informar à API que se trata de uma extensão do Microsoft Teams;
  • Type: é o tipo de conteúdo que iremos enviar, no nosso caso, será do tipo “MessageCard”;
  • ThemeColor: é a cor do cartão que enviaremos escrito no formado hexadecimal;
  • Title: é o título do cartão;
  • Text: é o texto da mensagem.

Como disse, esse é um dos tipos mais simples de mensagem, podemos adicionar botões, comportamentos, dentre várias outras coisas, e vocês podem ver mais exemplos de mensagem na documentação ou no site messagecardplayground onde podemos “montar” a mensagem e verificar como está ficando.

Por fim, vejam a implementação do método que faz o envio da mensagem, reparem que é uma simples requisição HTTP:

Fazendo isso, basta olharmos nosso canal do Microsoft Teams que a mensagem estará lá:

Mensagem no Microsoft Teams

Espero que esse conteúdo ajude e que seja útil para o seu dia-a-dia, o código fonte está disponível no GitHub em https://github.com/vmussak/MicrosoftTeamsIntegrationExample

Por hoje é isso! Até mais 😉🤘

--

--

Vinícius Mussak
Comunidade XP

Microsoft MVP | Software Engineer at XP Inc. | Going to the Ironman 🤘