Weiter zum Inhalt

Slack-Nachrichten mit Python senden

Folge unserer Schritt-für-Schritt-Anleitung, integriere Slack mit Python und verschicke automatisch Slack-Nachrichten, die echte Einblicke liefern!
Aktualisiert 18. Sept. 2026  · 7 Min. lesen

Mit KI erkunden

ChatGPTClaudePerplexity

Jeder Job bringt lästige, sich wiederholende Aufgaben mit sich. Egal, ob du als Support-Agent häufige Muster in Anfragen reporten musst, als Teamlead Leistungskennzahlen im Blick behältst oder als Software Engineer regelmäßig prüfst, ob zentrale Geschäftsprozesse rundlaufen – vieles davon machst du immer und immer wieder: monatlich, wöchentlich, täglich, vielleicht sogar stündlich!

In vielen Fällen lässt sich zumindest ein Teil dieser Arbeit automatisieren. Python ist dafür bestens geeignet: eine universelle Programmiersprache, die hervorragend mit (großen) Datenmengen arbeitet und sich gleichzeitig ideal für Automatisierungsskripte eignet. Leistungskennzahlen berichten? Ohne Automatisierung musst du vielleicht vier verschiedene Dashboards durchforsten, alle Zahlen zusammentragen und daraus eine Nachricht an deine Führungskraft bauen. Mit Automatisierung zieht ein Python-Skript alle benötigten Daten, wählt die wichtigsten Kennzahlen aus, bereitet sie auf und verschickt die Nachricht – ganz ohne dein Zutun. Das ist nicht nur bequem, sondern auch weniger fehleranfällig und verhindert, dass etwas vergessen wird!

In diesem Tutorial schauen wir uns den konkreten Fall an, Python-Code auszuführen, um den Status eines Investmentportfolios zu berichten und eine Zusammenfassung an Slack zu senden – eine weit verbreitete Plattform für Teamkommunikation. Wir gehen alle nötigen Schritte durch: von der Konfiguration einer Slack-App über ein Python-Programm, das diese App zum Versenden von Nachrichten nutzt, bis hin zur Planung, damit dein Python-Skript regelmäßig automatisch läuft. Unser Beispiel dreht sich um ein Investmentportfolio, aber du kannst die zugrunde liegende „Business-Logik“ natürlich beliebig austauschen – die gesamte Konfiguration und der Code zum Senden an Slack bleiben identisch.

Wir verwenden in diesem Tutorial DataLab, denn dort kannst du Geheimnisse sicher als Umgebungsvariablen speichern (damit legen wir die Slack-App-Zugangsdaten ab) und deine Python-Skripte mit wenigen Klicks einplanen. Um mitzumachen, brauchst du lediglich ein Slack-Konto (zum Posten von Nachrichten) und ein DataCamp-Konto (für DataLab) – beides kannst du kostenlos erstellen!

Los geht’s!

1. Eine Slack-App konfigurieren

Du kannst dir eine Slack-App als Erweiterung oder Add-on von Slack für einen bestimmten Zweck vorstellen. Es gibt Apps für Google Docs, Jira, Dropbox, Zoom und unzählige weitere, sodass du in Slack über Ereignisse informiert wirst – und umgekehrt Aktionen in diesen Apps direkt aus Slack heraus ausführen kannst. Für unser kleines Projekt legen wir ebenfalls eine Slack-App an, damit wir den Bot-User nutzen können, der zu jeder Slack-App gehört, um Nachrichten an Slack zu senden.

Stelle zunächst sicher, dass du ein Slack-Konto hast, Mitglied eines Slack-Workspaces mit Admin-Rechten bist und mit diesem Konto angemeldet bist. Falls nicht, gehe auf slack.com und erstelle ein neues Konto und einen Workspace.

Wechsle als Nächstes zu https://api.slack.com/app, deinem Slack-App-Dashboard. Das sieht in etwa so aus:

create app dashboard in slack

Klicke auf „Create an App“.

create an app dialogue

Wähle „From scratch“. Gib im nächsten Schritt einen Namen für deine App an, z. B. „Python Messenger“, und wähle den Workspace, in dem du die App entwickeln möchtest (bei dir wird das ein anderer Workspace sein).

Klicke auf Create app. Du landest nun auf der Startseite deiner neu erstellten App, wo du alle Einstellungen konfigurieren kannst – von Basisdaten über Berechtigungen für andere bis hin zu allen Features. Lass dich davon nicht erschlagen! Wir brauchen nur ein paar Einstellungen.

Wechsle zum Tab „OAuth & Permissions“, scrolle zum Bereich Scopes und klicke unter Bot Token Scopes auf „Add an OAuth Scope“, um die Scopes „chat:write“, „chat:write.customize“, „files:read“, „files:write“ hinzuzufügen (du musst insgesamt viermal „Add an OAuth Scope“ klicken).

Scopes dialogue

Diese Bot-Token-Scopes legen fest, was der Bot-User deiner App in deinem Slack-Workspace darf. Nach dem Least-Privilege-Prinzip geben wir der App nicht pauschal Zugriff auf alles, sondern beschränken sie auf das Schreiben (auch personalisierter) Chat-Nachrichten sowie das Hoch- und Herunterladen von Dateien (praktisch, wenn du Anhänge einbinden willst).

Scrolle jetzt hoch zum Abschnitt „OAuth Tokens for Your Workspace“ und klicke auf „Install to Workspace“:

Oauth and permissions dialogue

Auf dem nächsten Bildschirm, der die soeben gesetzten Scopes zusammenfasst, klicke auf Allow.

Du siehst nun, dass ein „Bot User OAuth Token“ für dich erzeugt wurde:

OAuth Token dialogue

Diesen Bot User OAuth Token brauchst du später, also schließe das Browserfenster noch nicht.

Öffne Slack und du wirst sehen, dass eine neue App „Python Messenger“ (oder wie auch immer du sie genannt hast) in deiner Seitenleiste erschienen ist:

Der letzte Konfigurationsschritt ist der Slack-Channel, an den du die automatisierten Nachrichten senden möchtest. Erstelle einen neuen Channel namens #bot-updates. Tippe im Channel /app und wähle „Add apps to this channel“:

Adding app to slack

Klicke neben „Python messenger“ auf „Add“. Du siehst, dass die App „Python Messenger“ dem Channel beigetreten ist.

Das war’s! Dein Slack-Channel ist jetzt bereit, Nachrichten über die App „Python Messenger“ zu empfangen – mithilfe des generierten Bot User OAuth Tokens. Beachte: Auch wenn es einige Schritte waren, ist dies pro Slack-Workspace nur einmal nötig. Wenn mehrere Python-Programme an denselben Workspace senden sollen, musst du den Prozess nicht wiederholen.

2. Die Business-Logik in Python schreiben

Starke Leistung bis hierher! Mit der konfigurierten Slack-App kommt jetzt der spaßige Teil: Python schreiben. Wir starten mit etwas Python-Code für unsere „Business-Logik“, um die eigentliche Aufgabe zu lösen.

Falls du eine Auffrischung in Python brauchst, ist unser Kurs Introduction to Python der ideale Einstieg.

Du kannst entweder ein leeres Workbook von Grund auf erstellen – sinnvoll, wenn du schon genau weißt, welches Python-Programm du automatisieren und mit Slack verbinden möchtest.

Wenn du vor allem die Konzepte lernen willst, kannst du mit einem Beispiel-Workbook starten, das wir erstellt haben und das den Wert eines fiktiven Tech-Aktienportfolios nachverfolgt. An jedem Werktag gibt es neue Daten – ein idealer Kandidat für tägliches Reporting.

Code aus diesem Tutorial online ausführen und bearbeiten

Code ausführen

In beiden Fällen solltest du mit einem DataLab-Workbook landen, in dem deine Business-Logik vollständig implementiert ist:

Slack messages workspace

3. Die Slack-Nachricht senden

Also, Slack-App: Check. Business-Logik: Check. Um das Python-Notebook mit Slack zu integrieren, brauchen wir zwei Dinge: das Speichern des Slack OAuth Tokens im Workbook und etwas Python-Code, der eine Slack-Nachricht versendet.

Das Slack OAuth Token speichern

Unser Python-Notebook benötigt das OAuth Token, um zu beweisen, dass es berechtigt ist, Nachrichten in deinem Slack-Workspace zu senden. Du könntest dieses Token einfach in eine Codezelle kopieren. Das ist jedoch unsicher und nicht empfehlenswert. Wenn du dein Notebook teilst, sehen andere das Token.

Außerdem müsstest du dieses Copy-Paste in jedem Workbook wiederholen, das Slack-Nachrichten verschicken soll. Und wenn du das Token aktualisieren musst, heißt es: alle Workbooks von Hand anpassen.

Sicherer und skalierbarer ist es, das Slack OAuth Token in einer sogenannten Umgebungsvariable zu speichern. Wenn du diese Variable verbindest, steht sie in deiner Python-Session zur Verfügung. In deinem Workbook:

  • Klicke links auf den Tab „Environment“.
  • Klicke auf das Plus-Symbol neben „Environment Variables“.
  • Im Dialog „Add Environment Variables“:
    • Setze „Name“ auf SLACK_TOKEN.
    • Füge ins Feld „Value“ das OAuth Token ein, das du in Schritt 1 erhalten hast.
    • Setze „Environment Variables Set Name“ auf „Slack“ (der Name ist frei wählbar).

Environment variables dialogue

Nachdem du alles ausgefüllt hast, klicke auf „Create“, „Next“ und schließlich „Connect“. Deine DataLab-Session startet neu, und SLACK_TOKEN steht nun als Umgebungsvariable in deinem Workbook bereit. Du kannst das prüfen, indem du eine Python-Zelle mit folgendem Code erstellst und ausführst:

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

Wenn du dieselben Zugangsdaten in einem anderen Workbook verwenden willst, musst du die Umgebungsvariable nicht neu anlegen: Du kannst sie in weiteren Workbooks wiederverwenden.

Python-Code zum Versenden der Slack-Nachricht

Mit dem geladenen SLACK_TOKEN fügst du ans Ende deines Notebooks ein kurzes Snippet ein, das eine Testnachricht an den Channel #bot-updates in deinem Slack-Workspace sendet:

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

Dieser Code verwendet das offizielle Python-SDK von Slack. Führe den Code aus! Die Nachricht sollte in deinem Slack-Workspace erscheinen:

image5.png

Das war eine sinnfreie Beispielnachricht, aber du kannst die Nachricht natürlich auch aus dem Ergebnis deiner Business-Logik generieren – so wie im Beispiel-Workbook:

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

Mit folgendem Ergebnis:

Sample message

Außerdem kannst du die Umgebungsvariable DL_WORKBOOK_ID nutzen, um einen Link zu deinem Workbook hinzuzufügen – ideal, wenn du aus Slack direkt in das DataLab-Workbook springen willst, das die Nachricht erzeugt:

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

Mit folgendem Ergebnis:

Another sample message

4. Automatisieren!

Du hast ein Python-Skript geschrieben, das eine relevante Analyse durchführt und eine Zusammenfassung an Slack schickt – inklusive Link zum vollständigen Notebook für alle, die tiefer einsteigen wollen. Klingt gut! Noch besser wäre es, wenn das Notebook automatisch wöchentlich oder täglich läuft, damit du automatisch über neue Ergebnisse informiert wirst. Gute Nachrichten: Genau das geht! DataLab unterstützt geplante Ausführungen.

  • Klicke in der oberen Menüleiste auf Run > Schedule Run.
  • Richte den Zeitplan nach deinem Bedarf ein:
    • Lasse das Notebook täglich oder wöchentlich laufen und lege Uhrzeit und ggf. Wochentag fest.
    • Füge DataCamp-Nutzende hinzu, die benachrichtigt werden sollen – bei erfolgreichem Lauf, Fehlern oder beidem. Es ist sinnvoll, dich bei Fehlschlägen benachrichtigen zu lassen, damit du bei Bedarf schnell eingreifen kannst.

Schedule run dialogue

Wie im Screenshot oben konfiguriert, läuft das Notebook nun jeden Tag um 9:30 Uhr lokaler Zeit. Entsprechend wird jeden Morgen eine Nachricht im Slack-Channel #bot-updates gepostet.

Automatisieren oder nicht?

Nicht jede Aufgabe lohnt sich zu automatisieren – es hängt davon ab, wie oft sie anfällt, wie lange die manuelle Ausführung dauert und wie viel Zeit der Bau eines Python-Skripts beansprucht. Ein Beispiel macht das deutlich: Musst du einmal pro Jahr einen Bericht zusammenstellen, der manuell 20 Minuten dauert, und bräuchtest du einen halben Tag, um ihn zu automatisieren, dauert es viele Jahre, bis sich die Investition rechnet!

Diese Tabelle fasst es gut zusammen:

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

Is it worth the time to automate? Source

Wenn eine tägliche Aufgabe bisher 5 Minuten gebraucht hat, kannst du bis zu 6 Tage in die Automatisierung stecken. Verbringst du weniger Zeit damit, hast du (über 5 Jahre gerechnet) Zeit gewonnen.

Fazit

Das anfängliche Setup, um Nachrichten aus DataLab an Slack zu senden, dauert etwas. Aber ist alles korrekt eingerichtet und das Slack-Token in DataLab hinterlegt, ist das Versenden einer Nachricht eine Sache von zwei Zeilen Python – so simpel ist das! Der große Vorteil: Du kannst praktisch jedes Python-Skript automatisieren und deine Stakeholder genau dort informieren, wo sie sind – in Slack.

Schluss mit Erinnerungen, dieselben langweiligen Aufgaben immer wieder zu erledigen. Her mit leistungsstarken, automatisierten Workflows – ganz ohne Tool-Hopping. Alles, was du brauchst, ist love DataLab.

Bring deine Python-Kompetenzen auf das nächste Level mit DataCamps Kurs Intermediate Python. Vertiefe dein Wissen in Datenvisualisierung und fortgeschrittenen Python-Features. Starte jetzt weiter durch!


Filip Schouwenaars's photo
Author
Filip Schouwenaars
LinkedIn

Filip ist der leidenschaftliche Entwickler hinter einigen der beliebtesten Python-, SQL- und R-Kurse von DataCamp. Derzeit leitet Filip die Entwicklung von DataLab, dem KI-fähigen Daten-Notizbuch von DataCamp. Filip hat einen Abschluss in Elektrotechnik und Künstlicher Intelligenz.

Themen
Python

Setze deine Python-Reise heute fort!

Kurs

Python für Fortgeschrittene

4 Std.
1.4M
Erweitere deine Data-Science-Fähigkeiten und lerne, wie du mit Matplotlib Visualisierungen erstellst und DataFrames mit pandas bearbeitest.
Details anzeigenRight Arrow
Kurs Starten
Mehr anzeigenRight Arrow