Vai al contenuto principale

Come inviare messaggi Slack con Python

Segui la nostra guida passo passo su come integrare Slack con Python e sblocca la possibilità di inviare automaticamente messaggi Slack che offrono insight!
Aggiornato 29 set 2026  · 7 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Ogni lavoro ha le sue attività noiose e ripetitive. Che tu sia un agente di supporto che deve riportare i temi ricorrenti nelle richieste di assistenza, un team manager che deve tenere traccia delle metriche di performance o un ingegnere del software che deve controllare i processi aziendali chiave per assicurarsi che tutto sia a posto, queste cose vanno fatte ancora e ancora: mensilmente, settimanalmente, quotidianamente, magari persino ogni ora!

In molti casi, però, puoi automatizzare almeno una parte di questo lavoro ripetitivo. Python può essere un ottimo motore per farlo: è un linguaggio di programmazione general-purpose che lavora bene con (grandi quantità di) dati ed è al tempo stesso facile per scrivere script di automazione. Report sulle metriche di performance? Senza automazione, potresti dover consultare 4 dashboard diversi per recuperare tutti i numeri necessari e poi compilarli in un messaggio per il tuo capo. Con l’automazione, uno script Python estrae tutti i dati che ti servono, seleziona i numeri di riepilogo importanti, li compila e invia questo messaggio senza il tuo intervento. Non è solo comodo: è anche meno soggetto a errori e dimenticanze!

In questo tutorial, vedremo il caso specifico di eseguire codice Python per riportare lo stato di un portafoglio di investimenti e inviarne un riepilogo su Slack, una piattaforma di comunicazione per team ampiamente utilizzata. Copriremo tutti i passaggi necessari per configurare un’app Slack, un programma Python che sfrutta quell’app Slack per inviare messaggi e l’impostazione di una pianificazione affinché il tuo script Python venga eseguito con cadenza regolare. L’esempio specifico riguarda il monitoraggio di un portafoglio di investimenti, ma puoi ovviamente sostituire questa ‘logica di business’ con ciò che vuoi; tutta la configurazione e il codice per inviare il messaggio a Slack resteranno esattamente gli stessi.

In questo tutorial useremo DataLab, perché offre funzionalità integrate per archiviare in modo sicuro i segreti come variabili d’ambiente (una funzionalità che useremo per conservare le credenziali dell’app Slack) e per pianificare l’esecuzione del tuo codice Python con un paio di clic. Per seguire, tutto ciò che ti serve è un account Slack (per pubblicare messaggi) e un account DataCamp (per usare DataLab), entrambi creabili gratuitamente!

Tuffiamoci!

1. Configura un’app Slack

Puoi pensare a un’app Slack come a un’estensione o un componente aggiuntivo di Slack per uno scopo specifico. Esistono app Slack per integrare Google Docs, Jira, Dropbox, Zoom e innumerevoli altri servizi in Slack, così da ricevere notifiche in Slack su ciò che accade, ma anche per eseguire azioni in quelle app direttamente da Slack. Per il nostro progettino, dobbiamo creare anche noi un’app Slack per poter sfruttare l’utente bot che accompagna ogni app Slack e inviare messaggi a Slack.

Per iniziare, assicurati di avere un account Slack, di essere membro di uno spazio di lavoro Slack su cui hai accesso amministratore e di aver effettuato l’accesso con questo account Slack. In caso contrario, vai su slack.com e crea un nuovo account e spazio di lavoro.

Quindi, vai su https://api.slack.com/app, la dashboard delle tue app Slack. Apparirà più o meno così:

dashboard di creazione app in Slack

Fai clic su “Create an App”

finestra di creazione app

Seleziona “From scratch.” Nella schermata successiva, specifica un nome per la tua app, ad esempio “Python Messenger”, e indica lo spazio di lavoro in cui vuoi sviluppare questa app (nel tuo caso, sarà diverso).

Fai clic su Create app. Verrai portato sulla homepage della nuova app, dove puoi configurarne tutte le impostazioni, dalle informazioni di base a chi altro può apportare modifiche a questa app e a tutte le funzionalità. Non farti sopraffare! Ci servirà impostare solo alcune opzioni.

Vai alla scheda “OAuth & Permissions”, scorri fino alla scheda Scopes e, sotto Bot Token Scopes, fai clic su “Add an OAuth Scope” per aggiungere gli ambiti ‘chat:write’, ‘chat:write.customize’, ‘files:read’, ‘files:write’ (dovrai fare clic su “Add an OAuth Scope” quattro volte in totale).

Finestra Scopes

Questi bot token scopes specificano cosa può fare l’utente bot della tua app all’interno del tuo spazio di lavoro Slack. Seguendo il principio del privilegio minimo, invece di dare a questa app accesso a tutti i contenuti e a tutti i permessi possibili, limitiamo l’app alla sola scrittura di messaggi (personalizzati) in chat e al caricamento e download di file (utile se vuoi includere allegati nei messaggi).

Ora puoi scorrere in alto alla sezione “OAuth Tokens for Your Workspace” e fare clic su “Install to Workspace”:

Finestra Oauth e permessi

Nella schermata successiva, che riepiloga gli scopes specificati nei passaggi precedenti, fai clic su Allow.

Vedrai che è stato creato un “Bot User OAuth Token” per te:

Finestra OAuth Token

Avrai bisogno di questo Bot User OAuth Token in una fase successiva, quindi non chiudere la finestra del browser.

Apri Slack e nota che è apparsa una nuova app “Python Messenger” (o come l’hai chiamata) nella tua barra laterale:

L’ultimo passaggio di configurazione riguarda il canale Slack a cui vuoi inviare i messaggi automatici. Crea un nuovo canale chiamato #bot-updates. Nel canale, digita /app e seleziona “Add apps to this channel”:

Aggiunta app a Slack

Accanto a “Python messenger”, fai clic su “Add”. Vedrai che l’app “Python Messenger” è entrata nel canale.

È fatta! Ora il tuo canale Slack è pronto a ricevere messaggi tramite l’app “Python Messenger”, usando il Bot User OAuth Token generato. Nota che, sebbene i passaggi siano diversi, questa è una configurazione una tantum per ogni spazio di lavoro Slack. Se vuoi che più programmi Python inviino allo stesso spazio di lavoro Slack, non dovrai ripetere il processo.

2. Scrivi la logica di business in Python

Ottimo lavoro fin qui! Con l’app Slack configurata, è il momento della parte divertente: scrivere in Python. Partiremo scrivendo un po’ di codice Python per la nostra ‘logica di business’ per risolvere il compito in questione.

Se ti serve un ripasso su come scrivere codice Python, il nostro corso di Introduzione a Python è il posto ideale da cui partire.

Puoi creare un workbook vuoto da zero, utile se sai già quale programma Python vuoi automatizzare e integrare con Slack.

Se sei qui per imparare i concetti, puoi iniziare con un workbook di esempio che abbiamo creato e che traccia il valore di un portafoglio immaginario di titoli tech. Ogni giorno (tranne nei weekend) ci saranno nuovi dati, quindi è un ottimo candidato per un report giornaliero.

Esegui e modifica il codice da questo tutorial online

Esegui codice

In entrambi i casi, dovresti ritrovarti con un workbook DataLab con tutta la tua logica di business già codificata:

Workspace messaggi Slack

3. Invio del messaggio Slack

Quindi, app Slack: ok. Logica di business: ok. Per integrare il notebook Python con Slack, dobbiamo fare due cose: archiviare il token OAuth di Slack nel workbook e scrivere un po’ di codice Python per inviare un messaggio Slack.

Archivia il token OAuth di Slack

Il nostro notebook Python ha bisogno del token OAuth per dimostrare di essere autorizzato a inviare messaggi al tuo spazio di lavoro Slack. Potresti semplicemente copiare e incollare questo token OAuth all’interno di una cella di codice del notebook. Tuttavia, questo non è un approccio sicuro ed è sconsigliato. Se condividi il notebook con qualcun altro, potrà vedere il token OAuth.

Questo approccio, inoltre, ti costringerebbe a ripetere copia e incolla in ogni workbook con cui vuoi inviare messaggi Slack. Se desideri aggiornare questo token OAuth, dovrai passare a modificare ogni singolo workbook.

Un approccio più sicuro e scalabile è archiviare il token OAuth di Slack in una cosiddetta variabile d’ambiente. Quando colleghi questa variabile d’ambiente, sarà disponibile nella tua sessione Python. Nel tuo workbook:

  • Fai clic sulla scheda “Environment” nel lato sinistro
  • Fai clic sull’icona più accanto a “Environment Variables”
  • Nella finestra “Add Environment Variables”:
    • Imposta “Name” su SLACK_TOKEN
    • Nel campo “Value”, incolla il token OAuth ottenuto nel passaggio 1 di questa guida.
    • Imposta “Environment Variables Set Name” su “Slack” (può essere qualsiasi cosa)

Finestra variabili d'ambiente

Dopo aver compilato tutti i campi, fai clic su “Create”, “Next” e infine “Connect”. La tua sessione DataLab si riavvierà e SLACK_TOKEN sarà ora disponibile come variabile d’ambiente nel tuo workbook. Puoi verificarlo creando una cella Python con il seguente codice ed eseguendola:

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

Se vuoi riutilizzare le stesse credenziali dell’account di servizio in un altro workbook, non devi impostare di nuovo la variabile d’ambiente: puoi riutilizzarla negli altri workbook.

Codice Python per inviare il messaggio Slack

Con SLACK_TOKEN pronto all’uso, includi un piccolo snippet in fondo al tuo notebook che invia un messaggio di prova al canale #bot-updates del tuo spazio di lavoro 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"
)

Questo codice usa l’SDK Python ufficiale di Slack. Eseguilo! Dovresti vedere questo messaggio comparire nel tuo spazio di lavoro Slack:

image5.png

Questo era un messaggio di prova senza significato, ma puoi anche creare un messaggio basato sul risultato della tua logica di business, come abbiamo fatto nel workbook di esempio:

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

Con il seguente risultato:

Messaggio di esempio

Infine, puoi anche sfruttare la variabile d’ambiente DL_WORKBOOK_ID per includere un link al tuo workbook, nel caso in cui tu voglia offrire un modo rapido per passare da Slack al workbook DataLab che genera questo messaggio:

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 il seguente risultato:

Un altro messaggio di esempio

4. Automatizza!

Hai scritto uno script Python che fa un’analisi utile e invia un riepilogo di quell’analisi su Slack, con un link al notebook completo nel caso in cui qualcuno voglia approfondire. Fantastico! Ma non sarebbe bello poter configurare questo notebook per l’esecuzione ogni settimana o ogni giorno, così da essere aggiornato automaticamente sui nuovi risultati? La buona notizia è che si può! DataLab supporta le esecuzioni pianificate proprio per questo.

  • Nella barra menu in alto, fai clic su Run > Schedule Run
  • Configura la pianificazione come preferisci:
    • Pianifica l’esecuzione del notebook su base giornaliera o settimanale, con la possibilità di impostare ora e giorno della settimana (nel caso della pianificazione settimanale)
    • Aggiungi gli utenti DataCamp che vuoi vengano avvisati ogni volta che il notebook termina con successo, incontra un errore o entrambi. È una buona idea impostare una notifica in caso di fallimento, così da poter intervenire quando serve.

Finestra di pianificazione esecuzione

Se configurato come nello screenshot sopra, il notebook verrà ora eseguito ogni giorno alle 9:30 ora locale, il che significa che ogni mattina verrà pubblicato un messaggio nel canale #bot-updates su Slack.

Automatizzare o non automatizzare

Non tutte le attività meritano di essere automatizzate, a seconda di quanto spesso devi eseguirle, di quanto tempo richiede farle manualmente e di quanto tempo serve per costruire uno script Python che lo faccia per te. Questo è chiaro con un esempio: supponi di dover compilare un report ogni anno che manualmente richiede 20 minuti. Se per scrivere uno script Python che lo faccia al posto tuo servisse mezza giornata, passerebbero molti anni prima di recuperare il tempo speso per automatizzare il compito!

Questo è riassunto perfettamente in questa tabella:

Vale la pena automatizzare?  Fonte: https://xkcd.com/1205/

Vale la pena automatizzare? Fonte

Quindi, se un’attività che prima dovevi svolgere quotidianamente richiedeva 5 minuti, puoi dedicare fino a 6 giorni a provare ad automatizzarla. Se impieghi meno tempo di così per automatizzare, avrai guadagnato tempo (calcolato su 5 anni).

Conclusione

La configurazione iniziale prima di poter inviare messaggi da DataLab a Slack può richiedere un po’. Tuttavia, una volta che tutto è configurato correttamente e il token Slack è archiviato in DataLab, inviare un messaggio è questione di aggiungere due righe di Python: è semplicissimo! E guarda il lato positivo: ora puoi automatizzare praticamente qualsiasi script Python e avvisare i tuoi stakeholder dove si trovano: su Slack.

Basta con i tempi in cui impostavi promemoria per ripetere le stesse attività noiose all’infinito, benvenuti i tempi di workflow potenti e automatizzati senza dover saltare tra strumenti. Tutto ciò di cui hai bisogno è l'amore DataLab.

Porta le tue competenze in Python al livello successivo con il corso Intermediate Python di DataCamp. Amplia le tue conoscenze nella visualizzazione dei dati e nelle funzionalità avanzate di Python. Continua ora il tuo percorso di apprendimento!


Filip Schouwenaars's photo
Author
Filip Schouwenaars
LinkedIn

Filip è lo sviluppatore appassionato dietro alcuni dei corsi più popolari di Python, SQL e R di DataCamp. Attualmente, Filip guida lo sviluppo di DataLab, il taccuino dati abilitato all’IA di DataCamp. Filip ha conseguito lauree in Ingegneria Elettrica e in Intelligenza Artificiale.

Argomenti
Python

Continua oggi il tuo percorso con Python!

Corso

Python - Livello Intermedio

4 ore
1.4M
Migliora le tue competenze nella scienza dei dati creando visualizzazioni con Matplotlib e manipolando DataFrames con pandas.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

Mostra AltroMostra Altro