Ir al contenido principal

Cómo enviar mensajes de Slack con Python

Sigue nuestra guía paso a paso para integrar Slack con Python y poder enviar automáticamente mensajes de Slack que aporten información valiosa.
Actualizado 17 sept 2026  · 7 min leer

Explorar con IA

ChatGPTClaudePerplexity

Todo trabajo tiene sus tareas tediosas y repetitivas. Tanto si eres una persona de soporte que necesita informar sobre patrones comunes en las solicitudes de ayuda, una persona responsable de equipo que debe seguir métricas de rendimiento, o una ingeniera de software que tiene que comprobar procesos clave del negocio para ver que todo va bien, te tocará hacer estas cosas una y otra vez: mensualmente, semanalmente, a diario e incluso cada hora.

En muchos casos, sin embargo, puedes automatizar al menos parte de ese trabajo repetitivo. Python es un gran aliado para ello: es un lenguaje de programación de propósito general que se lleva muy bien con los datos (incluso con grandes volúmenes) y que, además, facilita crear scripts de automatización. ¿Informes de métricas? Sin automatización, quizá tengas que consultar cuatro paneles diferentes para reunir todos los números y luego componer un mensaje para tu jefa. Con automatización, un script en Python extrae todos los datos que necesitas, selecciona los números clave, los compila y envía el mensaje sin que tengas que intervenir. No solo es más cómodo: también reduce errores y olvidos.

En este tutorial, veremos el caso concreto de ejecutar código en Python para informar sobre el estado de una cartera de inversión y enviar un resumen de esa cartera a Slack, una plataforma de comunicación en equipo muy extendida. Cubriremos todos los pasos necesarios para configurar una app de Slack, un programa en Python que use esa app para enviar mensajes y la planificación para que tu script se ejecute con una cadencia regular. El ejemplo trata de seguir una cartera de inversión, pero puedes sustituir esta "lógica de negocio" por lo que quieras: toda la configuración y el código para enviar el mensaje a Slack serán exactamente los mismos.

Usaremos DataLab en este tutorial, porque incorpora funciones para guardar secretos de forma segura como variables de entorno (lo usaremos para almacenar las credenciales de la app de Slack) y para programar la ejecución de tu código Python con un par de clics. Para seguirlo, solo necesitas una cuenta de Slack (para publicar mensajes) y una cuenta de DataCamp (para usar DataLab); ¡ambas se pueden crear gratis!

¡Vamos al lío!

1. Configura una app de Slack

Puedes pensar en una app de Slack como una extensión o complemento de Slack con un fin concreto. Hay apps para integrar Google Docs, Jira, Dropbox, Zoom y muchas más en Slack, de modo que puedas recibir avisos en Slack de lo que ocurre fuera e incluso ejecutar acciones en esas apps sin salir de Slack. Para nuestro proyecto, también necesitamos crear una app de Slack para aprovechar el usuario bot que incluye toda app y así poder enviar mensajes a Slack.

Para empezar, asegúrate de tener una cuenta de Slack, de ser miembro de un espacio de trabajo de Slack en el que tengas permisos de administración y de haber iniciado sesión con esa cuenta. Si no es así, ve a slack.com y crea una cuenta y un espacio de trabajo nuevos.

A continuación, ve a https://api.slack.com/app, tu panel de apps de Slack. Verás algo parecido a esto:

panel para crear una app en Slack

Haz clic en "Create an App"

diálogo para crear una app

Selecciona "From scratch". En la siguiente pantalla, indica un nombre para tu app, por ejemplo, "Python Messenger", y elige el espacio de trabajo en el que quieres desarrollarla (en tu caso será otro).

Haz clic en Create app. Llegarás a la página principal de tu app recién creada, donde puedes configurar todos sus ajustes, desde la información básica hasta quién más puede hacer cambios y todas sus funciones. ¡No te abrumes! Solo necesitaremos tocar un par de ajustes.

Ve a la pestaña "OAuth & Permissions", baja hasta la tarjeta Scopes y, en Bot Token Scopes, haz clic en "Add an OAuth Scope" para añadir los permisos 'chat:write', 'chat:write.customize', 'files:read' y 'files:write' (tendrás que pulsar "Add an OAuth Scope" cuatro veces en total).

diálogo de Scopes

Estos scopes del token del bot especifican qué puede hacer el usuario bot de tu app dentro del espacio de trabajo de Slack. Siguiendo el principio de mínimo privilegio, en lugar de darle acceso a todo y todos los permisos imaginables, restringimos la app a escribir mensajes (personalizados) y a subir/descargar archivos (útil si quieres incluir adjuntos en tus mensajes).

Ahora sube a la sección "OAuth Tokens for Your Workspace" y haz clic en "Install to Workspace":

diálogo de OAuth y permisos

En la siguiente pantalla, que resume los scopes que has especificado, haz clic en Allow.

Verás que se ha creado un "Bot User OAuth Token":

diálogo del token OAuth

Vas a necesitar este Bot User OAuth Token más adelante, así que no cierres la ventana del navegador.

Abre Slack y verás que ha aparecido una nueva app, "Python Messenger" (o como la hayas llamado), en la barra lateral:

El último paso de configuración es preparar el canal de Slack al que enviarás los mensajes automáticos. Crea un canal nuevo llamado #bot-updates. En el canal, escribe /app y selecciona "Add apps to this channel":

Añadir app a Slack

Junto a "Python messenger", haz clic en "Add". Verás que la app "Python Messenger" se ha unido al canal.

¡Listo! Tu canal de Slack ya puede recibir mensajes a través de la app "Python Messenger", usando el Bot User OAuth Token generado. Ten en cuenta que, aunque hay varios pasos, es una configuración que se hace una sola vez por espacio de trabajo. Si quieres que varios programas en Python envíen mensajes al mismo espacio, no tendrás que repetir el proceso.

2. Escribe la lógica de negocio en Python

¡Buen trabajo hasta aquí! Con la app de Slack configurada, llega la parte divertida: escribir en Python. Empezaremos creando algo de código para nuestra "lógica de negocio" y resolver la tarea.

Si necesitas refrescar Python, nuestro curso de Introducción a Python es el lugar ideal para empezar.

Puedes crear un workbook en blanco desde cero, útil si ya sabes qué programa en Python quieres automatizar e integrar con Slack.

Si estás aquí para entender los conceptos, puedes empezar con un workbook de ejemplo que hemos creado y que sigue el valor de una cartera ficticia de acciones tecnológicas. Cada día (excepto fines de semana) habrá datos nuevos, así que es un gran candidato para un informe diario.

Ejecuta y edita el código de este tutorial en línea

Ejecutar código

En ambos casos, acabarás con un workbook de DataLab con tu lógica de negocio ya implementada:

Workspace de mensajes a Slack

3. Envía el mensaje a Slack

App de Slack: listo. Lógica de negocio: lista. Para integrar el notebook de Python con Slack, tenemos que hacer dos cosas: guardar el token OAuth de Slack en el workbook y escribir algo de código en Python para enviar el mensaje.

Guarda el token OAuth de Slack

Nuestro notebook de Python necesita el token OAuth para demostrar que está autorizado a enviar mensajes a tu espacio de trabajo de Slack. Podrías copiar y pegar el token en una celda de código del notebook, pero no es seguro ni recomendable. Si compartes el notebook, cualquiera podría ver el token.

Además, este enfoque te obligaría a repetir el copia-pega en cada workbook desde el que quieras enviar mensajes. Si necesitas actualizar el token, tendrías que editar todos los workbooks.

Un enfoque más seguro y escalable es guardar el token OAuth de Slack en una variable de entorno. Al conectar esta variable, estará disponible en tu sesión de Python. En tu workbook:

  • Haz clic en la pestaña "Environment" en la parte izquierda
  • Haz clic en el icono de suma junto a "Environment Variables"
  • En el modal "Add Environment Variables":
    • Define "Name" como SLACK_TOKEN
    • En el campo "Value", pega el token OAuth que obtuviste en el paso 1 de esta guía.
    • Establece "Environment Variables Set Name" como "Slack" (o el nombre que prefieras)

Diálogo de variables de entorno

Tras completar los campos, haz clic en "Create", "Next" y, por último, "Connect". Tu sesión de DataLab se reiniciará y SLACK_TOKEN estará disponible como variable de entorno en tu workbook. Puedes comprobarlo creando una celda de Python con este código y ejecutándola:

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

Si quieres reutilizar las mismas credenciales de la cuenta de servicios en otro workbook, no necesitas volver a configurar la variable de entorno: puedes reutilizarla.

Código en Python para enviar el mensaje a Slack

Con SLACK_TOKEN listo, añade un pequeño fragmento al final de tu notebook que envíe un mensaje de prueba al canal #bot-updates de tu espacio de trabajo en 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"
)

Este código usa el SDK oficial de Python de Slack. ¡Ejecútalo! Deberías ver este mensaje en tu espacio de trabajo de Slack:

image5.png

Este mensaje de prueba no dice gran cosa, pero también puedes crear un mensaje a partir del resultado de tu lógica de negocio, como hicimos en el workbook de ejemplo:

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

Con este resultado:

Mensaje de ejemplo

Por último, también puedes usar la variable de entorno DL_WORKBOOK_ID para incluir un enlace a tu workbook, por si quieres facilitar el salto desde Slack al DataLab que genera el mensaje:

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)
"""

Con el siguiente resultado:

Otro mensaje de ejemplo

4. ¡Automatiza!

Has creado un script en Python que hace un análisis relevante y envía un resumen a Slack, con un enlace al notebook completo por si alguien quiere profundizar. ¡Genial! ¿Y si pudieras configurar este notebook para que se ejecute cada semana o cada día y así estar al día automáticamente de los nuevos resultados? Buena noticia: puedes hacerlo. DataLab admite ejecuciones programadas para justo esto.

  • En la barra superior, haz clic en Run > Schedule Run
  • Configura la planificación como prefieras:
    • Programa el notebook para que se ejecute a diario o semanalmente, con opción de fijar hora y día (si es semanal)
    • Añade personas usuarias de DataCamp a las que quieras notificar cada vez que el notebook termine correctamente, falle o ambas. Es buena idea recibir un aviso cuando falle para investigar si hace falta.

Diálogo de programación

Si lo configuras como en la captura anterior, el notebook se ejecutará todos los días a las 9:30 hora local, lo que significa que cada mañana se publicará un mensaje en el canal #bot-updates de Slack.

Automatizar o no automatizar

No todas las tareas merecen automatizarse: depende de la frecuencia con la que las haces, de cuánto tardas en hacerlas manualmente y del tiempo que te llevaría crear un script en Python que las haga por ti. Se ve claro con un ejemplo: imagina que tienes que compilar un informe anual que te lleva 20 minutos. Si tardas medio día en escribir un script que lo haga por ti, ¡pasarán muchos años antes de recuperar el tiempo invertido en automatizarlo!

Esta idea se resume muy bien en esta tabla:

¿Compensa el tiempo que lleva automatizar?  Fuente: https://xkcd.com/1205/

¿Compensa el tiempo que lleva automatizar? Fuente

Así, si una tarea diaria te llevaba 5 minutos, puedes dedicar hasta 6 días a intentar automatizarla. Si tardas menos que eso, habrás ganado tiempo (contado a 5 años vista).

Conclusión

La configuración inicial para poder enviar mensajes de DataLab a Slack puede llevar un rato. Pero, una vez que todo está en su sitio y el token de Slack está guardado en DataLab, enviar un mensaje se reduce a añadir dos líneas de Python: ¡así de simple! Y la mejor parte: ahora puedes automatizar prácticamente cualquier script en Python y avisar a tus stakeholders donde ya están: en Slack.

Se acabó eso de ponerte recordatorios para repetir siempre las mismas tareas aburridas. Es el momento de crear flujos potentes y automatizados sin tener que saltar entre herramientas. Todo lo que necesitas es amor DataLab.

Lleva tus habilidades de Python al siguiente nivel con el curso Intermediate Python de DataCamp. Amplía tus conocimientos en visualización de datos y funciones avanzadas de Python. ¡Sigue aprendiendo hoy mismo!


Filip Schouwenaars's photo
Author
Filip Schouwenaars
LinkedIn

Filip es el apasionado desarrollador que está detrás de varios de los cursos de Python, SQL y R más populares de DataCamp. Actualmente, Filip dirige el desarrollo de DataCamp Workspace. Bajo el lema "Cómete tu propia comida para perros", utiliza las técnicas que DataCamp enseña a sus alumnos para comprender cómo aprenden los alumnos en DataCamp e interactúan con él. Filip es licenciado en Ingeniería Eléctrica e Inteligencia Artificial.

Temas
Python

¡Sigue hoy con tu aprendizaje de Python!

Curso

Python intermedio

4 h
1.4M
Mejora tus conocimientos de ciencia de datos creando visualizaciones con Matplotlib y manipulando DataFrames con pandas.
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow
Relacionado

Tutorial

Configurar VSCode para Python: Guía completa

Experimenta una forma sencilla, divertida y productiva de desarrollar en Python conociendo VSCode y sus extensiones y funciones.
Abid Ali Awan's photo

Abid Ali Awan

13 min

Tutorial

Tutorial sobre cómo ejecutar scripts en Python

Aprenda cómo puede ejecutar un script Python desde la línea de comandos, y también cómo puede proporcionar argumentos de línea de comandos a su script.
Aditya Sharma's photo

Aditya Sharma

10 min

Tutorial

Guía completa de programación de sockets en Python

Aprende los fundamentos de la programación de sockets en Python
Serhii Orlivskyi's photo

Serhii Orlivskyi

15 min

Tutorial

Tutorial de FastAPI: Introducción al uso de FastAPI

Explore el marco FastAPI y descubra cómo puede utilizarlo para crear API en Python.
Moez Ali's photo

Moez Ali

13 min

Tutorial

Cómo comentar un bloque de código en Python

Utilizar comentarios es fundamental para trabajar eficazmente con Python. En este breve tutorial, aprenderás a comentar un bloque de código en Python.
Adel Nehme's photo

Adel Nehme

3 min

Tutorial

Guía para principiantes sobre la ingeniería de avisos ChatGPT

Descubra cómo conseguir que ChatGPT le proporcione los resultados que desea dándole las entradas que necesita.
Matt Crabtree's photo

Matt Crabtree

6 min

Ver MásVer Más