Pular para o conteúdo principal

Como enviar mensagens no Slack com Python

Siga nosso passo a passo para integrar o Slack com Python e habilite o envio automático de mensagens no Slack que geram insights!
Atualizado 17 de set. de 2026  · 7 min lido

Explorar com IA

ChatGPTClaudePerplexity

Todo trabalho tem suas tarefas chatas e repetitivas. Seja você um agente de suporte que precisa relatar temas comuns em solicitações de ajuda, um gestor de time acompanhando métricas de desempenho ou um engenheiro de software verificando processos de negócio para ver se está tudo em ordem, você precisa fazer isso de novo e de novo — todo mês, toda semana, todo dia e, às vezes, toda hora!

Em muitos casos, dá para automatizar pelo menos parte desse trabalho repetitivo. Python é um ótimo motor para isso: é uma linguagem de programação de uso geral que lida super bem com (grandes volumes de) dados e, ao mesmo tempo, é fácil para escrever rotinas de automação. Fazendo relatórios de métricas? Sem automação, talvez você precise consultar 4 dashboards diferentes para pegar todos os números e compilar tudo em uma mensagem para a sua chefia. Com automação, um script em Python puxa os dados, seleciona os números de destaque, compila e envia a mensagem — tudo sem você ter que intervir. Além de prático, reduz erros e esquecimentos!

Neste tutorial, vamos ver o caso específico de rodar código Python para relatar o status de uma carteira de investimentos e enviar um resumo dessa carteira para o Slack, uma plataforma de comunicação em equipe muito usada. Vamos cobrir todas as etapas: configurar um app do Slack, criar um programa em Python que usa esse app para enviar mensagens e agendar a execução para que seu script rode com frequência definida. O exemplo aqui é sobre acompanhar uma carteira de investimentos, mas você pode, claro, substituir essa “lógica de negócio” por qualquer outra coisa; toda a configuração e o código para enviar a mensagem ao Slack permanecem exatamente os mesmos.

Vamos usar o DataLab neste tutorial, pois ele tem recursos nativos para armazenar segredos com segurança como variáveis de ambiente (vamos usar isso para guardar as credenciais do app do Slack) e para agendar a execução do seu código Python com poucos cliques. Para acompanhar, tudo o que você precisa é de uma conta no Slack (para postar mensagens) e uma conta na DataCamp (para usar o DataLab) — ambas podem ser criadas gratuitamente!

Vamos lá!

1. Configure um app do Slack

Você pode pensar em um app do Slack como uma extensão ou complemento do Slack para um propósito específico. Existem apps para integrar Google Docs, Jira, Dropbox, Zoom e muitos outros, permitindo que você receba notificações no Slack sobre o que acontece nessas ferramentas e também execute ações nelas direto do Slack. Para o nosso projetinho, também vamos criar um app do Slack para usar o usuário bot que acompanha todo app e, assim, enviar mensagens ao Slack.

Para começar, garanta que você tem uma conta no Slack, faz parte de um workspace no qual você tem acesso de admin e está logado nessa conta. Se não, acesse slack.com e crie uma nova conta e um novo workspace.

Em seguida, acesse https://api.slack.com/app, o seu painel de apps do Slack. Ele vai parecer algo assim:

create app dashboard in slack

Clique em “Create an App”.

create an app dialogue

Selecione “From scratch”. Na próxima tela, defina um nome para o app, por exemplo, “Python Messenger”, e selecione o workspace em que você quer desenvolvê-lo (no seu caso, esse workspace será outro).

Clique em Create app. Você será levado à página inicial do app recém-criado, onde pode configurar todas as definições — desde informações básicas e quem pode fazer mudanças até todos os recursos. Não se assuste! Vamos mexer só no essencial.

Vá até a aba “OAuth & Permissions”, desça até o card Scopes e, em Bot Token Scopes, clique em “Add an OAuth Scope” para adicionar os escopos ‘chat:write’, ‘chat:write.customize’, ‘files:read’, ‘files:write’ (você precisará clicar em “Add an OAuth Scope” quatro vezes ao todo).

Scopes dialogue

Esses escopos definem o que o usuário bot do seu app pode fazer dentro do workspace. Seguindo o princípio do menor privilégio, em vez de dar acesso total e todas as permissões possíveis, estamos restringindo o app a escrever mensagens (personalizadas) e enviar/baixar arquivos (útil se você quiser incluir anexos nas mensagens).

Agora, suba até a seção “OAuth Tokens for Your Workspace” e clique em “Install to Workspace”:

Oauth and permissions dialogue

Na próxima tela, que resume os escopos definidos, clique em Allow.

Você verá que um “Bot User OAuth Token” foi criado para você:

OAuth Token dialogue

Você vai precisar desse Bot User OAuth Token mais adiante, então não feche a janela do navegador.

Abra o Slack e repare que um novo app “Python Messenger” (ou o nome que você escolheu) apareceu na sua barra lateral:

O último passo é configurar o canal do Slack para o qual você vai enviar as mensagens automáticas. Crie um canal chamado #bot-updates. No canal, digite /app e selecione “Add apps to this channel”:

Adding app to slack

Ao lado de “Python messenger”, clique em “Add”. Você verá que o app “Python Messenger” entrou no canal.

Pronto! Seu canal do Slack está preparado para receber mensagens via o app “Python Messenger”, usando o Bot User OAuth Token gerado. Note que, apesar de ter alguns passos, essa configuração é feita uma única vez por workspace. Se você quiser que vários programas em Python enviem mensagens para o mesmo workspace, não precisa repetir o processo.

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

Ótimo trabalho até aqui! Com o app do Slack configurado, chega a parte divertida: escrever Python. Vamos começar criando o código da nossa “lógica de negócio” para resolver a tarefa proposta.

Se você precisa relembrar como escrever código em Python, nosso curso Introduction to Python é o ponto de partida ideal.

Você pode criar um workbook vazio do zero, ótimo se você já sabe qual programa Python quer automatizar e integrar ao Slack.

Se você está aqui para entender os conceitos, pode começar com um workbook de exemplo que criamos e que acompanha o valor de uma carteira imaginária de ações de tecnologia. Todo dia (exceto fins de semana) haverá novos dados, então é um ótimo candidato para relatórios diários.

Execute e edite o código deste tutorial online

Executar código

Em ambos os casos, você deve terminar com um workbook no DataLab com toda a sua lógica de negócio implementada:

Slack messages workspace

3. Enviando a mensagem no Slack

App do Slack: ok. Lógica de negócio: ok. Para integrar o notebook em Python ao Slack, precisamos de duas coisas: armazenar o token OAuth do Slack no workbook e escrever um pouco de código Python para enviar uma mensagem no Slack.

Armazene o token OAuth do Slack

Nosso notebook precisa do token OAuth para comprovar que está autorizado a enviar mensagens para o seu workspace do Slack. Você poderia simplesmente copiar e colar esse token em uma célula de código do notebook. Porém, isso não é seguro e não é recomendado. Se você compartilhar o notebook com alguém, essa pessoa verá o token.

Esse caminho também exigiria repetir o copiar-e-colar em todo workbook em que você quiser enviar mensagens ao Slack. Se precisar atualizar o token, será necessário editar cada workbook.

Uma abordagem mais segura e escalável é armazenar o token OAuth do Slack 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 aba “Environment” no lado esquerdo
  • Clique no ícone de “+” ao lado de “Environment Variables”
  • No modal “Add Environment Variables”:
    • Defina “Name” como SLACK_TOKEN
    • No campo “Value”, cole o token OAuth obtido no passo 1 deste guia.
    • Defina “Environment Variables Set Name” como “Slack” (pode ser qualquer nome)

Environment variables dialogue

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

import os
slack_token = os.environ["SLACK_TOKEN"]
print(slack_token)

Se quiser reutilizar as mesmas credenciais de conta de serviço em outro workbook, não precisa configurar a variável de ambiente de novo: é só reutilizá-la nos outros workbooks.

Código Python para enviar a mensagem no Slack

Com o SLACK_TOKEN em mãos, inclua um pequeno trecho no final do seu notebook para enviar uma mensagem de teste para o canal #bot-updates no seu workspace do Slack:

import os
from slack_sdk import WebClient

message = "This is my first Slack message from Python!"

# Set up a WebClient with the Slack OAuth token
client = WebClient(token=os.environ["SLACK_TOKEN"])

# Send a message
client.chat_postMessage(
    channel="bot-updates", 
    text=message, 
    username="Bot User"
)

Esse código usa o SDK oficial de Python do Slack. Rode esse código! Você deve ver a mensagem aparecer no seu workspace do Slack:

image5.png

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

message = f"Total value of my portfolio on {portfolio_df.index[-1]:%B %d, %Y} is ${latest_total:,.2f}."

Com o seguinte resultado:

Sample message

Por fim, você também pode usar a variável de ambiente DL_WORKBOOK_ID para incluir um link para o seu workbook, caso queira facilitar o acesso direto do Slack ao DataLab que gerou a mensagem:

message = f"""
Total value of my portfolio on {portfolio_df.index[-1]:%B %d, %Y} is ${latest_total:,.2f}.
For the full analysis, check <https://www.datacamp.com/workbook/w/{os.environ.get('DL_WORKBOOK_ID', 'invalid')}/edit|this workbook> (updates daily)
"""

Com o seguinte resultado:

Another sample message

4. Automatize!

Você escreveu um script em Python que faz uma análise relevante e envia um resumo para o Slack, com link para o notebook completo caso o pessoal queira se aprofundar. Demais! Mas não seria ótimo configurar esse notebook para rodar toda semana ou todo dia e manter todos atualizados automaticamente? Boa notícia: dá para fazer isso! O DataLab oferece execuções agendadas exatamente para esse fim.

  • No menu superior, clique em Run > Schedule Run
  • Configure o agendamento como preferir:
    • Programe o notebook para rodar diariamente ou semanalmente, com opção de ajustar horário e dia da semana (no caso de semanal)
    • Adicione usuários da DataCamp para serem notificados sempre que o notebook terminar com sucesso, apresentar erro ou ambos. É uma boa ideia receber alerta quando falhar, para investigar se necessário.

Schedule run dialogue

Configurado como no print acima, o notebook vai rodar todo dia às 9h30 no horário local — e uma mensagem será postada no canal #bot-updates do Slack todas as manhãs.

Automatizar ou não automatizar

Nem toda tarefa vale a pena ser automatizada. Depende da frequência, do tempo que leva manualmente e do esforço para construir um script em Python que faça isso por você. Um exemplo ajuda: digamos que você precise compilar um relatório anual que leva 20 minutos para fazer manualmente. Se levar meio dia para escrever um script que faça isso, vai demorar muitos anos até você “recuperar” o tempo investido na automação!

Essa ideia é bem resumida nesta tabela:

Is it worth the time to automate?  Source: https://xkcd.com/1205/

Vale a pena gastar tempo automatizando? Fonte

Então, se uma tarefa diária levava 5 minutos, você pode gastar até 6 dias tentando automatizá-la. Se investir menos do que isso, você sai no lucro (contando um horizonte de 5 anos).

Conclusão

A configuração inicial para enviar mensagens do DataLab para o Slack pode levar um tempinho. Mas, depois que tudo estiver certinho e o token do Slack estiver armazenado no DataLab, enviar uma mensagem é questão de acrescentar duas linhas de Python — simples assim! E o melhor: você pode automatizar praticamente qualquer script em Python e avisar seus stakeholders onde eles estão: no Slack.

Acabou a era de criar lembretes para repetir as mesmas tarefas entediantes. Bem-vindo(a) à era de fluxos de trabalho poderosos e automatizados, sem ter que ficar pulando entre ferramentas. Tudo o que você precisa é de amor DataLab.

Leve suas habilidades em Python para o próximo nível com o curso Intermediate Python da DataCamp. Aprofunde seus conhecimentos em visualização de dados e recursos avançados de Python. Continue sua jornada agora!


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

Continue sua jornada em Python hoje!

Curso

Python intermediário

4 h
1.4M
Aumente o nível de suas habilidades em ciência de dados criando visualizações usando Matplotlib e manipulando DataFrames com pandas.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado
Data Skills

blog

6 práticas recomendadas de Python para um código melhor

Descubra as práticas recomendadas de codificação Python para escrever os melhores scripts Python da categoria.
Javier Canales Luna's photo

Javier Canales Luna

13 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

Como comentar um bloco de código em Python

O uso de comentários é fundamental para trabalhar efetivamente com Python. Neste breve tutorial, aprenda a comentar um bloco de código em Python.
Adel Nehme's photo

Adel Nehme

3 min

Tutorial

Guia passo a passo para criar mapas em Python usando a biblioteca Plotly

Faça seus dados se destacarem com mapas impressionantes criados com Plotly em Python
Moez Ali's photo

Moez Ali

7 min

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

Ver MaisVer Mais