Slack, Teams e webhook
Oltre alla posta, gli eventi possono arrivare dove la squadra guarda davvero: un canale Slack, un canale Microsoft Teams, o un tuo sistema attraverso un webhook firmato. Si configurano da Area utente › Avvisi e sono un’operazione da amministratore.
I canali
| Canale | Che cosa serve | Formato |
|---|---|---|
| Slack | Un incoming webhook dello spazio di lavoro. | Messaggio con titolo in grassetto, testo e collegamento al case. |
| Microsoft Teams | Un connettore incoming webhook del canale. | Scheda con titolo, testo e collegamento. |
| Webhook generico | Un tuo endpoint HTTPS. | JSON con event, title, text, link, firmato in HMAC. |
Quali eventi inviare
Gli eventi si attivano singolarmente: nuova segnalazione, esito del triage, scadenza in avvicinamento. Attiva solo ciò che richiede un’azione — un canale che suona per ogni cosa smette di essere letto dopo una settimana.
Buona pratica. Un canale dedicato (per esempio #cra-notify) con le sole nuove segnalazioni e le scadenze, e nessuno degli eventi informativi. Chi presidia i termini deve poter distinguere a colpo d’occhio ciò che è urgente.
Il webhook firmato
Il webhook generico invia un POST JSON con l’intestazione:
X-CRA-Signature: sha256=<HMAC-SHA256 del corpo, in esadecimale>
Il segreto è generato per la tua organizzazione ed è visibile nella schermata degli avvisi. Il ricevente deve:
- leggere il corpo grezzo, prima di qualunque deserializzazione;
- calcolare l’HMAC-SHA256 con il segreto condiviso;
- confrontarlo con l’intestazione usando un confronto a tempo costante;
- rifiutare la richiesta se non coincide.
// esempio in Go
mac := hmac.New(sha256.New, []byte(segreto))
mac.Write(corpoGrezzo)
atteso := "sha256=" + hex.EncodeToString(mac.Sum(nil))
if !hmac.Equal([]byte(atteso), []byte(r.Header.Get("X-CRA-Signature"))) {
http.Error(w, "firma non valida", http.StatusUnauthorized)
return
}
Senza verifica della firma il tuo endpoint accetta qualunque messaggio da chiunque ne conosca l’indirizzo. Se il segreto è stato esposto, rigeneralo dalla schermata degli avvisi e aggiorna il ricevente.
Messaggio di prova
La schermata invia un messaggio di prova a tutti i canali attivi e registra l’esito di ciascuno nel registro delle attività («ok» oppure l’errore restituito). È il modo rapido per distinguere fra un indirizzo sbagliato, un connettore disattivato dallo spazio di lavoro e un problema di rete.
Limiti e comportamento
- Ogni invio ha un tempo massimo di attesa breve: un canale lento non rallenta il flusso di lavoro.
- Un canale che risponde con un errore viene registrato come fallito, ma non blocca gli altri canali né la posta elettronica.
- Questi canali sono un duplicato comodo, non il canale probatorio: le prove restano il registro e le email operative.
Che cosa viene inviato
Il messaggio contiene il titolo dell’evento, poche righe descrittive (prodotto e identificativo del case) e il collegamento al case. Non contiene il testo integrale della segnalazione né gli allegati: chi non ha accesso all’applicazione non ottiene informazioni riservate dal solo canale di chat.