Vai al contenuto principale

Come inviare messaggi Microsoft Teams con Python

Segui la nostra guida passo dopo passo su come integrare Microsoft Teams con Python e sblocca la possibilità di inviare automaticamente messaggi su Teams che generano insight a livello aziendale!
Aggiornato 29 set 2026  · 7 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Ogni lavoro include attività ripetitive. Che si tratti di un agente di supporto che analizza le richieste più frequenti, di un team lead che monitora le metriche di performance o di un software engineer che verifica i processi aziendali, queste attività spesso si ripetono: ogni giorno, ogni settimana o persino ogni ora.

Per fortuna, puoi automatizzare gran parte di questo lavoro con Python. È un linguaggio versatile, ottimo per gestire i dati e semplice per creare script di automazione. Immagina di raccogliere le metriche di performance: manualmente, potresti dover consultare diverse dashboard. Con uno script Python, puoi estrarre automaticamente questi dati, evidenziare i punti chiave e inviare un report compilato al tuo capo. Questo non solo fa risparmiare tempo, ma riduce anche il rischio di errori.

In questo tutorial, vedremo il caso specifico di eseguire codice Python per recuperare le previsioni meteo di una località specifica e inviare un riepilogo di queste previsioni a Microsoft Teams, la piattaforma di comunicazione per team di Microsoft. Copriremo tutti i passaggi necessari per configurare un webhook di Teams, un programma Python che sfrutta il webhook per inviare messaggi e l’impostazione di una pianificazione in modo che lo script Python possa essere eseguito regolarmente. Questo esempio riguarda il meteo, ma puoi ovviamente sostituire questa ‘business logic’ con ciò che vuoi; tutta la configurazione e il codice per inviare il messaggio a Teams resteranno esattamente gli stessi.

In questo tutorial useremo DataLab, perché include funzionalità integrate per archiviare in modo sicuro i segreti come variabili d’ambiente (useremo questa funzione per conservare il webhook di Teams) e per pianificare l’esecuzione del tuo codice Python con un paio di clic. Per seguire la guida, ti basta un account Microsoft (per pubblicare i messaggi) e un account DataCamp (per usare DataLab), entrambi creabili gratuitamente!

Puoi anche consultare la nostra guida separata su come inviare messaggi Slack con Python.

Iniziamo!

1. Configura un webhook di Microsoft Teams

In Microsoft Teams ci sono i team, che a loro volta hanno canali. È possibile aggiungere i cosiddetti ‘app’ a questi canali. Puoi considerare un’app di Teams come un’estensione o un add-on di MS Teams con uno scopo specifico. Esistono app per integrare Jira, Zendesk, Salesforce e molte altre in Teams, così puoi ricevere notifiche in Teams su ciò che accade e puoi anche eseguire azioni in quelle app direttamente da Teams. Per il nostro progettino, dovremo installare una di queste app, in particolare l’app “Incoming Webhook”, mantenuta direttamente da Microsoft.

Per iniziare, assicurati di avere un account Microsoft con accesso a Teams. Verifica di essere membro di un team e di avere il permesso di aggiungere app ai canali di quel team. In caso contrario, contatta il reparto IT e invia loro questo link.

Poi vai nel canale del team su cui vuoi pubblicare i messaggi. Nel nostro esempio, è il canale “Generale” all’interno del team “Data Analytics Heroes”:

image14.png

Clicca sul segno + accanto al nome del canale; vedrai una panoramica delle app che puoi aggiungere al canale:

image4.png

Clicca su “Get more apps”. Atterrerai in un vero e proprio marketplace di app che puoi aggiungere a MS Teams:

image15.png

Nella casella di ricerca, digita “Incoming Webhook”. L’app che compare per prima è quella che ci serve:

image10.png

Clicca Add e poi “Add to a team”. Ti verrà chiesto di specificare a quale team o canale vuoi inviare i messaggi:

image13.png

Nell’esempio di questo tutorial è il canale “Generale” del team “Data Analytics Heroes”, ma probabilmente per te sarà diverso. Successivamente, clicca su “Set up a connector”. Apparirà un’altra schermata per alcune impostazioni aggiuntive del webhook.

image3.png

Specifica un nome per l’incoming webhook; i tuoi messaggi verranno inviati con questo nome, quindi scegli qualcosa di sensato, ad esempio “Python Messenger”. Puoi anche caricare un’immagine personalizzata, ma è facoltativo. Infine, clicca su “Create”. Apparirà l’URL del webhook!

image8.png

Ti servirà questo URL del webhook nel tuo programma Python, quindi assicurati di copiarlo negli appunti e salvarlo da qualche parte (ad esempio nella tua app per note) per usarlo in seguito. Infine, clicca su “Done”. Nella schermata successiva vedrai un riepilogo di tutti i connettori nel canale selezionato.

image12.png

Puoi semplicemente chiudere questa schermata. Nel canale per cui hai appena configurato l’incoming webhook dovresti vedere un messaggio corrispondente che conferma la configurazione:

image2.png

È fatta! Ora il tuo canale Microsoft Teams è pronto a ricevere messaggi tramite il webhook.

2. Scrivi la business logic in Python

Ottimo lavoro fin qui! Con l’Incoming Webhook in Teams configurato, è il momento della parte divertente: scrivere in Python. Partiremo scrivendo del codice Python per la nostra ‘business logic’ per risolvere il compito in questione.

Se ti serve un ripasso sulla scrittura di codice Python, il nostro corso Introduzione a Python è il punto di partenza ideale.

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

Se sei qui per imparare i concetti, puoi iniziare con un workbook di esempio che riassume le previsioni meteo per una città a tua scelta. Ogni giorno ci saranno nuovi dati, quindi è un’ottima candidata per un report quotidiano! Clicca il pulsante "Run Code" qui sotto per creare questo workbook.

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 business logic già codificata:

image16.png

3. Invio di un messaggio a Teams

Quindi, webhook di Teams: fatto. Business logic: fatta. Per integrare il notebook Python con Microsoft Teams, dobbiamo fare due cose: archiviare l’URL del webhook nel workbook DataLab e scrivere un po’ di codice Python per inviare un messaggio al canale di Teams.

Archivia l’URL del webhook

Il nostro notebook Python ha bisogno dell’URL del webhook per inviare il messaggio al canale Teams corretto. Potresti semplicemente copiare e incollare questo URL in una cella di codice del notebook. Tuttavia, questo approccio non è sicuro e non è consigliato. L’URL del webhook è una sorta di segreto. Se condividi il tuo notebook con qualcun altro, quella persona può vedere l’URL del webhook e potrebbe fare spam nel tuo canale Teams!

Questo approccio ti costringerebbe anche a ripetere il copia-incolla in ogni workbook con cui vuoi inviare messaggi a Teams. E se per qualche motivo vuoi aggiornare l’URL del webhook, dovrai modificare ogni singolo workbook.

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

  • Clicca sulla scheda “Environment” sul lato sinistro
  • Clicca sull’icona più accanto a “Environment Variables”
  • Nella finestra modale “Add Environment Variables”:
    • Imposta “Name” su MS_TEAMS_WEBHOOK_URL
    • Nel campo “Value”, incolla l’URL del webhook che hai salvato in precedenza.
    • Imposta “Environment Variables Set Name” su “Microsoft Teams” (può essere qualsiasi cosa)

image5.png

Dopo aver compilato tutti i campi, clicca su “Create”, “Next” e infine “Connect”. La sessione del tuo workbook verrà riavviata e MS_TEAMS_WEBHOOK_URL sarà ora disponibile come variabile d’ambiente nel tuo workbook. Puoi verificarlo creando una cella Python con il seguente codice ed eseguendola:

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

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

Codice Python per inviare il messaggio su Microsoft Teams

Con MS_TEAMS_WEBHOOK_URL pronta all’uso, possiamo ora scrivere del codice Python per inviare un messaggio a Teams! Per farlo useremo il pacchetto open-source pymsteams, che offre un comodo wrapper per la piuttosto intricata API di invio messaggi a Teams. Installiamolo e importiamolo, insieme al pacchetto os per leggere le variabili d’ambiente:

!pip install pymsteams
import pymsteams
import os

Poi possiamo creare una cosiddetta ‘connector card’ – un modo elegante per dire un messaggio di testo arricchito in Teams –, aggiungere del testo e inviarla:

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

Esegui questo codice! Dovresti vedere apparire questo messaggio nel canale:

image6.png

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

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

Con il seguente risultato:

image7.png

Infine, puoi anche sfruttare la variabile d’ambiente DL_WORKBOOK_ID per includere un pulsante che rimandi al tuo workbook, nel caso tu voglia offrire un modo semplice per passare da Teams al workbook di DataLab che genera questo messaggio:

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

Con il seguente risultato:

image1.png

Niente male, vero?!

4. Automatizza!

Hai creato uno script Python che esegue un’analisi utile e invia a Teams un riepilogo di questa analisi, includendo un link al notebook completo per chi vuole maggiori dettagli. Fantastico! Ora immagina di poter programmare l’esecuzione automatica di questo notebook, ogni giorno o ogni settimana, mantenendoti costantemente aggiornato con risultati freschi. La buona notizia è che puoi farlo! DataLab offre la funzionalità di esecuzioni pianificate per renderlo possibile.

  • Nella barra del menu in alto, clicca Run > Schedule Run
  • Configura la pianificazione come preferisci:
    • Imposta il notebook perché venga eseguito automaticamente su base giornaliera o settimanale. Per le pianificazioni settimanali, scegli giorno e ora esatti.
    • Aggiungi gli utenti DataCamp che vuoi informare ogni volta che il notebook termina (con successo o con errore). È utile farlo per i fallimenti, così puoi intervenire e correggere quando si verifica un problema.

image9.png

Se configurato come nello screenshot qui sopra, il notebook verrà eseguito ogni giorno alle 9:30 ora locale, il che significa che ogni mattina verrà pubblicato un messaggio nel canale Teams specificato.

Automatizzare o non automatizzare

Non ogni attività è una buona candidata per l’automazione. Dipende da quanto spesso la svolgi, da quanto tempo richiede farla manualmente e dal tempo che servirebbe per scrivere uno script Python per automatizzarla. Per esempio, pensa a un report annuale che richiede 20 minuti per essere compilato a mano. Se ti serve mezza giornata per scrivere uno script per farlo, passeranno molti anni prima di recuperare il tempo speso per l’automazione!

Ecco un riepilogo in forma di tabella:

image11.png

Fonte: XKCD

Quindi se un’attività che dovevi fare ogni giorno richiedeva 5 minuti, puoi permetterti di spendere fino a 6 giorni per provare ad automatizzarla. Se impieghi meno di così per automatizzarla, avrai guadagnato tempo (conteggiato su cinque anni).

Conclusione

Configurare DataLab per inviare messaggi a Microsoft Teams richiede inizialmente di passare attraverso più schermate. Ma una volta impostato tutto con l’URL del webhook in DataLab, inviare un messaggio significa solo aggiungere poche righe di codice Python – è davvero semplice! La parte migliore? Puoi automatizzare quasi qualsiasi script Python e notificare direttamente i tuoi stakeholder esattamente dove si trovano: su Teams.

Sono finiti i tempi dei promemoria per attività ripetitive e noiose. Benvenuta un’era di flussi di lavoro efficienti e automatizzati in cui non devi passare da uno strumento all’altro. Ti basta abbracciare DataLab.

Ricorda: se ti serve un ripasso sulla scrittura di codice Python, il nostro corso Introduzione a Python è il punto di partenza ideale.


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
DataLab

Inizia oggi il tuo percorso con Python!

Corso

Introduzione a Python

4 ore
7.1M
Impara le basi dell’analisi dei dati con Python in sole 4 ore. Questo corso online ti introduce all’interfaccia di Python e ai pacchetti più usati.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

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

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

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