Pular para o conteúdo principal

Como enviar mensagens do Microsoft Teams com Python

Siga nosso passo a passo para integrar o Microsoft Teams ao Python e liberar a automação de mensagens no Teams que geram insights para toda a empresa!
Atualizado 17 de set. de 2026  · 7 min lido

Explorar com IA

ChatGPTClaudePerplexity

Todo trabalho tem tarefas repetitivas. Seja um agente de suporte analisando solicitações frequentes, um líder de time acompanhando métricas de performance ou um engenheiro de software revisando processos de negócio, essas tarefas costumam se repetir — diariamente, semanalmente ou até de hora em hora.

Felizmente, dá para automatizar boa parte disso com Python. É uma linguagem versátil, ótima para lidar com dados e simples para scripts de automação. Imagine coletar métricas de desempenho: manualmente, você teria que vasculhar vários dashboards. Com um script em Python, você puxa esses dados automaticamente, destaca os pontos-chave e envia um relatório compilado para seu gestor. Isso economiza tempo e ainda reduz o risco de erros.

Neste tutorial, vamos ver o caso específico de executar código Python para buscar a previsão do tempo de um local e enviar um resumo dessa previsão para o Microsoft Teams, a plataforma de comunicação da Microsoft. Vamos cobrir todas as etapas para configurar um webhook do Teams, criar um programa em Python que usa esse webhook para enviar mensagens e agendar a execução para que o script rode com regularidade. O exemplo aqui é um relatório de previsão do tempo, mas você pode trocar essa "lógica de negócio" por qualquer outra coisa; toda a configuração e o código para enviar a mensagem ao Teams continuam exatamente iguais.

Usaremos o DataLab neste tutorial, pois ele já traz recursos para armazenar segredos com segurança como variáveis de ambiente (vamos usar isso para guardar o webhook do Teams) e também para agendar a execução do seu código Python com poucos cliques. Para acompanhar, você só precisa de uma conta Microsoft (para publicar mensagens) e uma conta DataCamp (para usar o DataLab), ambas gratuitas para criar!

Você também pode conferir nosso guia separado sobre como enviar mensagens no Slack com Python.

Vamos lá!

1. Configure um webhook do Microsoft Teams

No Microsoft Teams, existem "equipes" (teams) e, dentro delas, canais. É possível adicionar "aplicativos" a esses canais. Pense em um app do Teams como uma extensão ou complemento do MS Teams para um propósito específico. Há apps para integrar Jira, Zendesk, Salesforce e muitos outros ao Teams, para que você receba notificações por lá e também possa executar ações nesses apps sem sair do Teams. Para o nosso projeto, vamos instalar um desses apps, especificamente o "Incoming Webhook", mantido pela própria Microsoft.

Para começar, verifique se você tem uma conta Microsoft com acesso ao Teams. Certifique-se de que você é membro de uma equipe e tem permissão para adicionar apps aos canais dessa equipe. Se não tiver, fale com o time de TI e envie este link.

Depois, vá até o canal da equipe onde você quer publicar as mensagens. No nosso exemplo, é o canal "General" dentro da equipe "Data Analytics Heroes":

image14.png

Clique no símbolo de + ao lado do nome do canal; você verá um painel com os apps que podem ser adicionados ao canal:

image4.png

Clique em "Get more apps". Você verá um marketplace completo de apps que podem ser adicionados ao MS Teams:

image15.png

Na busca, digite "Incoming Webhook". O primeiro app que aparecer é o que precisamos:

image10.png

Clique em Add e depois em "Add to a team". Agora você deve indicar para qual equipe ou canal deseja enviar mensagens:

image13.png

No nosso tutorial, o exemplo é o canal "General" da equipe "Data Analytics Heroes", mas para você pode ser diferente. Em seguida, clique em "Set up a connector". Vai aparecer outra tela pedindo mais configurações do webhook.

image3.png

Defina um nome para o incoming webhook; suas mensagens serão enviadas com esse nome, então escolha algo que faça sentido, por exemplo, "Python Messenger". Você também pode enviar uma imagem personalizada, mas isso é opcional. Por fim, clique em "Create". A URL do webhook vai aparecer!

image8.png

Você vai precisar dessa URL do webhook no seu programa Python, então copie para a área de transferência e salve em algum lugar (por exemplo, no seu app de anotações) para usar depois. Finalmente, clique em "Done". Na visão que aparece, você verá um panorama de todos os conectores no canal selecionado.

image12.png

Você pode fechar essa tela. No canal para o qual você acabou de configurar o incoming webhook, deve aparecer uma mensagem confirmando a configuração:

image2.png

Pronto! Agora seu canal do Microsoft Teams está preparado para receber mensagens via webhook.

2. Escreva a lógica de negócio em Python

Ótimo trabalho até aqui! Com o Incoming Webhook configurado no Teams, é hora da parte divertida: escrever Python. Vamos começar criando um código Python com nossa "lógica de negócio" para resolver a tarefa proposta.

Se você precisa relembrar como escrever código em Python, nosso curso de Introdução ao Python é o ponto de partida ideal.

Você pode criar um workbook em branco do zero, o que é útil se você já sabe qual programa Python deseja automatizar e integrar ao Microsoft Teams.

Se você está aqui para aprender os conceitos, pode começar com um workbook de exemplo que resume a previsão do tempo para uma cidade que você especificar. Todos os dias há dados novos, então é um ótimo candidato para relatórios diários! Clique no botão "Run Code" abaixo para criar esse workbook.

Execute e edite o código deste tutorial online

Executar código

Nos dois casos, você deve terminar com um workbook no DataLab com sua lógica de negócio toda implementada:

image16.png

3. Enviando uma mensagem para o Teams

Então, webhook do Teams: ok. Lógica de negócio: ok. Para integrar o notebook Python ao Microsoft Teams, precisamos fazer duas coisas: armazenar a URL do webhook no workbook do DataLab e escrever um código Python para enviar uma mensagem ao canal do Teams.

Armazene a URL do webhook

Nosso notebook Python precisa da URL do webhook para enviar a mensagem ao canal correto no Teams. Você poderia simplesmente copiar e colar essa URL em uma célula de código do notebook. Porém, isso não é seguro e não é recomendado. A URL do webhook é um tipo de segredo. Se você compartilhar seu notebook com outra pessoa, ela poderá ver a URL do webhook e spammer seu canal do Teams!

Além disso, esse método exigiria repetir o copia e cola em todo workbook no qual você quiser enviar mensagens ao Teams. Se você precisar atualizar a URL do webhook por algum motivo, terá que editar cada workbook.

Uma abordagem mais segura e escalável é armazenar o token da URL do webhook em uma variável de ambiente. Ao conectar essa variável, ela ficará disponível na sua sessão Python. No seu workbook:

  • Clique na guia "Environment" no menu à esquerda
  • Clique no ícone de mais ao lado de "Environment Variables"
  • No modal "Add Environment Variables":
    • Defina "Name" como MS_TEAMS_WEBHOOK_URL
    • No campo "Value", cole a URL do Webhook que você salvou anteriormente.
    • Defina "Environment Variables Set Name" como "Microsoft Teams" (pode ser qualquer nome)

image5.png

Depois de preencher tudo, clique em "Create", "Next" e, por fim, "Connect". Sua sessão do workbook será reiniciada e MS_TEAMS_WEBHOOK_URL ficará disponível como variável de ambiente no seu notebook. Você pode verificar criando uma célula Python com o código abaixo e executando:

import os
webhook_url = os.environ["MS_TEAMS_WEBHOOK_URL"]
print(webhook_url)

Se quiser reutilizar as mesmas credenciais de conta de serviço em outro workbook, não precisa configurar a variável de ambiente novamente: você pode reutilizá-la em outros workbooks.

Código Python para enviar a mensagem no Microsoft Teams

Com a MS_TEAMS_WEBHOOK_URL a postos, podemos escrever o código Python para enviar uma mensagem ao Teams! Para isso, usaremos o pacote open source pymsteams, que oferece um wrapper prático para a API — relativamente complexa — de envio de mensagens ao Teams. Vamos instalá-lo e importá-lo, junto com o pacote os para ler variáveis de ambiente:

!pip install pymsteams
import pymsteams
import os

Em seguida, podemos criar um "connector card" — basicamente, uma mensagem rica no Teams —, adicionar um texto e enviar:

card = pymsteams.connectorcard(os.environ["MS_TEAMS_WEBHOOK_URL"])
card.text("Hello Teams!")
assert card.send()

Execute esse código! Você deve ver a mensagem aparecer no canal:

image6.png

Demais! Essa foi uma mensagem de exemplo sem significado, mas você também pode criar uma mensagem baseada no resultado da sua lógica de negócio, como fizemos no workbook de exemplo:

card = pymsteams.connectorcard(os.environ["MS_TEAMS_WEBHOOK_URL"])
card.title("Weather Forecast")
card.text("\n".join([
    f"Weather for {CITY} in the next three days:",
    f"- Min temperature: {weather_df['temperature_2m'].min()} {unit_temperature}",
    f"- Max temperature: {weather_df['temperature_2m'].max()} {unit_temperature}", 
    f"- Total precipitation: {weather_df['precipitation'].sum():.2f} {unit_prec}"
]))
assert card.send()

Com o seguinte resultado:

image7.png

Por fim, você também pode usar a variável de ambiente DL_WORKBOOK_ID para incluir um botão que leva ao seu workbook, caso queira facilitar o caminho do Teams para o DataLab que gerou a mensagem:

card = pymsteams.connectorcard(os.environ["MS_TEAMS_WEBHOOK_URL"])
card.title("Weather Forecast")
card.text("\n".join([
    f"Weather for {CITY} in the next three days:",
    f"- Min temperature: {weather_df['temperature_2m'].min()} {unit_temperature}",
    f"- Max temperature: {weather_df['temperature_2m'].max()} {unit_temperature}", 
    f"- Total precipitation: {weather_df['precipitation'].sum():.2f} {unit_prec}"
]))
card.addLinkButton("View detailed forecast", f"https://www.datacamp.com/datalab/w/{os.environ.get('DL_WORKBOOK_ID', 'invalid')}/edit")
assert card.send()

Com o seguinte resultado:

image1.png

Bem legal, né?

4. Automatize!

Você criou um script em Python que faz uma análise útil e envia um resumo dessa análise para o Teams, incluindo um link para o notebook completo para quem quiser mais detalhes. Sensacional! Agora, imagine agendar esse notebook para rodar automaticamente, todo dia ou toda semana, mantendo você sempre atualizado com resultados fresquinhos. A boa notícia é que dá para fazer isso! O DataLab oferece o recurso de execuções agendadas para viabilizar essa rotina.

  • No menu superior, clique em Run > Schedule Run
  • Configure o agendamento como preferir:
    • Programe o notebook para rodar automaticamente diariamente ou semanalmente. Para agendas semanais, escolha o dia e horário exatos.
    • Adicione usuários do DataCamp que você quer notificar sempre que o notebook terminar (com sucesso ou com falha). É útil notificar em caso de falhas para você entrar e corrigir quando algo acontecer.

image9.png

Se configurado como na captura acima, o notebook vai rodar todos os dias às 9h30 no horário local, o que significa que uma mensagem será postada no canal do Teams especificado todas as manhãs.

Automatizar ou não automatizar

Nem toda tarefa é um bom candidato à automação. Depende da frequência com que você a executa, de quanto tempo leva manualmente e de quanto tempo seria necessário para criar um script em Python que a automatize. Por exemplo, considere um relatório anual que leva 20 minutos para compilar à mão. Se você gastar meio dia escrevendo um script para isso, vão levar muitos anos para compensar o tempo investido na automação!

Aqui vai um resumo em formato de tabela:

image11.png

Fonte: XKCD

Então, se uma tarefa diária levava 5 minutos antes, você pode gastar até 6 dias tentando automatizá-la. Se gastar menos do que isso, você ganhou tempo (contabilizado ao longo de cinco anos).

Conclusão

Configurar o DataLab para enviar mensagens ao Microsoft Teams envolve navegar por algumas telas no início. Mas, depois de tudo ajustado com a URL do webhook no DataLab, enviar uma mensagem se resume a adicionar algumas linhas de código Python — é bem simples! O melhor? Você pode automatizar praticamente qualquer script em Python e notificar seus stakeholders diretamente onde eles estão: no Teams.

Chega de criar lembretes para tarefas repetitivas e tediosas. Bem-vindo a uma era de fluxos de trabalho eficientes e automatizados, sem precisar trocar de ferramenta o tempo todo. Tudo o que você precisa é adotar o DataLab.

Lembre-se: se você precisa relembrar como escrever código em Python, nosso curso de Introdução ao Python é o ponto de partida ideal.


Filip Schouwenaars's photo
Author
Filip Schouwenaars
LinkedIn

Filip é o desenvolvedor apaixonado por trás de vários dos cursos de Python, SQL e R mais populares da DataCamp. Atualmente, Filip lidera o desenvolvimento do DataCamp Workspace. Sob o lema "Coma sua própria comida de cachorro", ele usa as técnicas que a DataCamp ensina a seus alunos para entender como os alunos aprendem e interagem com a DataCamp. Filip é formado em Engenharia Elétrica e Inteligência Artificial.

Tópicos
Python
DataLab

Comece sua jornada em Python hoje mesmo!

Curso

Introdução ao Python

4 h
7M
Domine os fundamentos da análise de dados com Python em quatro horas e explore pacotes populares.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

Tutorial

Tutorial de execução de scripts Python no Power BI

Descubra as diferentes maneiras de usar o Python para otimizar a análise, a visualização e a modelagem de dados no Power BI.
Joleen Bothma's photo

Joleen Bothma

9 min

Tutorial

Tutorial do Python Excel: O guia definitivo

Saiba como ler e importar arquivos do Excel em Python, gravar dados nessas planilhas e encontrar os melhores pacotes para fazer isso.
Natassha Selvaraj's photo

Natassha Selvaraj

15 min

Tutorial

Funções em Python: como chamar e escrever funções

Descubra como escrever funções em Python reutilizáveis e eficientes. Domine parâmetros, instruções de retorno e temas avançados como funções lambda. Organize melhor seu código com main() e outras boas práticas.
Karlijn Willems's photo

Karlijn Willems

14 min

Tutorial

Tutorial de como executar scripts Python

Saiba como executar um script Python a partir da linha de comando e também como fornecer argumentos de linha de comando ao seu script.
Aditya Sharma's photo

Aditya Sharma

10 min

Tutorial

Configuração do VSCode para Python: Um guia completo

Experimente uma forma simples, divertida e produtiva de desenvolvimento em Python, aprendendo sobre o VSCode e suas extensões e recursos.
Abid Ali Awan's photo

Abid Ali Awan

13 min

Tutorial

Criando agentes LangChain para automatizar tarefas em Python

Um tutorial abrangente sobre a criação de agentes LangChain com várias ferramentas para automatizar tarefas em Python usando LLMs e modelos de bate-papo usando OpenAI.
Ver MaisVer Mais