Automatizzare le notifiche tramite bot per messenger rende i flussi di sviluppo più veloci ed efficienti. Ricevi avvisi istantanei quando una build termina, si verifica un errore o un deployment viene completato. Questa guida ti mostra come configurare bot che inviano messaggi automatici tramite webhook sulle piattaforme di messaggistica più diffuse. Hai bisogno di notificare il tuo team sui risultati CI/CD, sugli alert del server o sul completamento di processi? Queste integrazioni lo rendono semplice. Trattiamo solo le piattaforme con un supporto bot diretto e accessibile. Alcuni messenger sicuri danno priorità alla privacy e non supportano l'automazione - questi sono elencati separatamente.
Indice dei contenuti
- Capire l'automazione bot basata su webhook
- Guide all'integrazione di bot per messenger
- Bot webhook Discord
- Bot webhook Slack
- Bot webhook Microsoft Teams
- Bot Telegram
- Bot webhook Mattermost
- Bot Matrix/Element
- Bot WhatsApp Business
- Bot Facebook Messenger
- Messenger senza supporto bot semplice
- Esempio pratico di implementazione
- Conclusione
- Domande frequenti
Capire l'automazione bot basata su webhook
I bot basati su webhook funzionano secondo un principio semplice. La tua applicazione invia una richiesta HTTP POST a un URL. La piattaforma di messaggistica recapita quindi quel contenuto a un canale o a un utente.
Questo approccio si adatta bene a molti scenari di automazione:
- Notifiche di build - Avviso quando una build ha successo o fallisce, con i dettagli dell'errore
- Aggiornamenti di deployment - Notifica al team quando il codice raggiunge lo staging o la produzione
- Alert di monitoraggio - Invio di avvisi sullo stato del server o di notifiche di downtime
- Report pianificati - Consegna di metriche giornaliere o riepiloghi di stato
Il flusso di base si articola in tre passaggi:
- Crea un bot o un URL webhook sulla piattaforma di destinazione
- Configura il tuo strumento di automazione (CI/CD, sistema di monitoraggio o script personalizzato) per inviare richieste HTTP
- Formatta il payload del messaggio in base ai requisiti della piattaforma
La scelta della piattaforma giusta dipende anche dalle sue funzionalità di sicurezza. Per un'analisi approfondita della sicurezza delle piattaforme, consulta la nostra Guida definitiva ai Messenger nel 2026.
Guide all'integrazione di bot per messenger
Di seguito trovi guide passo dopo passo per ogni piattaforma che supporta l'integrazione bot tramite webhook in modo semplice.
Bot webhook Discord
Discord offre una delle configurazioni webhook più semplici in assoluto. Per l'invio base di messaggi non hai bisogno di un'applicazione bot né di token di autenticazione.
Configurazione passo dopo passo
- Apri le impostazioni del server - Fai clic con il tasto destro sul nome del server e seleziona "Impostazioni server"
- Vai alle integrazioni - Clicca su "Integrazioni" nella barra laterale sinistra
- Crea il webhook - Clicca su "Webhook" poi su "Nuovo webhook"
- Configura il webhook - Assegna un nome al webhook (ad es. "Build Bot"), scegli un canale e, facoltativamente, aggiungi un avatar
- Copia l'URL del webhook - Clicca su "Copia URL webhook" e conservalo in modo sicuro
Invio di messaggi tramite webhook
curl -X POST -H "Content-Type: application/json" \
-d '{"content": "✅ Build completata con successo!\n\nProgetto: MyApp\nBranch: main\nDurata: 3m 42s"}' \
https://discord.com/api/webhooks/YOUR_WEBHOOK_ID/YOUR_WEBHOOK_TOKEN
Esempio di embed avanzato per notifiche di errore
curl -X POST -H "Content-Type: application/json" \
-d '{
"embeds": [{
"title": "❌ Build fallita",
"color": 15158332,
"fields": [
{"name": "Progetto", "value": "MyApp", "inline": true},
{"name": "Branch", "value": "feature/login", "inline": true},
{"name": "Errore", "value": "```TypeError: Cannot read property of undefined```"}
],
"timestamp": "2026-01-15T10:30:00.000Z"
}]
}' \
YOUR_WEBHOOK_URL
Documentazione ufficiale: Documentazione webhook Discord
Bot webhook Slack
Slack utilizza gli Incoming Webhook come parte del suo sistema di Slack Apps. Supporta la formattazione avanzata dei messaggi e la selezione flessibile del canale di destinazione.
Configurazione passo dopo passo
- Crea una Slack App - Vai su api.slack.com/apps e clicca su "Create New App"
- Scegli il metodo di creazione - Seleziona "From scratch" e assegna un nome alla tua app (ad es. "CI/CD Notifications")
- Abilita gli Incoming Webhook - Vai su "Incoming Webhooks" nella barra laterale e attivali
- Aggiungi il webhook al workspace - Clicca su "Add New Webhook to Workspace"
- Seleziona il canale - Scegli il canale per le notifiche e clicca su "Allow"
- Copia l'URL del webhook - Il tuo URL webhook univoco apparirà sullo schermo
Invio di messaggi tramite webhook
curl -X POST -H "Content-Type: application/json" \
-d '{"text": "✅ Deployment in produzione completato con successo!"}' \
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXX
Messaggio Block Kit per notifiche dettagliate
curl -X POST -H "Content-Type: application/json" \
-d '{
"blocks": [
{
"type": "header",
"text": {"type": "plain_text", "text": "🚨 Build fallita"}
},
{
"type": "section",
"fields": [
{"type": "mrkdwn", "text": "*Progetto:*\nMyApp"},
{"type": "mrkdwn", "text": "*Branch:*\nmain"},
{"type": "mrkdwn", "text": "*Errore:*\n`Module not found`"}
]
}
]
}' \
YOUR_WEBHOOK_URL
Documentazione ufficiale: Guida agli Incoming Webhook di Slack
Bot webhook Microsoft Teams
Microsoft Teams supporta gli Incoming Webhook per le notifiche nei canali, configurati tramite il sistema dei connettori.
Configurazione passo dopo passo
- Apri le impostazioni del canale - Vai al canale di destinazione e clicca sui tre puntini (•••) accanto al nome del canale
- Seleziona i connettori - Clicca su "Connettori" (oppure su "Gestisci canale" e poi "Connettori" nelle versioni più recenti)
- Trova Incoming Webhook - Cerca "Incoming Webhook" e clicca su "Configura"
- Assegna un nome al webhook - Inserisci un nome (ad es. "Build Alerts") e, facoltativamente, carica un'immagine
- Crea e copia l'URL - Clicca su "Crea" e copia l'URL del webhook
Invio di messaggi tramite webhook
curl -X POST -H "Content-Type: application/json" \
-d '{"text": "✅ Build #1234 completata con successo sul branch main"}' \
YOUR_TEAMS_WEBHOOK_URL
Adaptive Card per notifiche avanzate
curl -X POST -H "Content-Type: application/json" \
-d '{
"type": "message",
"attachments": [{
"contentType": "application/vnd.microsoft.card.adaptive",
"content": {
"type": "AdaptiveCard",
"version": "1.2",
"body": [
{"type": "TextBlock", "size": "Large", "weight": "Bolder", "text": "❌ Build fallita"},
{"type": "FactSet", "facts": [
{"title": "Progetto:", "value": "MyApp"},
{"title": "Errore:", "value": "Compilazione fallita"}
]}
]
}
}]
}' \
YOUR_TEAMS_WEBHOOK_URL
Documentazione ufficiale: Incoming Webhook di Microsoft Teams
Bot Telegram
Telegram mette a disposizione una potente Bot API per inviare messaggi in modo programmatico. Invece di un URL webhook, invii le richieste direttamente all'API di Telegram.
Configurazione passo dopo passo
- Crea il bot tramite BotFather - Apri Telegram e cerca
@BotFather - Avvia un nuovo bot - Invia il comando
/newbot - Assegna un nome al bot - Segui le istruzioni per impostare un nome visualizzato e un nome utente (deve terminare con "bot")
- Salva il token API - BotFather ti fornirà un token simile a
123456789:ABCdefGHIjklMNOpqrsTUVwxyz - Ottieni il chat ID - Aggiungi il bot al tuo gruppo o canale, invia un messaggio, poi visita
https://api.telegram.org/bot<TOKEN>/getUpdatesper trovare il chat ID
Invio di messaggi tramite Bot API
curl -X POST \
"https://api.telegram.org/bot/sendMessage" \
-d "chat_id=" \
-d "text=✅ Build completata con successo!%0A%0AProgetto: MyApp%0ABranch: main" \
-d "parse_mode=HTML"
Messaggio formattato con HTML
curl -X POST \
"https://api.telegram.org/bot/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "",
"text": "❌ Build fallita\n\nProgetto: MyApp\nBranch: main\nErrore: Module not found",
"parse_mode": "HTML"
}'
Documentazione ufficiale: Telegram Bot API
Bot webhook Mattermost
Mattermost è un'alternativa open source a Slack. Offre un solido supporto ai webhook ed è ideale per la comunicazione di team self-hosted.
Configurazione passo dopo passo
- Accedi alle integrazioni - Clicca sul menu hamburger, poi su "Integrazioni"
- Crea un Incoming Webhook - Seleziona "Incoming Webhook" poi "Aggiungi Incoming Webhook"
- Configura il webhook - Imposta un titolo, una descrizione e il canale predefinito
- Salva e copia l'URL - Clicca su "Salva" e copia l'URL del webhook
Invio di messaggi tramite webhook
curl -X POST -H "Content-Type: application/json" \
-d '{"text": "✅ Build completata con successo!"}' \
https://your-mattermost-server.com/hooks/YOUR_WEBHOOK_ID
Messaggio con allegato avanzato
curl -X POST -H "Content-Type: application/json" \
-d '{
"attachments": [{
"fallback": "Build fallita",
"color": "#FF0000",
"title": "❌ Build fallita",
"fields": [
{"short": true, "title": "Progetto", "value": "MyApp"},
{"short": true, "title": "Branch", "value": "main"},
{"short": false, "title": "Errore", "value": "```Module not found```"}
]
}]
}' \
YOUR_WEBHOOK_URL
Documentazione ufficiale: Incoming Webhook di Mattermost
Bot Matrix/Element
Matrix è un protocollo aperto per la comunicazione decentralizzata. Element è il suo client più diffuso. Per integrare un bot si utilizza la Matrix Client-Server API.
Configurazione passo dopo passo
- Crea un account bot - Registra un nuovo account Matrix per il tuo bot sul tuo homeserver o su matrix.org
- Ottieni il token di accesso - Accedi e trova il token di accesso in Element: Impostazioni - Guida e informazioni - Avanzate - Token di accesso
- Ottieni il room ID - Fai entrare il bot nella stanza di destinazione, poi trova il room ID in Impostazioni stanza - Avanzate
- Invita il bot nella stanza - Assicurati che l'account bot abbia aderito alla stanza in cui invierà messaggi
Invio di messaggi tramite Matrix API
curl -X PUT \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"msgtype": "m.text", "body": "✅ Build completata con successo!"}' \
"https://matrix.org/_matrix/client/r0/rooms/YOUR_ROOM_ID/send/m.room.message/$(date +%s)"
Messaggio formattato con HTML
curl -X PUT \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"msgtype": "m.text",
"body": "Build fallita\nProgetto: MyApp\nErrore: Module not found",
"format": "org.matrix.custom.html",
"formatted_body": "❌ Build fallita
Progetto: MyApp
Errore: Module not found
"
}' \
"https://matrix.org/_matrix/client/r0/rooms/YOUR_ROOM_ID/send/m.room.message/$(date +%s)"
Suggerimento: Per uno sviluppo bot su Matrix più rapido, prova a usare librerie come matrix-nio (Python) o matrix-bot-sdk (JavaScript).
Documentazione ufficiale: Specifica Matrix Client-Server API
Bot WhatsApp Business
WhatsApp offre una Business API per la messaggistica automatizzata. Richiede la verifica aziendale ed è più complessa da configurare rispetto alle altre piattaforme.
Configurazione passo dopo passo
- Crea un account Meta Business - Visita business.facebook.com e crea un account aziendale
- Configura WhatsApp Business - Vai su developers.facebook.com, crea un'app e aggiungi il prodotto WhatsApp
- Configura il numero di telefono - Aggiungi un numero di telefono per il tuo bot (sono disponibili numeri di test per lo sviluppo)
- Ottieni il token di accesso - Genera un token di accesso permanente dal pannello di controllo dell'app
- Verifica l'azienda - Completa la verifica aziendale prima di andare in produzione
Invio di messaggi tramite Cloud API
curl -X POST \
"https://graph.facebook.com/v17.0/YOUR_PHONE_NUMBER_ID/messages" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"messaging_product": "whatsapp",
"to": "RECIPIENT_PHONE_NUMBER",
"type": "text",
"text": {"body": "✅ Build completata con successo!"}
}'
Importante: WhatsApp richiede template di messaggi approvati per avviare conversazioni con gli utenti. Puoi inviare messaggi in formato libero solo entro 24 ore da un'interazione dell'utente. Per le notifiche automatiche, crea i tuoi template e falli approvare prima di iniziare.
Documentazione ufficiale: Documentazione WhatsApp Cloud API
Bot Facebook Messenger
I bot di Facebook Messenger richiedono un'app Facebook e una Pagina. I messaggi vengono inviati tramite la Send API.
Configurazione passo dopo passo
- Crea un'app Facebook - Vai su developers.facebook.com e crea una nuova app (scegli il tipo "Business")
- Aggiungi il prodotto Messenger - Nel pannello dell'app, clicca su "Aggiungi prodotto" e seleziona Messenger
- Collega una Pagina Facebook - Associa una Pagina Facebook alla tua app (creane una se necessario)
- Genera il token di accesso alla Pagina - Nelle impostazioni di Messenger, genera un token per la tua Pagina
- Ottieni il PSID - Gli utenti devono prima scrivere alla tua Pagina. Recupera il loro Page-Scoped ID (PSID) dagli eventi webhook
Invio di messaggi tramite Send API
curl -X POST \
"https://graph.facebook.com/v17.0/me/messages" \
-H "Content-Type: application/json" \
-d '{
"recipient": {"id": "USER_PSID"},
"message": {"text": "✅ Build completata con successo!"},
"access_token": "YOUR_PAGE_ACCESS_TOKEN"
}'
Nota: Facebook Messenger ha regole rigide sulla messaggistica automatica. I bot possono inviare messaggi promozionali solo entro 24 ore da un'interazione dell'utente. Per le notifiche al di fuori di questa finestra temporale, richiedi tag di messaggi specifici o utilizza la funzione di notifica una tantum.
Documentazione ufficiale: Documentazione della piattaforma Facebook Messenger
Messenger senza supporto bot semplice
I seguenti messenger danno priorità alla privacy e alla sicurezza. Questo significa che l'integrazione bot tramite webhook non è possibile o non è praticabile:
- Signal - Nessuna Bot API ufficiale. Signal punta sulla cifratura end-to-end ed evita funzionalità di automazione che potrebbero ridurre la sicurezza.
- Session - Un messenger decentralizzato senza infrastruttura bot. Il suo design basato su onion routing rende la messaggistica automatica impraticabile.
- Briar - Un messenger peer-to-peer pensato per attivisti e giornalisti. L'assenza di infrastruttura server non consente il supporto ai webhook.
- Wire - Dispone di alcune funzionalità API enterprise, ma non offre un sistema webhook semplice per notifiche automatizzate.
- Wickr - Orientato all'enterprise, senza Bot API pubblica. L'automazione richiede Wickr Enterprise con integrazione personalizzata.
- SimpleX - Progettato senza identificatori utente, il che rende l'integrazione bot incompatibile con la sua architettura.
- Threema - Offre Threema Gateway per le aziende, ma si tratta di un servizio a pagamento che richiede contratti - non una semplice configurazione webhook.
- Viber - Dispone di una Bot API, ma richiede l'approvazione di un account business ed è pensata per il customer service, non per le notifiche agli sviluppatori.
- LINE - Offre una Messaging API, ma richiede la verifica dell'account business ed è complessa per semplici casi d'uso di notifica.
- WeChat - Dispone di un'API per Account Ufficiali, ma richiede la registrazione aziendale cinese e l'approvazione governativa.
Se preferisci queste piattaforme per comunicazioni sicure, considera di affiancarle a una piattaforma supportata per l'automazione. Puoi anche leggere la nostra guida su come mantenere i messaggi privati davvero al sicuro.
Esempio pratico di implementazione
Ecco un esempio completo in Node.js che invia notifiche di build su più piattaforme contemporaneamente:
const axios = require('axios');
const notifiers = {
discord: async (message, webhookUrl) => {
await axios.post(webhookUrl, { content: message });
},
slack: async (message, webhookUrl) => {
await axios.post(webhookUrl, { text: message });
},
telegram: async (message, token, chatId) => {
await axios.post(`https://api.telegram.org/bot${token}/sendMessage`, {
chat_id: chatId,
text: message,
parse_mode: 'HTML'
});
},
teams: async (message, webhookUrl) => {
await axios.post(webhookUrl, { text: message });
}
};
async function notifyBuildResult(success, project, branch, error = null) {
const emoji = success ? '✅' : '❌';
const status = success ? 'completata con successo' : 'fallita';
let message = `${emoji} Build ${status}\n\nProgetto: ${project}\nBranch: ${branch}`;
if (error) message += `\nErrore: ${error}`;
const notifications = [
notifiers.discord(message, process.env.DISCORD_WEBHOOK),
notifiers.slack(message, process.env.SLACK_WEBHOOK),
notifiers.telegram(message, process.env.TELEGRAM_TOKEN, process.env.TELEGRAM_CHAT_ID),
notifiers.teams(message, process.env.TEAMS_WEBHOOK)
];
await Promise.allSettled(notifications);
}
// Utilizzo nella tua pipeline CI/CD
notifyBuildResult(false, 'MyApp', 'main', 'Module not found: @utils/helper');
Punti chiave:
- Discord, Slack e Mattermost sono i più semplici da configurare - basta creare un URL e usarlo
- Telegram richiede un token bot e un chat ID, ma offre grande affidabilità e opzioni di formattazione
- Microsoft Teams utilizza le Adaptive Card per notifiche avanzate
- Matrix/Element richiede una configurazione più elaborata, ma funziona bene in ambienti self-hosted
- WhatsApp e Facebook Messenger hanno regole e policy di messaggistica più rigide
- I messenger orientati alla privacy non dispongono di Bot API per scelta progettuale, a tutela della sicurezza degli utenti
Conclusione
Configurare notifiche bot tramite webhook sulle piattaforme di messaggistica aggiunge una potente automazione al tuo flusso di sviluppo. Discord e Slack sono i più facili da cui partire - basta un semplice URL webhook. Telegram è affidabile e veloce da configurare. Per i team enterprise, Microsoft Teams e Mattermost si integrano bene con gli strumenti esistenti. Matrix offre un'opzione self-hosted, attenta alla privacy, con accesso completo alle API.
Inizia con una sola piattaforma. Testa il tuo flusso di notifiche. Poi aggiungi altri canali man mano che ne hai bisogno. Gli esempi di codice qui sopra funzionano subito. Il tuo prossimo passo è creare un webhook sulla piattaforma scelta e inviare il tuo primo messaggio automatico - ci vogliono meno di 10 minuti.
Domande frequenti
Discord è il più semplice. Crea un webhook nelle impostazioni del canale e ottieni subito un URL a cui inviare messaggi tramite POST. Nessun token, nessuna creazione di app, nessuna verifica richiesta. Anche Slack è semplice, ma devi prima creare una Slack App.
No. I messenger orientati alla privacy come Signal, Session, Briar e SimpleX non dispongono di Bot API. Si tratta di una scelta deliberata per proteggere la privacy degli utenti. Queste piattaforme puntano sulla cifratura end-to-end e sulla raccolta minima di dati, caratteristiche non compatibili con la messaggistica automatizzata. Per le notifiche, usa una piattaforma supportata accanto al tuo messenger sicuro per le conversazioni private.
Sì, tratta gli URL webhook come password. Chiunque abbia l'URL può inviare messaggi al tuo canale. Conservali nelle variabili d'ambiente, non eseguire mai il commit nel controllo di versione e rigenerali se vengono esposti. Alcune piattaforme come Slack ti permettono di creare un nuovo URL webhook in caso di necessità.
I webhook sono unidirezionali. Invii un messaggio a un URL e questo appare in un canale. Le Bot API funzionano in entrambe le direzioni: puoi inviare messaggi e anche ricevere e rispondere ai messaggi degli utenti. Per notifiche semplici come alert di build o monitoraggio, i webhook sono sufficienti. Per bot che rispondono ai comandi degli utenti, hai bisogno della Bot API completa con un endpoint webhook sul tuo server.
La maggior parte delle piattaforme applica rate limit. Discord consente 30 messaggi al minuto per webhook. Slack ha limiti simili. Usa una coda di messaggi con backoff esponenziale per i retry. Per volumi elevati, raggruppa più eventi in un unico messaggio o utilizza le API batch specifiche della piattaforma dove disponibili.